Commit Graph

974 Commits (2a8a22329bb3bc6d4af752f82335ce916e79a015)

Author SHA1 Message Date
Bryan Biedenkapp 274a8f23fc
Merge R05A02 (r04k32_dev branch) into Master (#110)
4 months ago
Bryan Biedenkapp e9abdf63aa BUGFIX: correct scenario where traffic from an upstream master to a downstream peer FNE would lose the RTP sequence numbering;
6 months ago
Bryan Biedenkapp 236073a2d3 BUGFIX: null reference when trying to perform old style lookup of timestamp when debugging is enabled;
6 months ago
Bryan Biedenkapp 7c2bfb3914
R04J32 Merge to Master (#95)
7 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;
10 months ago
Bryan Biedenkapp 9fe90d3238 BUGFIX: evaluate the build arch and if we're building arm64 or armhf ensure atomic library is added to the dvmbridge linker stage;
10 months ago
Bryan Biedenkapp 51bf65775a BUGFIX: site data was not being set on the RCCH for NXDN;
10 months ago
Bryan Biedenkapp 5010fda595
deprecate Peer ACL blacklist mode; (#91)
10 months 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;
10 months 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!);
10 months ago
Bryan Biedenkapp 4306764819 BUGFIX: report appropriate LLID when responding to a KMM_HELLO (we currently report NO_SERVICE back to the SU for an OTAR request);
10 months ago
Bryan Biedenkapp de2c471cd7 BUGFIX: due to refactor in #88, it is possible for PDUs to arrive simultaneously in a very efficient manner, this confuses the P25 packet data handler logic causing very strange behavior (including a crash), this bugfix corrects that problem by: a) allowing data blocks for a given peer to arrive and be stored in any order (order is defined by the current block number), b) allow the data header to arrive at any time, c) once all blocks have been received and a valid data header is received, then the original PDU dispatch logic may execute;
10 months ago
Bryan Biedenkapp 1bf33a2055 update modem submodule;
10 months ago
Bryan Biedenkapp 5b6cc228ae update modem submodule;
10 months ago
Bryan Biedenkapp 738ee918d1
R04H31 Merge to Master (#89)
10 months ago
Bryan Biedenkapp 5e31e9a642 file cleanups;
11 months ago
Bryan Biedenkapp af2e7c9c8d
R04H30 Merge to Master (#88)
11 months ago
Bryan Biedenkapp c10087e6cd correct some minor errors;
11 months ago
Bryan Biedenkapp ac0cc2cf90 change locking mechanism for lookup tables;
12 months ago
Bryan Biedenkapp 10f6514c55 automatically enable SSL support if we detect libssl-dev;
12 months ago
Bryan Biedenkapp 030a09ebe9 change ENABLE_TCP_SSL to just ENABLE_SSL;
12 months ago
Bryan Biedenkapp b21f956bf9 fix incorrect variable type (this should have been a signed int);
12 months ago
Bryan Biedenkapp 2b8c7d4c91 partially revert 9ed3312, don't perform locking on isGranted(), isGroup() and isNetGranted();
12 months ago
Bryan Biedenkapp 9ed3312438 properly mutex lock in AffiliationLookup; add more mutex locking in ChannelLookup;
12 months ago
Bryan Biedenkapp 9af5c6b2bc ensure during encode we never allow a source ID of 0;
12 months ago
Bryan Biedenkapp 3551e7c7d7 don't allow source or destination ID's to become 0 at startup; ensure destination ID is range checked at startup;
12 months 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;
12 months ago
Bryan Biedenkapp e6188b21aa instead of using a while loop, just block based on whether or not another thread is holding the queue mutex;
12 months ago
Bryan Biedenkapp 774558ebd7 add better locking around frame queue flushing and enqueuing; make peer ACK messages direct writes (don't queue them);
12 months ago
Bryan Biedenkapp 68829b17f2 fix issue wehre message field was being incorrectly stored and could be pushed as an incorrect type (i.e. non-string) [NOTE: this could *break* collected Influx data];
12 months ago
Bryan Biedenkapp 26aafbe1dd live long and oopsie;
12 months ago
Bryan Biedenkapp 6690098a1c do not announce data services when set for trunking and SNDCP is disabled;
12 months ago
Bryan Biedenkapp 89fe5bc1dc yet again make Win32 compiles work correctly;
12 months ago
Bryan Biedenkapp 209bf40fb8 add better support for timing out a InfluxDB connection; add TCP timeout so that request() calls don't hang indefinitely;
12 months ago
Bryan Biedenkapp 1c51ff59bd add support to inject silence frames during a hang time when using UDP audio, where UDP audio has ended but the drop timer hasn't timed out;
12 months ago
Bryan Biedenkapp fb0e51f36a make Win32 compiles work again; correct incorrect behavior handling try_lock_for;
12 months ago
Bryan Biedenkapp 4fc8990d16 make InfluxDB queries async (non-blocking);
12 months ago
Bryan Biedenkapp d669410e46 whoops no drunk programming allowed;
12 months ago
Bryan Biedenkapp dbf67a4211 fix SysView shitting the bed when the JSON object for a peer is in an unknown state because it is state transitioning or still connecting;
12 months ago
Bryan Biedenkapp 7d6d4f4134 for peer FNE connections we should never disable network services on ACL NAK (this would result in a condition where the peer FNE would need to be restarted in order to reconnect, which isn't convenient);
12 months ago
Bryan Biedenkapp 6e589d9665 add peer connect and disconnect callbacks (for future use);
12 months ago
Bryan Biedenkapp 8dd504adea add support to enable/disable CC message stream debug when a protocol debug is enabled; correct some bad handling of the MESSAGE_TYPE_REG NXDN command;
12 months ago
Bryan Biedenkapp 27c852e4c2 remove the broken last IMBE logic; add logic to ensure a consistent LDU superframe stream (this will result in in-call garble for the length of a missed LDU, where LDUs are dropped due to extreme call load on the FNE);
1 year ago
Bryan Biedenkapp ecc8bfa32e fix issue where peer identity was being used instead of peer ID for FNE peer network lists; appropriately log blockTrafficTo configurations at startup;
1 year ago
Bryan Biedenkapp 5ecfc58300 permitted TG RPCs shouldn't test for m_enableControl;
1 year ago
Bryan Biedenkapp 63c85f3781 implement proper blocking operations for RPC; don't allow a RPC instance to call itself (i.e. you can't listen on port 127.0.0.1:9890 and then use req() to send an RPC to the listening instance); fix issue with RPC_PERMIT_XXX_TG not being a blocking operation; fix issue with RPC_DMR_TSCC_PAYLOAD_ACT not being a blocking operation;
1 year ago
Bryan Biedenkapp 81d4a40d24 do our best to attempt to warn on possible misconfiguration of channel RPC configuration;
1 year ago
Bryan Biedenkapp 202f3e57f8 make validate() TDU handling more similar to isPeerPermitted();
1 year ago
Bryan Biedenkapp 559647a28f we didn't have TDU filtering in validate(), just isPeerPermitted() this would let errant TDUs pass in some cases;
1 year ago
Bryan Biedenkapp b86a5ce939 add some mutex locking around modification of the channel lookup table;
1 year ago
Bryan Biedenkapp 3da4eb2d40
REST -> RPC Migration (#84)
1 year ago
Bryan Biedenkapp a242369496 flag the inbound channel as busy for DFSI messages;
1 year ago
Bryan Biedenkapp 110824e73b fix implementation for acking Start of Stream (writeImmediate wasn't really necessary using STT_NON_IMBE_NO_JITTER causes queued packets to bypass jitter buffer timing);
1 year ago
Bryan Biedenkapp d7b887a32d implement enhancement/alterations to allow back-to-back configuration of dvmhost in TIA-102 DFSI mode (with FSC enabled); correct minor nullref handling in FSCACK; add writeImmediate() to ModemV24 to support TIA-102's need to immediately ack a Start of Stream block;
1 year ago
Bryan Biedenkapp c3b31d241e hide the excessive noise during isPeerPermitted() where the FNE will complain of a peer with a uninitialized affiliations lookup;
1 year ago
Bryan Biedenkapp 6b4d7c5539 piss everyone off and properly relabel "enabled" options to "enable" to keep project consistency;
1 year ago
Bryan Biedenkapp ff3733ffef starting offset for ARC4 is 0;
1 year ago
Bryan Biedenkapp e533ac495f fix potential nullptr problem with Log when used from multiple threads during shutdown; reduce the intercycle delay to 2ms from 5ms for all main FNE threads;
1 year ago
Bryan Biedenkapp 2258e3a065 correct issue with passing a key request to the upstream master; comment on self-delete operations, stop() for lookup tables;
1 year ago
Bryan Biedenkapp a2fa303217 reorganize code, move Network class from host into common as its being used more as a generic peer network class; add some warning messaging to the FNE when a peer link or external peer (i.e. intra-FNE connection) drops;
1 year ago
Bryan Biedenkapp 0496737d46 late night whoopsie, forgot to add some critical stuff (note to self: don't do programming at near midnight its bad for you);
1 year ago
Bryan Biedenkapp 5a96f10906 add peer ID editor; implement support in the peer lookup and FNE to validate whether or not a peer can perform a encryption key request;
1 year ago
Bryan Biedenkapp 6927ea284c add preliminary support for forwarding a key request up to the next FNE (if we are Peer Linked);
1 year ago
Bryan Biedenkapp ea8699e03f add some guard rails around when batch operations add/remove;
1 year ago
Bryan Biedenkapp 231b829660 add batch manipulation operations for adding a peer to inclusion and always lists for all TGs;
1 year ago
Bryan Biedenkapp 2d3aeb5307 reorganize code make things cleaner -- move P25 crypto into its own common class for reuse purposes;
1 year ago
Bryan Biedenkapp 03de7fdb0b fix range clipping when using rxAudioGain or txAudioGain (previous code would allow a negative gain (to lower amplitude) to allow overflowing sample values);
1 year ago
Bryan Biedenkapp cacec1fe8a apparently Windows CPP is a pain in the ass, make it happy;
1 year ago
Bryan Biedenkapp 727ff3ed7b add preliminary encryption support to dvmbridge (P25-only supports AES256 and ARC4); correct and hide some debug trace for FNE KMM messaging; implement support to generate a ARC4 keystream;
1 year ago
Bryan Biedenkapp 1c85e35ba2 correct possible buffer cleanup issues;
1 year ago
Bryan Biedenkapp 33d6c919d7 runAsThread should not automatically cleanup the passed thread_t, this should be done by the caller;
1 year ago
Bryan Biedenkapp ba23d0250d instead of assert return false; better handle buffer init;
1 year ago
Bryan Biedenkapp 861a608bca add some more debug trace while in TIA mode;
1 year ago
Bryan Biedenkapp d8e6b17fbb okay, because a certain OEM's system does, idiotic things, lets handle a START_OF_STREAM block along side FULLRATE_VOICE blocks;
1 year ago
Bryan Biedenkapp 8883feba9c Revert "payload flag should be set false for ACK block type DFSI messages;"
1 year ago
Bryan Biedenkapp ca09893970 payload flag should be set false for ACK block type DFSI messages;
1 year ago
Bryan Biedenkapp db5a2310a4 send a return ACK on reception of a Start of Stream;
1 year ago
Bryan Biedenkapp de02fdd445 [EXPERIMENTAL] experimental change for @faultywarrior, make V24 UDP respond back to whatever the source port that sent a request was;
1 year ago
Bryan Biedenkapp 3798c52b54 reorganize SIP handler code slighty;
1 year ago
Bryan Biedenkapp cf2dee95d2 code cleanup; add SIP lexer and data handlers;
1 year ago
Bryan Biedenkapp 07edd0dbff handle illegal call end properly;
1 year ago
Bryan Biedenkapp 1e8c266d8a implement support to handle KMMs at the FNE; hardcode the host to ignore repeating KMM frames; implement HELLO KMM support and response with a NO_SERVICE (we don't have OTAR implemented at this time);
1 year ago
Bryan Biedenkapp 3dd7871ee6 ensure FNE key req/rsp handle variable length keys properly (fixes an issue with sending DES and ARC4 keys as 32-byte length keys);
1 year ago
Bryan Biedenkapp 9806ece4f5 add KMM opcodes for dereg, reg, NACK, no service, and zeroize;
1 year ago
Bryan Biedenkapp 79f00524ba add support to KMM factory for inventory lists;
1 year ago
Bryan Biedenkapp 7dc90b577f fix KMM copy issue; implement list key IDs and keysets inventory reponses;
1 year ago
Bryan Biedenkapp c4eefac2c7 typo;
1 year ago
Bryan Biedenkapp df648a2c50 add more KMM frames; implement support in the network core for key request and response (this allows peers to request a encryption key from a EKC file loaded on the FNE to use for encryption/decryption, i.e. peer keyloading);
1 year ago
Bryan Biedenkapp 0fd6758161 allow always send peers to ignore reject unknown RID (always send peers are treated specially);
1 year ago
Bryan Biedenkapp c9c98345b6 refactor forced late ACL updates, the old way was causing erroneous multiple ACL messages to appear in the log giving the impression that the FNE was updating ACL's rapidly;
1 year ago
Bryan Biedenkapp 1afc94931b correct some minor Win32 compilation errors (CryptoContainer isn't supported on Win32 right now);
1 year ago
Bryan Biedenkapp cad8e3e347 add ICC support to bridge (this is a naive approach however...);
1 year ago
Bryan Biedenkapp 27162d197d add key request and response opcodes (not implemented yet);
1 year ago
Bryan Biedenkapp 75a09a375b right align permitted RID count;
1 year ago
Bryan Biedenkapp 0ee2b5c756 bump version to 4.20G (from 4.11G) [THIS MARKS INCLUSION OF IN-CALL CONTROL IN MASTER]; ensure always peers can violate the rules as usual; add permitted RIDs assignment to JSON handling for REST APIs;
1 year ago
Bryan Biedenkapp 6812029491 Merge branch 'master' into incall_ctrl
1 year ago
Bryan Biedenkapp ded260216a implement the beginnings of KMM frame handling (for future use);
1 year ago
Bryan Biedenkapp 676a112313 fix missing check for ENABLE_TCL_SSL compilation directive; properly flag crypto as hard disabled if ENABLE_TCL_SSL isn't set;
1 year ago
Bryan Biedenkapp 78f034511f initial support for loading KFDtool EKC files (this is currently unused but is a future stepping-stone for encryption key handling);
1 year ago
Bryan Biedenkapp 69f8fbe884 add better logic to handle forcing peer-link updates; ensure ACL's go out regardless of stream if too much time has passed;
1 year ago

Powered by TurnKey Linux.