Commit Graph

317 Commits (27ed5fc15f007aad175458504094013d76ba5f9a)

Author SHA1 Message Date
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);
4 weeks 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;
1 month ago
Bryan Biedenkapp 6c9883a084 return a internal server error when a exception is thrown during the read() operation for REST API calls;
1 month ago
Bryan Biedenkapp 86db348956 when the Network rotates HA IP, log the new connect IP for clarity;
1 month ago
Bryan Biedenkapp 2df9a36522 file cleanup;
1 month ago
Bryan Biedenkapp da4669659a now that we have proper UKEK and LLA FNE-side in the crypto container, implement proper per RID LLA support;
1 month ago
Bryan Biedenkapp 35de68b7c7 minor HA logging enhancement and fix (we were counting the HA IP count wrong);
1 month ago
Bryan Biedenkapp b83a2f2d9b allow RID 0 KEY_REQ override optionally (this maintains older behavior where KEY_REQs are gated by PEER ID);
2 months ago
Bryan Biedenkapp 61638ad740 simplify how LDU voice vectors are recovered from network packed DFSI frames (this reduces code duplication across the project; correct bad length being used for P25 causing PDU data to be unintentionally truncated;
2 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;
2 months ago
Bryan Biedenkapp 1d8b31f6ea correct issue with PacketBuffer that could cause a potential crash when data alignment is incorrect;
2 months ago
Bryan Biedenkapp 7d5db97449 add support for handling remote EKC management via new metadata traffic opcodes;
2 months ago
Bryan Biedenkapp 6fca7c8d99 minor code cleanup to fix initialization order;
2 months ago
Bryan Biedenkapp 55cb814a16 fix table lookup crash condition;
2 months ago
Bryan Biedenkapp 48d3a07a1c correct potential heap corruption issue within Socket, which could cause strange failure behavior;
2 months ago
Bryan Biedenkapp 739c8bbf85 allow configuration of the logging for RID ACL list, TGID ACL list, and FNE peer list;
2 months ago
Bryan Biedenkapp 616b6c730a fix the shared_from_this lifetime in for ServerConnection and SecureServerConnection;
2 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;
2 months ago
Bryan Biedenkapp 8bf2bf16d3 EXPERIMENTAL: this is a fundamental change to the function of ChannelLookup, instead of maintaining a list in which we add or remove elements as they are available or in use, we will maintain a mapped channel ID to index bit array, where each bit index within the array of bits represents the availability state of the channel, this should make it far more stable to mark a channel as free or allocated instead of manipulating an array everytime;
2 months ago
Bryan Biedenkapp 12d8d5f313 add support for DMR reverse-channel data in the EMB field;
2 months ago
Bryan Biedenkapp 07b0ebaf85 correct missing handling of MBC_DATA for DMR;
2 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;
2 months ago
Bryan Biedenkapp c3c34018fd some minor code cleanups to handled unchecked thread locking;
2 months ago
Bryan Biedenkapp 20f5a45cfe add support for parsing $A4 extended functions;
4 months ago
Bryan Biedenkapp c8fd69d450 fix nullptr check (thx Cole);
4 months ago
Bryan Biedenkapp 417ec174b9 for people using log files vs syslog, attempt to format the timestamp in a reasonable format (like RFC3339);
4 months ago
Bryan Biedenkapp ec3c027e97 in an attempt to prevent the FNE upstream peer connection from becoming brain dead, use the new mechanism to handle NAKs and properly reset our connection on reception of one;
4 months ago
Bryan Biedenkapp 9d0d1f221d fix issue with HTTP ClientConnection and SecureClientConnection not properly handling responses >65K bytes; add missing backward compat flags (for now, after R05A06 these will be removed); update copyright headers properly in modified files;
4 months ago
Bryan Biedenkapp 3595819cc8 bump version number;
4 months ago
Bryan Biedenkapp 3033a5889c because we are now getting varying types of peer connection classes, lets properly change the growing list of booleans to a proper class value and perform logic based on that instead; begin adding support for a console connection class (this operatess ssimilarly to sysview with validation freedoms, but does not get diagnostic messaging;
4 months ago
Bryan Biedenkapp 274b805517
Merge R05A04 (r05a04_dev) into master (#114)
5 months ago
Bryan Biedenkapp 274a8f23fc
Merge R05A02 (r04k32_dev branch) into Master (#110)
8 months ago
Bryan Biedenkapp 236073a2d3 BUGFIX: null reference when trying to perform old style lookup of timestamp when debugging is enabled;
10 months ago
Bryan Biedenkapp 7c2bfb3914
R04J32 Merge to Master (#95)
11 months ago
Bryan Biedenkapp fcdec00f32 BUGFIX: correct issue where a completely incorrectly formatted identity table missing the appropriate number of entities would cause a startup crash; minor formatting cleanups for readability;
1 year ago
Bryan Biedenkapp 5010fda595
deprecate Peer ACL blacklist mode; (#91)
1 year ago
Bryan Biedenkapp baded95e1f BUGFIX: correct issue where the pingTime configurable on the FNE could be greater then the maximum allowable timeout on the peers resulting in highly unstable configurations, the maximum allowable ping time is set to a hardcoded 60 second maximum;
1 year ago
Bryan Biedenkapp f791f9ae58 BUGFIX: if the host retried the login attempt and set WAITING_LOGIN state, it was possible for the connection to become stuck in an endless limbo state resulting in no connection, resolve this by evaluating the retry interval while in WAITING_LOGIN (login attempts to the FNE should not take over 10 seconds to complete!);
1 year ago
Bryan Biedenkapp 738ee918d1
R04H31 Merge to Master (#89)
1 year ago
Bryan Biedenkapp 5e31e9a642 file cleanups;
1 year ago
Bryan Biedenkapp af2e7c9c8d
R04H30 Merge to Master (#88)
1 year ago
Bryan Biedenkapp c10087e6cd correct some minor errors;
1 year ago
Bryan Biedenkapp ac0cc2cf90 change locking mechanism for lookup tables;
1 year ago
Bryan Biedenkapp 030a09ebe9 change ENABLE_TCP_SSL to just ENABLE_SSL;
1 year ago
Bryan Biedenkapp 2b8c7d4c91 partially revert 9ed3312, don't perform locking on isGranted(), isGroup() and isNetGranted();
1 year ago
Bryan Biedenkapp 9ed3312438 properly mutex lock in AffiliationLookup; add more mutex locking in ChannelLookup;
1 year ago
Bryan Biedenkapp 8ebae02615 revert e6188b2, use a loop instead the lock blocking wasn't consistent; fix issue where the FNE wouldn't check the heartbeat state of a peer that wasn't in a complete running state causing the peer to get into weird states; modify peer timeout handler, external peers (i.e. ISSI or upstream) and peer link peers get double the alotted maximum missed before being dropped;
1 year ago
Bryan Biedenkapp e6188b21aa instead of using a while loop, just block based on whether or not another thread is holding the queue mutex;
1 year ago
Bryan Biedenkapp 774558ebd7 add better locking around frame queue flushing and enqueuing; make peer ACK messages direct writes (don't queue them);
1 year ago
Bryan Biedenkapp 26aafbe1dd live long and oopsie;
1 year ago

Powered by TurnKey Linux.