Commit Graph

306 Commits (a5bebe87f89ab813247df517fbd508201d03550c)

Author SHA1 Message Date
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

Powered by TurnKey Linux.