Wessel Nieboer
4abc32577f
Add minimum payload_len check for TRACE packet parsing
The TRACE handler reads 9 bytes (trace_tag, auth_code, flags) from the
payload before any length validation. A short TRACE packet causes reads
of stale buffer data and an underflow in the remaining-length
calculation (uint8_t len = payload_len - 9 wraps to ~247).
Add payload_len >= 9 to the existing guard condition so undersized
TRACE packets are silently dropped.
4 months ago
Scott Powell
f6e6fdaa05
* support for sending 5-byte ACKs
4 weeks ago
Scott Powell
3e76161e9c
* refactor of Contact/Client out_path_len (stored in files), from signed to unsigned byte (+2 squashed commits)
Squashed commits:
[f326e25] * misc
[fa5152e] * new 'path mode' parsing in Dispatcher
4 months ago
Scott Powell
90d1e87ba1
* check for 'early receive' ACK
6 months ago
Scott Powell
b33d226c58
* proposal for 'Extended Trace' packets. Using 'flags' byte, lower 2 bits, for path hash size.
7 months ago
Scott Powell
82b4c1e6b0
* new PAYLOAD_TYPE_CONTROL (11)
* repeater: onControlDataRecv(), now responds to new CTL_TYPE_NODE_DISCOVER_REQ (zero hop only)
* node prefs: new discovery_mod_timestamp (will be set to affect when node should respond to DISCOVERY_REQ's )
7 months ago
Scott Powell
9ebeb477aa
* RegionMap: inverted 'flags' to _deny_ bits
* Mesh: new filterRecvFloodPacket() for overriding
* repeater CLI: 'allow' -> 'allowf' or 'denyf'
7 months ago
Scott Powell
d9ff3a4d02
* Mesh: new sendFlood() overload with transport codes.
* BaseChatMesh: sendFloodScoped(), for overriding with some outbound 'scope' / TransportKey
* companion: new 'send_scope' variable.
7 months ago
Scott Powell
7755400a35
* Companion: Now using transport codes { 0, 0 } when Share contact zero hop.
* Repeater: onAdvertRecv(), adverts via Share now NOT added to neighbours table
8 months ago
Scott Powell
7abe6c9693
* Upping max channel hash conflicts to 4 (was 2)
8 months ago
Scott Powell
6bc8dd28d4
* CommonCLI: new "multi.acks" config setting
11 months ago
Scott Powell
810b1f8fe7
* Mesh::onAnonDataRecv() slight optimisation, so that shared-secret calc doesn't need to be repeated
* SensporMesh: req_type now optionally encoded in anon_req payload (so can send various requests without a prior login)
11 months ago
Scott Powell
3dc4607d89
* PAYLOAD_TYPE_PATH: reserving upper 4 bits if 'extra_type' field, for future use
12 months ago
Scott Powell
b1ca3d1eb1
* new PAYLOAD_TYPE_MULTIPART
* experimental double ACK's (at each hop), sent 300ms apart (direct mode only)
12 months ago
Scott Powell
0535919d63
* Mesh: reciprocal path send now with slightly less priority and 500ms delay
1 year ago
Scott Powell
a155587b7f
* possible bug when forwarding direct mode packets
1 year ago
Scott Powell
ab8cd85d8e
* added Packet::getRawLength() helper
1 year ago
Scott Powell
089ac96f2b
* verify() fix moved to Identity class
1 year ago
Scott Powell
4943b388c0
* workaround for Identity::verify() bug.
1 year ago
Scott Powell
69a6d76b87
* experimental workaround for sig verify() bug
1 year ago
Scott Powell
fe4fdeb236
* redesigned TRACE packet structure
1 year ago
Scott Powell
189ed79d46
* new Dispatcher::getCADFailRetryDelay()
1 year ago
Scott Powell
c4cc3dd1ec
* repeater and room server: login password now using strcmp(), new 'set direct.txdelay ..' config
1 year ago
Scott Powell
274bd6ddbf
* new PAYLOAD_TYPE_RAW_CUSTOM
1 year ago
Scott Powell
e65c3e3240
* MESH_DEBUG_PRINTLN fixes
1 year ago
Scott Powell
fc02d8fbcb
* Mesh/Dispatcher: MESH_DEBUG_ and MESH_PACKET_LOGGING now output date-time. (new getLogDateTime() virtual)
* MESH_PACKET_LOGGING now parity with dynamic/file logging (src/dest hashes)
1 year ago
Scott Powell
0db15db625
* new Packet type: PAYLOAD_TYPE_TRACE
1 year ago
Scott Powell
33bee48d38
* Terminal Chat: new commands "card" and "import"
1 year ago
Scott Powell
22e87836db
* Mesh.cpp: optimisation to not retransmit packets handled by this node
* simple_repeater: now supports a remote CLI
1 year ago
Scott Powell
96724cd26a
* onPeerPathRecv() refactored: 'reciprocal path' now handled in Mesh class, not in application layer
1 year ago
Scott Powell
ec92bfa6b1
* Refactor: Mesh::onPeer ... methods added 'secret' param. (is whatever getPeerSharedSecret() returned)
1 year ago
Scott Powell
a05b951018
* removed unused Destination class
1 year ago
Scott Powell
20fccac2b7
* refactored the hasSeen(Packet) stuff.
1 year ago
Scott Powell
8983584dd8
* added getTransmitDelay(), applied to Flood mode retransmissions.
1 year ago
Scott Powell
d06532d6f1
* simple_secure_chat: bug fixes
1 year ago
Scott Powell
d291c6d31e
* zeroing of path_len now in sendFlood()
1 year ago
Scott Powell
2faff914f6
* separated PAYLOAD_TYPE_ANON_REQ, to new createAnonDatagram(), with extra 'sender' param. So, caller can use 'self_id' or ephemeral key
1 year ago
Scott Powell
6c7efdd0f6
Initial commit
1 year ago