Bryan Biedenkapp
|
a5bebe87f8
|
refactor how TrafficNetwork and MetadataNetwork handle packet NET_FUNC opcodes;
|
3 months ago |
Bryan Biedenkapp
|
f0f35b59c9
|
refactor how MetadataNetwork handles the packet buffer maps, this should hopefully correct instability;
|
3 months ago |
Bryan Biedenkapp
|
aea826fcbf
|
minor jitter buffer alteration to properly drop the oldest frame vs the last frame;
|
4 months ago |
Bryan Biedenkapp
|
8b96163d6e
|
cleanup call states better when receiving illegal terminators (this should not happen normally unless you have very unstable internet that corrupts frames, but the hardening is better then not);
|
4 months ago |
Bryan Biedenkapp
|
82f0c0c375
|
implement support to encrypt any TEK data with a preshared key;
|
4 months ago |
Bryan Biedenkapp
|
7c5df8abed
|
add possible protective controls around RPTL/RPTK/RPTC/RPT_DISC to mitigate multi-threaded race condition from rapid disconnect/connection scenarios;
|
4 months ago |
Bryan Biedenkapp
|
a7c7c3f330
|
correct possible null reference during disconnectPeer callback;
|
4 months ago |
Bryan Biedenkapp
|
c76b417082
|
correct some minor NXDN issues;
|
4 months ago |
Bryan Biedenkapp
|
689243e099
|
source code organization and cleanup;
|
4 months ago |
Bryan Biedenkapp
|
2d5e307fd8
|
disable frameQueue debug;
|
4 months ago |
Bryan Biedenkapp
|
8784e06e3b
|
EXPERIMENTAL: implement new stream rejection logic when a call collision occurs, this is smarter then the existing logic in that a stream will fail processing validation and be rejected once identified as a collider;
|
5 months ago |
Bryan Biedenkapp
|
efedd6a53c
|
disable accidentally enabled debug trace;
|
5 months ago |
Bryan Biedenkapp
|
5e3524dfef
|
updates to various PDU handling functionality;
|
5 months ago |
Bryan Biedenkapp
|
e983b1a812
|
correct OTAR UDP encrypted detect (was looking at the wrong field); fix DLD ACK to post-valiation;
|
5 months ago |
Bryan Biedenkapp
|
6284f05386
|
make strapping check ICCs system requests so they are always actively sent; remove debug text; refactor how P25 call handler handles verifying TG strapping;
|
5 months ago |
Bryan Biedenkapp
|
24a573fec3
|
fix typo for clear bit setting on the FNE; properly annotate if a TG is selectable/secure/clear strapped;
|
5 months ago |
Bryan Biedenkapp
|
27ed5fc15f
|
remove m_peers lock around peer update in erasePeer(); add hacky fuzzy matching logic to allow up to 3 bit errors for a CRC-CCITT162 (this better helps some P25 conditions where a TSBK may fault with a CRC-CCITT error, usually while enc enabled); implement support for selectively setting talkgroup encryption modes, selectable, strapped or clear (note due to how both DVMs implementation and how the protocols work there are some limitations, for example in DMR the FNE cannot reliably prevent calls from flowing to the network based on the selective talkgroup encryption modes, NXDN cannot reliably prevent a call grant because the encryption state isn't known at grant time, dvmhost provides no network-sourced traffic protection for clear or strapped as the assumption is the FNE will not allow a call to flow to begin with);
|
5 months ago |
Bryan Biedenkapp
|
895f5c8df7
|
when updating peers from erasePeer() lock the map before mutating;
|
5 months ago |
Bryan Biedenkapp
|
55bef73a5b
|
tighten up how the shared maps and vectors lock themselves during certain operations; implement some critical changes to the REST API to help prevent and log on stuck REST API calls; correct some lock order issues within the FNE REST API;
|
5 months ago |
Bryan Biedenkapp
|
da4669659a
|
now that we have proper UKEK and LLA FNE-side in the crypto container, implement proper per RID LLA support;
|
5 months ago |
Bryan Biedenkapp
|
35de68b7c7
|
minor HA logging enhancement and fix (we were counting the HA IP count wrong);
|
5 months ago |
Bryan Biedenkapp
|
4641040d45
|
neighbor FNEs are always allowed to request keys with RID 0;
|
5 months ago |
Bryan Biedenkapp
|
b83a2f2d9b
|
allow RID 0 KEY_REQ override optionally (this maintains older behavior where KEY_REQs are gated by PEER ID);
|
5 months ago |
Bryan Biedenkapp
|
5d7de897f3
|
initial support for adding KID ACLs per RID, this change allows the RID ACL list to contain whether or not a RID can request keys from the FNE KMF and wwhether it can request a OTAR rekey (future), it additionally adds a pipe delimited list of KIDs the RID is allowed to request;
|
6 months ago |
Bryan Biedenkapp
|
493ef2a728
|
process UKEKs and LLA keys from EKC file;
|
6 months ago |
Bryan Biedenkapp
|
ec91c0fcad
|
allow EKC container remote access to be disabled; add some extra documentation around dvmhost voice channels in the config stanza;
|
6 months ago |
Bryan Biedenkapp
|
1d8b31f6ea
|
correct issue with PacketBuffer that could cause a potential crash when data alignment is incorrect;
|
6 months ago |
Bryan Biedenkapp
|
e9597e336e
|
use the metadata socket to report key inventory otherwise fnecore gets big sad;
|
6 months ago |
Bryan Biedenkapp
|
67ec2b5f6d
|
fix KEYS_UPDATE to properly be two-phased so the packet buffer works properly;
|
6 months ago |
Bryan Biedenkapp
|
7d5db97449
|
add support for handling remote EKC management via new metadata traffic opcodes;
|
6 months ago |
Bryan Biedenkapp
|
74473bb6ad
|
bump default nakFallOver count from 10 to 50 to decrease NAK fallover sensitivity;
|
6 months ago |
Bryan Biedenkapp
|
5a0ae176c3
|
do not reset nakFallOverCount ever, this is a fatal accumulation, if we accumulate NAKs then are suddenly fine, this can cause a situation where the NAK fallover logic never activates;
|
6 months ago |
Bryan Biedenkapp
|
608a7a5b48
|
move metadata updates into their own thread pool to prevent traffic thread pool exhaustion from failed metadata updates; add better logic around checking in-flight and pending metadata announcements to peers; add checking to drop an update entirely if the peer disappears;
|
6 months ago |
Bryan Biedenkapp
|
739c8bbf85
|
allow configuration of the logging for RID ACL list, TGID ACL list, and FNE peer list;
|
6 months ago |
Bryan Biedenkapp
|
a5bd449761
|
prevent ICC self-deadlock;
|
6 months ago |
Bryan Biedenkapp
|
2c7ddb5285
|
correct possible infinite lock during replication updates;
|
6 months ago |
Bryan Biedenkapp
|
03eb962d6c
|
remove extra pointer writes that should not be necessary;
|
6 months ago |
Bryan Biedenkapp
|
cbc4a6848a
|
during RPTL of a peer that is already connected, use disconnectPeer instead of trying to directly delete the connection, although this may cause problems of its own...;
|
6 months ago |
Bryan Biedenkapp
|
90ca8f1a6a
|
still not prime-time ready for anyone to use -- but I am over here implementing some fixes because my testcases are blowing up;
|
6 months ago |
Bryan Biedenkapp
|
fe0350473b
|
make metadata unknown opcodes for transfer and announce non-fatal and do not NAK;
|
6 months ago |
Bryan Biedenkapp
|
06df86e713
|
add support for group affiliation timeout similar to unit registration timeout (should handle #122); add support for bulk announcement of peer unit registration data to the FNE; move announcement handling from main traffic port to metadata port (for now there is a code redirect on the traffic port that will be maintained for a few versions before being deprecated;
|
6 months ago |
Bryan Biedenkapp
|
3d6a196ea8
|
correct serious issue with affiliation REST API lockup, in some cases the way locking was being done on the REST API could cause it to become deadlocked when querying affils; correct issue with auth token length in REST API;
|
6 months ago |
Bryan Biedenkapp
|
12d8d5f313
|
add support for DMR reverse-channel data in the EMB field;
|
6 months ago |
Bryan Biedenkapp
|
b7f55d9323
|
couple more code fixes, fix REST API initialization on FNE to prevent early REST calls from crashing the FNE; add locking support for network internals when REST APIs are called; fix memory leak for failed network logins;
|
6 months ago |
Bryan Biedenkapp
|
c3c34018fd
|
some minor code cleanups to handled unchecked thread locking;
|
6 months ago |
Bryan Biedenkapp
|
ed028fdb94
|
add experimental NAK fallover logic, this is intended for use in situations where excess NAKs from an upstream master can be used to trigger a shutdown of the FNE, intentionally, this requires external scripts or systemd/init system to then restart the process after it automatically shuts down, the intention here is to very heavy handedly force a full state reset of the FNE in a case where it is unable to reconnect properly through other means;
|
7 months ago |
Bryan Biedenkapp
|
a703d4efbc
|
add option to disallow radio monitor at the FNE;
|
8 months ago |
Bryan Biedenkapp
|
aa2fc994c6
|
implement using a global affiliations table to globally track grants and unit registrations at the FNE; implement REST APIs to report granted talkgroups and registered units;
|
8 months ago |
Bryan Biedenkapp
|
25386ec8f6
|
because the new peerClass system removes the flags from the peer configuration, we will ensure they remain populated for REST API users;
|
8 months ago |
Bryan Biedenkapp
|
7981a0a517
|
whoops typo;
|
8 months ago |