Commit Graph

980 Commits (r05a06_dev)

Author SHA1 Message Date
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 days ago
Bryan Biedenkapp 054f157096 fix some issues with double-length DVM frames ($FD) where sometimes the serial port would still be buffering data and would return 0 bytes when the packet length was attempted to be read;
2 days 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;
4 days ago
Bryan Biedenkapp 493ef2a728 process UKEKs and LLA keys from EKC file;
7 days ago
Bryan Biedenkapp ec91c0fcad allow EKC container remote access to be disabled; add some extra documentation around dvmhost voice channels in the config stanza;
7 days ago
Bryan Biedenkapp 1d8b31f6ea correct issue with PacketBuffer that could cause a potential crash when data alignment is incorrect;
7 days ago
Bryan Biedenkapp e9597e336e use the metadata socket to report key inventory otherwise fnecore gets big sad;
7 days ago
Bryan Biedenkapp 67ec2b5f6d fix KEYS_UPDATE to properly be two-phased so the packet buffer works properly;
7 days ago
Bryan Biedenkapp 7d5db97449 add support for handling remote EKC management via new metadata traffic opcodes;
7 days ago
Bryan Biedenkapp 74473bb6ad bump default nakFallOver count from 10 to 50 to decrease NAK fallover sensitivity;
7 days 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;
7 days ago
Bryan Biedenkapp 6fca7c8d99 minor code cleanup to fix initialization order;
1 week ago
Bryan Biedenkapp 55cb814a16 fix table lookup crash condition;
1 week ago
Bryan Biedenkapp 48d3a07a1c correct potential heap corruption issue within Socket, which could cause strange failure behavior;
1 week 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;
1 week ago
Bryan Biedenkapp 739c8bbf85 allow configuration of the logging for RID ACL list, TGID ACL list, and FNE peer list;
1 week ago
Bryan Biedenkapp a5bd449761 prevent ICC self-deadlock;
2 weeks ago
Bryan Biedenkapp 2c7ddb5285 correct possible infinite lock during replication updates;
2 weeks ago
Bryan Biedenkapp 03eb962d6c remove extra pointer writes that should not be necessary;
2 weeks 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...;
2 weeks ago
Bryan Biedenkapp 616b6c730a fix the shared_from_this lifetime in for ServerConnection and SecureServerConnection;
2 weeks 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;
2 weeks ago
Bryan Biedenkapp fe0350473b make metadata unknown opcodes for transfer and announce non-fatal and do not NAK;
2 weeks 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 weeks 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;
3 weeks ago
Bryan Biedenkapp 03a5e6a1db unless specifically set, if a TG is granted, we should *always* be doing the source ID check and denying the grant to a source RID that is different from the originator, the purpose behind this logic is to allow the source RID that is currently holding the grant to grant retry;
3 weeks 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;
3 weeks ago
Bryan Biedenkapp 436bbf634e slight adjustments to cal and setup for dvmbbsdr support;
3 weeks ago
Bryan Biedenkapp 12d8d5f313 add support for DMR reverse-channel data in the EMB field;
3 weeks ago
Bryan Biedenkapp 07b0ebaf85 correct missing handling of MBC_DATA for DMR;
3 weeks ago
Bryan Biedenkapp 64529052ff refactor how the P25 voice handler gets the currently active TGs, this is in effort to hopefully remove the crash condition by the use of the old at() code in the m_activeTG vector;
3 weeks ago
Bryan Biedenkapp 60ecade84b update submodules;
3 weeks ago
Bryan Biedenkapp 93482dd2c2 support cal mode on PTY devices;
3 weeks 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;
4 weeks ago
Bryan Biedenkapp c3c34018fd some minor code cleanups to handled unchecked thread locking;
4 weeks 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;
2 months ago
Bryan Biedenkapp 20f5a45cfe add support for parsing $A4 extended functions;
2 months ago
Bryan Biedenkapp c8fd69d450 fix nullptr check (thx Cole);
2 months ago
Bryan Biedenkapp 7c8effeaea do not transmit radio monitor packets from the network handler, the TSBK will be sent as is normally;
2 months ago
Bryan Biedenkapp a703d4efbc add option to disallow radio monitor at the FNE;
2 months ago
Bryan Biedenkapp 417ec174b9 for people using log files vs syslog, attempt to format the timestamp in a reasonable format (like RFC3339);
2 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;
2 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;
2 months ago
Bryan Biedenkapp 7981a0a517 whoops typo;
2 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;
2 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;
2 months ago
Bryan Biedenkapp 3595819cc8 bump version number;
2 months ago
Bryan Biedenkapp 8f0ba24059 you know how some parents need to best effort child proof electrical sockets to prevent shocks? yea lets at least *try* to child proof 700mhz;
2 months ago
Bryan Biedenkapp 79e2da156c ensure SysView always is permitted and violatess even inclusion rules;
3 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;
3 months ago

Powered by TurnKey Linux.