summaryrefslogtreecommitdiff
path: root/mesh/crypto.c
Commit message (Collapse)AuthorAgeFilesLines
* mesh: Remove unused byte swap for ScanBuildBrian Gix2023-01-301-7/+0
|
* mesh: Fix Checksmatch warningBrian Gix2023-01-301-1/+1
|
* mesh: Rename parameter list per crypto usageBrian Gix2023-01-301-2/+2
| | | | | The derived key generated by the "nkpk" salt and network master key is used to create Private Beacons as of Mesh Profile Specification v1.1
* mesh: use explicit uint32_t when bit shifting leftInga Stotland2022-03-311-1/+4
| | | | | | | | | This addresses a situation when a boolean type is represented by an integer and performing a left shift on a boolean causes an integer overflow. This fixes the following runtime error: "left shift of 1 by 31 places cannot be represented in type 'int'"
* 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 using uninitialized bytesBrian Gix2020-05-221-0/+1
| | | | Fixes two problems found with static analysis
* mesh: Fix GCC 10.0 warningsBrian Gix2020-04-181-1/+1
|
* mesh: Remove redundant code from mesh/cryptoMichał Lowas-Rzechonek2020-04-071-296/+185
| | | | | | | | | | - Remove application_encrypt/application_decrypt - Make mesh_crypto_privacy_counter private, add mesh_crypto_pecb - Make *_nonce functions private and align their implementation to be more consistent - Refactor network_encrypt/network_decrypt to use *_nonce functions and rename them to packet_encrypt/packet_decrypt - Refactor packet_encode/packet_decode
* mesh: Sequence number related fixesJakub Witowski2020-01-161-0/+3
|
* mesh: Friendship clean-up and rewriteBrian Gix2019-11-281-2/+2
| | | | | | | Friendship support re-written such that it can now support multiple nodes (on multiple mesh networks) as friends to remote Low Power Nodes (LPNs). Validated to properly respond to Friend Requests when enabled, and a hard coded Friend Queue size of 32 (FRND_CACHE_MAX).
* mesh: Remove unused definesMichał Lowas-Rzechonek2019-10-031-10/+0
|
* mesh: test AEAD at startup to check kernel supportBrian Gix2019-09-011-0/+54
| | | | | | | One time test at startup to ensure either kernel version v4.9 or later, *or* that required AES-CCM support has been back-ported. If support not there, daemon will run without providing D-Bus service or attaching to controllers (prevents systemd thrashing).
* mesh: Move commonly used constants into mesh-defs.hInga Stotland2019-08-121-5/+4
| | | | | | | | This consolidates definitions of commonly used constant values into a single header file. The constant values are based on mesh specification, plus a few internal utility constants (masks, etc.) Also, removes redundant redefinition maximum message length.
* mesh: Normalize Access Key AID naming conventionBrian Gix2019-07-181-19/+18
|
* mesh: Convert provisioning pkts to packed structsBrian Gix2019-07-141-4/+4
| | | | | | 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: Convert crypto to use ELL wrappersBrian Gix2019-05-311-464/+54
| | | | | Use ELL implementations of aead-ccm(aes), ecb(aes) and cmac(aes). These standard encryption and hashing routines are provided by ELL.
* mesh: Remove unnecessary includes from .c filesInga Stotland2019-05-171-2/+0
|
* mesh: Update copyright datesInga Stotland2019-05-171-1/+1
|
* mesh: Fix Relaying for multiple nodesBrian Gix2019-01-221-4/+4
| | | | | | | Relay is now a cooperation between all the nodes on the daemon. If any one or more nodes have relay enabled and a received packet is addressed to a Group, or a non-present Unicast address, then the packet's TTL is decremented and it is resent.
* build: Move declaration of _GNU_SOURCE back into individual source filesMarcel Holtmann2018-12-061-0/+1
|
* mesh: Mesh crypto supportBrian Gix2018-08-201-0/+1545
|
* tools: Move meshctl sources under tools/mesh directoryInga Stotland2018-07-061-1168/+0
| | | | This is a temporary location until the unified mesh solution is provided
* mesh: Fix includes to use root relative path namesMarcel Holtmann2017-08-211-2/+2
|
* mesh: Baseline Mesh implementationBrian Gix2017-08-211-0/+1168