summaryrefslogtreecommitdiff
path: root/mesh/prov-initiator.c
Commit message (Collapse)AuthorAgeFilesLines
* mesh: Add Remote ProvisioningBrian Gix2023-01-301-16/+253
| | | | | | | | Add Remote Provisioning Server Add Remote Provisioning Client Remove local scanning/provisioning Add delete-all dev key function Add NPPI procedures
* mesh: Normalize endian of public/private ECC keysBrian Gix2021-05-191-0/+3
| | | | | | | | | | The Mesh profile specification defines a Mesh byte order of Big Endian for Public keys used to calculate shared secrets. Further the specification sample data also show this same byte order for Private keys. However, our internal ECDH shared secret calculation requires Little Endian byte ordering. This fixes our DBus interface, and debugging output to use Mesh Byte Ordering (Big Endian) for all human readable input/output.
* mesh: Add Provisioning Confirmation validity checkBrian Gix2021-04-091-0/+8
| | | | | Validate generated and received confirmation data is unique during provisioning.
* mesh: Validate OTA provision security materialBrian Gix2021-03-091-0/+10
| | | | | When validating incoming security material, ensure that the data is unique to the provisioning session.
* mesh: Add SPDX License IdentifierTedd Ho-Jeong An2020-09-211-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds SPDX License Identifier and removes the license text. ------------------------------------- License COUNT ------------------------------------- LGPL-2.1-or-later : 48 License: LGPL-2.1-or-later mesh/mesh-mgmt.h mesh/mesh-mgmt.c mesh/net-keys.c mesh/mesh-io-api.h mesh/mesh.h mesh/net-keys.h mesh/model.h mesh/util.h mesh/appkey.c mesh/cfgmod.h mesh/appkey.h mesh/prov.h mesh/prov-acceptor.c mesh/net.c mesh/dbus.h mesh/friend.h mesh/mesh-io-generic.c mesh/main.c mesh/util.c mesh/dbus.c mesh/error.h mesh/mesh-config-json.c mesh/agent.h mesh/pb-adv.c mesh/crypto.c mesh/crypto.h mesh/friend.c mesh/pb-adv.h mesh/provision.h mesh/mesh-config.h mesh/mesh-io-generic.h mesh/agent.c mesh/cfgmod-server.c mesh/mesh-io.h mesh/keyring.h mesh/net.h mesh/keyring.c mesh/mesh-defs.h mesh/mesh.c mesh/rpl.c mesh/manager.c mesh/model.c mesh/mesh-io.c mesh/node.c mesh/prov-initiator.c mesh/rpl.h mesh/node.h mesh/manager.h
* mesh: Debug output clean upInga Stotland2020-06-011-1/+1
| | | | | This changes l_info() to l_debug() for recurring cases and removes some excessive debug output.
* mesh: Honor provisioner's capabilitiesMichał Lowas-Rzechonek2020-04-011-31/+51
| | | | | | This patch makes the daemon select authentication method based from capabilities supported by both provisioned node and provisioner application.
* mesh: Refresh provisioner's capabilitiesMichał Lowas-Rzechonek2020-04-011-10/+37
| | | | | | As provisioner's capabilities might change during application lifetime (e.g. no network link to download OOB key), let's query the agent again after application calls AddNode().
* mesh: Clean up naming of provisioning callbacksMichał Lowas-Rzechonek2020-04-011-9/+9
|
* mesh: Remove unused 'server' argumentMichał Lowas-Rzechonek2020-04-011-1/+0
|
* mesh: Handle publickey exchange phase for initiatorPrathyusha N2020-01-251-95/+133
| | | | | | | | In Public Key OOB case, when provisioner receives public key via OOB, provisioner has to send it's public key to remote node and and then proceed for authentication. Handle invalid keys case.
* mesh: Fix inOOB and outOOB agent handling on prov initiateBrian Gix2019-11-191-11/+60
| | | | | | | | | This code fixes the Provisioner Initiator role so that the following Out-of-Band agent calls are made correctly, and their results handled properly: "push", "twist", "blink", "beep", "vibrate", "in-numeric", "out-numeric", "in-alpha", "out-alpha"
* mesh: Add provisioner confirmationInga Stotland2019-10-161-16/+20
| | | | | This adds codes to send a confirmationfrom provisioner's side after receiving a callback from a provisioning agent.
* mesh: Convert provisioning pkts to packed structsBrian Gix2019-07-141-47/+47
| | | | | | Provisioning packets are defined in the specification as packed big endian structures. Instead of specifying an octet array, we now use struct matching the spec.
* mesh: Fix implementation of Provisioner InitiatorBrian Gix2019-07-141-56/+195
| | | | | This has had testing of baseline functionality that includes OOB authentication type "3c" from BT Mesh v1.0 specification
* mesh: Fix support for Provisioner InitiatorBrian Gix2019-07-141-1/+1
|
* mesh: Remove unnecessary includes from .c filesInga Stotland2019-05-171-15/+1
|
* mesh: Update copyright datesInga Stotland2019-05-171-1/+1
|
* mesh: Fix for file naming conventionBrian Gix2019-02-211-1/+1
|
* mesh: Cleanup PB-ADV transport on Prov CloseBrian Gix2019-01-141-0/+2
| | | | PB-ADV always used for provisioning, so must always be cleaned up.
* mesh: Implement provisioning initiator sideBrian Gix2019-01-081-0/+641
This functionaility (originally found in provision.c) was rewritten as the Initiator side only of the provisioning procedure. If the local device owns and controls access to a mesh network, this is the side of the provisioning procedure that it must use to bring new unprovisioned devices into the network as Nodes.