summaryrefslogtreecommitdiff
path: root/mesh/prov-acceptor.c
Commit message (Collapse)AuthorAgeFilesLines
* mesh: Add Remote ProvisioningBrian Gix2023-01-301-34/+53
| | | | | | | | Add Remote Provisioning Server Add Remote Provisioning Client Remove local scanning/provisioning Add delete-all dev key function Add NPPI procedures
* mesh: provisionee: Check prov start parametersIsak Westin2022-10-061-11/+46
| | | | | Verify that all parameters in a Provisioning Start PDU are valid, also compared to the capabilities that has been sent.
* mesh: provisionee: Handle failed provisioningIsak Westin2022-10-061-1/+6
| | | | | | When a provisioning fails, all additionally received PDU should be unexpected until link is closed by provisioner. See MshPRFv1.0.1 section 5.4.4.
* mesh: provisionee: Handle unknown PDUsIsak Westin2022-10-061-2/+7
| | | | | If an unknown PDU is received during provisioning, the provisioning should fail with "Invalid PDU".
* mesh: Add single threading to prov-acp ob messagingBrian Gix2021-05-191-33/+55
| | | | | | | | Certain IOP and stress testing scenarios can cause additional outbound messages to be attempted before the prior outbound message completes. This patch adds queuing if outbpund messages are attempted too quickly so that the additional message is not sent until the prior message is ACKed.
* mesh: Normalize endian of public/private ECC keysBrian Gix2021-05-191-1/+7
| | | | | | | | | | 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-2/+11
| | | | | Validate generated and received confirmation data is unique during provisioning.
* mesh: Validate OTA provision security materialBrian Gix2021-03-091-0/+11
| | | | | 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: Fix memory leak on provisioning timeoutBrian Gix2020-07-231-0/+1
| | | | | If the Provision Acceptor times out without completing successfully, the timer it was using was never freed.
* mesh: Handle close for AcceptorPrathyusha N2020-03-251-1/+12
| | | | | | | Provision complete callback is handled in provision failure case. If link closed received abruptly with reason success, triggered provision complete callback. Removed session timeout and session free as they are handled in pb_adv_unreg.
* mesh: Whitespace correctionBrian Gix2020-03-251-2/+1
|
* mesh: Send input complete for input OOB AuthenticationPrathyusha N2020-03-251-0/+6
| | | | Send input complete when user completes input operation.
* mesh: Handle invalid public keysPrathyusha N2020-03-251-12/+26
| | | | Check for invalid public keys received and send provision failed.
* mesh: Fix to send close indication on timeoutPrathyusha N2019-12-041-0/+1
| | | | | | If pb_session is freed in timeout, close indication will not be sent. pb_session is freed in pb_adv_unreg() and hence removed from tx_timeout. Added acceptor_free() in acp_prov_close() to ensure pb_session is freed.
* mesh: Fix inOOB and outOOB agent handling on prov initiateBrian Gix2019-11-191-1/+1
| | | | | | | | | 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: Convert provisioning pkts to packed structsBrian Gix2019-07-141-71/+85
| | | | | | 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 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-4/+1
| | | | PB-ADV always used for provisioning, so must always be cleaned up.
* mesh: Clean up when finishing the Join callInga Stotland2019-01-141-2/+3
| | | | | | | | Consolidate multiple instances where the pending Join data is freed into calling one function free_pending_join_call(). Also, add checks for NULL data in cleanup functions for storage, agent and provisioning acceptor.
* mesh: Implement provisioning acceptorBrian Gix2019-01-081-0/+684
This implements acceptor side of the provisioning procedure when an unprovisioned device is brought into an existing mesh network by a remote Provisioner. Upon the successful completion of the procedure the device becomes a participating mesh node in thie network.