Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp208591pxb; Wed, 22 Sep 2021 20:29:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxqfla1jM1xhstEGXV7VeMcdOnARSO0p2top8gRaT11ciJyAlkTRN1W++EqrUIRJQz5i8B4 X-Received: by 2002:a17:906:3f95:: with SMTP id b21mr2659396ejj.368.1632367759808; Wed, 22 Sep 2021 20:29:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632367759; cv=none; d=google.com; s=arc-20160816; b=pLWlBmp7lvkim0/mT6IL3krd5xUmrISBl8Y5HDIbQ0xF+lJwp/nqZi6LrPNlq6N7NP Fzw4ZBH+Uh4HcaGXXj9WgBxz9Xa/yysvE3ZJSXuoi2Tm8vSCfHRc1uMv0u3gDQ2PTWvk ASWz0WyX9LePHyBpm8kDcOivaCvxqVli4KKAEAuCrAkhdgWpYCMTbQmvF9VFun7OcWls FH8Hb+5DD2zVVkQCM+yAKAWhP2kStdBNWGHXCadFVEWEX734FWmcUjdoa7Tb6XVsK5qh rYYbSJk0sJHmWZRiNFoMGjnyRnLv65FDpOOXRJd1sis12E49KmvI8OLUm5W0/vSC4vaH SDtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=ftQ5f0jOEWCl1+fjiEqJ9r2kyEK+Ic/H7JEqaHEmhuM=; b=qlJk3DRlXOiL/hLqpRBoVTfd6WH39UIsOwC8D9mEhyH5P8lPzyno0ApVN1Zn+xY0hY Oqj3VcoENwRjtKe/pMuRSVVJQF9fvfoHlxPGi0afkqK52c2J1ong4mJe93HYjeIlhT95 P7jadxADg4KxsSYhadmCjfWtM/94B+YUgsfPYxvg0pYPnuadiYazEiPOdwQZHuMBlND8 8I70rEJwF97R1eY70yxLljY2dVusdCyLVvgSBegA8eKBeLe7uFXUg8vR8JIBFULGO+BD RA0rnEDvkDZTPnHLD+t4Xmz5JNClXRw/k0/RDIMMNujdH6iAMeMhNTBpZtEAgPi9bXtU zkNA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j16si4808422edr.114.2021.09.22.20.28.40; Wed, 22 Sep 2021 20:29:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239036AbhIWD2k (ORCPT + 99 others); Wed, 22 Sep 2021 23:28:40 -0400 Received: from mga11.intel.com ([192.55.52.93]:16373 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235623AbhIWD2k (ORCPT ); Wed, 22 Sep 2021 23:28:40 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10115"; a="220555887" X-IronPort-AV: E=Sophos;i="5.85,315,1624345200"; d="scan'208";a="220555887" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2021 20:26:48 -0700 X-IronPort-AV: E=Sophos;i="5.85,315,1624345200"; d="scan'208";a="534072311" Received: from jdudwadk-mobl.amr.corp.intel.com (HELO istotlan-desk.intel.com) ([10.212.205.211]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2021 20:26:47 -0700 From: Inga Stotland To: linux-bluetooth@vger.kernel.org Cc: brian.gix@intel.com, Inga Stotland Subject: [PATCH BlueZ 00/20] Mesh Configuration Database Date: Wed, 22 Sep 2021 20:25:43 -0700 Message-Id: <20210923032603.50536-1-inga.stotland@intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org This patch set (I apologize for its size, but this cannot be helped) implements support for the newly published Mesh Configuration Database Profile. The changes are mostly contained to tools/mesh-cfgclient.c and tools/mesh subdirectory. The only exception is the introduction of a new D-Bus mesh API method ExportKeys() on org.bluez.mesh.Management1 interface. The new functionality allows to export a snapshot of mesh state from the point of view of mesh provisioner/configuration manager in a standard format that can be used for to transferring the "ownership" of the mesh configuration to another provisioner/configuration manager. The changes break backwards compatibility with for the previous versions of config-db.json that were generated when using mesh-cfgclient tool. This can be amended by manually correcting the field names and property values. Inga Stotland (20): tools/mesh-cfgclient: Save provisioner info tools/mesh-cfgclient: Add timestamp to config database tools/mesh-cfgclient: Update stored NetKey and AppKey tools/mesh-cfgclient: Keep track of updated keys tools/mesh: Add new info to stored remote nodes tools/mesh-cfgclient: Overwrite config values when adding new ones tools/mesh-cfgclient: Store remote node's model bindings tools/mesh-cfgclient: Store remote node's model subs tools/mesh-cfgclient: Disallow model commands w/o composition tools/mesh-cfgclient: Store remote's model publication info tools/mesh-cfgclient: Check the result of config save tools/mesh-cfgclient: Rename mesh-db APIs for consistency tools/mesh-cfgclient: Save remote node feature setting tools/mesh-cfgclient: Store remote's heartbeat sub/pub tools/mesh-cfgclient: Add group parent address for DB compliance doc/mesh-api: Add ExportKeys call mesh: Implement ExportKeys() method tools/mesh-cfgclient: Store UUIDs in standard format tools/mesh-cfgclient: Excluded addresses property tools/mesh-cfgclient: Export configuration database doc/mesh-api.txt | 56 ++ mesh/keyring.c | 286 ++++++++- mesh/keyring.h | 2 + mesh/manager.c | 35 ++ tools/mesh-cfgclient.c | 212 ++++++- tools/mesh/cfgcli.c | 284 ++++++--- tools/mesh/keys.c | 4 +- tools/mesh/mesh-db.c | 1260 +++++++++++++++++++++++++++++++++++++--- tools/mesh/mesh-db.h | 66 ++- tools/mesh/model.h | 13 +- tools/mesh/remote.c | 205 +++++-- tools/mesh/remote.h | 11 +- 12 files changed, 2206 insertions(+), 228 deletions(-) -- 2.31.1