82f0c0c375implement support to encrypt any TEK data with a preshared key;
Bryan Biedenkapp
2026-07-17 13:42:22 -0400
562fb3cc67internally generate a GRP_VCH grant demand message for a net event when encountering a grant demand TDU;
Bryan Biedenkapp
2026-07-15 17:08:27 -0400
f3698cbe86encode the raw CSBK/TSBK/RCCH data in the control net event data; decode and send net_event for NXDN RCCH data;
Bryan Biedenkapp
2026-07-15 15:48:32 -0400
0db63a6534fix missing stream ID for call events; add call duration on call end event;
Bryan Biedenkapp
2026-07-15 10:03:58 -0400
c299d812e9add support for call start/end WebSocket events;
Bryan Biedenkapp
2026-07-15 09:17:00 -0400
15886661bdundocument forceAllowTG0 option, this option is undocumented now and is really only intended for debugging purposes;
Bryan Biedenkapp
2026-07-15 09:01:51 -0400
7342f69fb9whoops we were not clamping the jitter buffer size or max wait for peers to internal minimums/maximums;
Bryan Biedenkapp
2026-07-15 08:57:17 -0400
7c5df8abedadd possible protective controls around RPTL/RPTK/RPTC/RPT_DISC to mitigate multi-threaded race condition from rapid disconnect/connection scenarios;
Bryan Biedenkapp
2026-07-14 11:58:04 -0400
a7c7c3f330correct possible null reference during disconnectPeer callback;
Bryan Biedenkapp
2026-07-14 11:31:27 -0400
b47e6b0003TN.1000 update network topo diagram was ... off and bothering my OCD;
Bryan Biedenkapp
2026-07-08 12:21:57 -0400
8b80477247TN.1000 update network topo diagram was ... off and bothering my OCD;
Bryan Biedenkapp
2026-07-08 12:19:34 -0400
e90cc29bc1update TN.1000 to match reality;
Bryan Biedenkapp
2026-07-08 12:16:07 -0400
f72fc5a1b3corrections for failing NXDN tests;
Bryan Biedenkapp
2026-07-08 09:39:41 -0400
e16685fc4aadd rudimentary experimental support for NXDN to dvmbridge; correct a few issues with trunked voice handling for NXDN, when a VC is a trunked participant the outgoing voice frames are RTCH vs RDCH;
Bryan Biedenkapp
2026-07-08 09:25:23 -0400
0463ae9c20update README.md to notify user about port assignments for dvmfne;
Bryan Biedenkapp
2026-07-02 11:14:10 -0400
8784e06e3bEXPERIMENTAL: 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;
Bryan Biedenkapp
2026-07-02 09:13:16 -0400
54b2a41ec0increase the base network buffer size from 8192 -> 16384, this is doubly as large, some transfer frames to sysview can reach the 8k boundary and become truncated, this increase in buffer size should allievate that issue;
Bryan Biedenkapp
2026-07-01 17:18:38 -0400
4883e78065report IP and port for oversized packet warning;
Bryan Biedenkapp
2026-07-01 16:35:49 -0400
1a13d736f2report IP and port for oversized packet warning;
Bryan Biedenkapp
2026-07-01 16:30:45 -0400
5e3524dfefupdates to various PDU handling functionality;
Bryan Biedenkapp
2026-07-01 15:31:27 -0400
e983b1a812correct OTAR UDP encrypted detect (was looking at the wrong field); fix DLD ACK to post-valiation;
Bryan Biedenkapp
2026-07-01 13:16:38 -0400
5b3433a3f3whoops, add missing files, this time really add P25P2 MAC scrambling support;
Bryan Biedenkapp
2026-07-01 12:44:58 -0400
391e0068afadd proper support for P25 P2 MAC scrambling; fix and enhance message number following for KMM frames; correct and fix CMAC rekey calculations;
Bryan Biedenkapp
2026-07-01 11:18:29 -0400
9c62b82222Route patch status replication over metadata network
#121
Lorenzo L. Romero
2026-06-26 21:03:02 -0400
0a799ee2e9Merge remote-tracking branch 'upstream/r05a06_dev' into fix/patch-status-metadata
Lorenzo L. Romero
2026-06-26 20:38:52 -0400
f4154c462estore the grant elapsed time; update peer status with grant elapsed time;
Bryan Biedenkapp
2026-06-25 23:26:14 -0400
04ecac8e79cleanup a couple of warnings;
Bryan Biedenkapp
2026-06-25 20:57:29 -0400
075f0dbda2use the last HDU for the encryption flag;
Bryan Biedenkapp
2026-06-25 17:21:06 -0400
6284f05386make strapping check ICCs system requests so they are always actively sent; remove debug text; refactor how P25 call handler handles verifying TG strapping;
Bryan Biedenkapp
2026-06-25 17:01:36 -0400
24a573fec3fix typo for clear bit setting on the FNE; properly annotate if a TG is selectable/secure/clear strapped;
Bryan Biedenkapp
2026-06-25 15:44:03 -0400
27ed5fc15fremove 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);
Bryan Biedenkapp
2026-06-25 11:44:00 -0400
895f5c8df7when updating peers from erasePeer() lock the map before mutating;
Bryan Biedenkapp
2026-06-23 14:14:02 -0400
55bef73a5btighten 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;
Bryan Biedenkapp
2026-06-20 10:38:53 -0400
45c0661723for control channel dvmhost peers, report the known peerId of voice channels via the TRANSFER_SUBFUNC_STATUS; update sysview to properly expire peers from the peer status list after 10 seconds of no updates from the FNE about that peer;
Bryan Biedenkapp
2026-06-19 18:46:31 -0400
6d15d94379ensure stale peer status entries are erased after a period of inactivity;
Bryan Biedenkapp
2026-06-19 18:11:32 -0400
6c9883a084return a internal server error when a exception is thrown during the read() operation for REST API calls;
Bryan Biedenkapp
2026-06-19 16:06:34 -0400
3c85caa482surprising news to me the V.24 modem FW does not actually set byte 5 of the GET_STATUS opcode, so will never properly flag transmit status, as such I have implemented some faux handling in the host itself to emulate the behavior, this is done by flagging Tx once we start successfully writing data over V.24 (this can be misleading if the data is sent to our V.24 modem but the V.24 modem never sends it to a Quantar);
Bryan Biedenkapp
2026-06-19 12:38:15 -0400
e550b46c4bfix issue with SysView in WebSocket mode dieing and not starting network services;
Bryan Biedenkapp
2026-06-19 12:20:13 -0400
86db348956when the Network rotates HA IP, log the new connect IP for clarity;
Bryan Biedenkapp
2026-06-17 11:37:45 -0400
da4669659anow that we have proper UKEK and LLA FNE-side in the crypto container, implement proper per RID LLA support;
Bryan Biedenkapp
2026-06-13 13:25:59 -0400
7885ecc151implement some grant demand hardening; implement network watchdog hardening for NXDN;
Bryan Biedenkapp
2026-06-13 11:56:29 -0400
d8a65dc766perform network watchdog handling in a more centralized manner in Voice::processNetwork(); fix condition where remote grant demands may happen even though TG hangtimers are running;
Bryan Biedenkapp
2026-06-13 11:46:03 -0400
9449de77d4more hardening, when a net talkgroup hand releases if the state is non idle reset the state;
Bryan Biedenkapp
2026-06-13 11:20:28 -0400
6cd4b36446add more netState handling hardening to ensure the state is returned to a default idle state;
Bryan Biedenkapp
2026-06-13 11:11:25 -0400
cf96c35758apply network watchdog logic to data packets as well as voice;
Bryan Biedenkapp
2026-06-13 10:49:07 -0400
05d939027bduring network P25 voice calls, instead of dvmhost resetting the network watchdog every network frame only reset it when valid LDUs are processed, this should have the appropriate affect of applying the network watchdog and preventing a netState hang in a non-RS_NET_IDLE state if we never receive a network TDU to properly end a call;
Bryan Biedenkapp
2026-06-13 10:46:47 -0400
35de68b7c7minor HA logging enhancement and fix (we were counting the HA IP count wrong);
Bryan Biedenkapp
2026-06-13 10:21:40 -0400
4641040d45neighbor FNEs are always allowed to request keys with RID 0;
Bryan Biedenkapp
2026-06-05 21:05:48 -0400
7a9f7a0ef8bridge should send the srcId in the KEY_REQ;
Bryan Biedenkapp
2026-06-05 20:46:35 -0400
b83a2f2d9ballow RID 0 KEY_REQ override optionally (this maintains older behavior where KEY_REQs are gated by PEER ID);
Bryan Biedenkapp
2026-06-05 20:45:02 -0400
61638ad740simplify 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;
Bryan Biedenkapp
2026-06-03 10:01:34 -0400
054f157096fix 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;
Bryan Biedenkapp
2026-06-02 22:09:16 -0400
5d7de897f3initial 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;
Bryan Biedenkapp
2026-06-01 16:02:40 -0400
7326f42c2a+ Add AI/LLM Notice in example configs & readme
Dev_Ranger
2026-05-31 19:09:35 -0700
d46326c630bump dvmcfggen version for R05A06;
Bryan Biedenkapp
2026-05-31 14:44:43 -0400
92bea91a5bseveral dvmcfggen fixes: correct HEX vs DEC issues reported by digilink/TAC-10; correct indentation issue for voiceChNo reported by digilink/TAC-10; fix missing configuration parameter;
Bryan Biedenkapp
2026-05-31 14:43:30 -0400
493ef2a728process UKEKs and LLA keys from EKC file;
Bryan Biedenkapp
2026-05-29 17:13:42 -0400
ec91c0fcadallow EKC container remote access to be disabled; add some extra documentation around dvmhost voice channels in the config stanza;
Bryan Biedenkapp
2026-05-29 16:36:43 -0400
1d8b31f6eacorrect issue with PacketBuffer that could cause a potential crash when data alignment is incorrect;
Bryan Biedenkapp
2026-05-29 15:28:08 -0400
e9597e336euse the metadata socket to report key inventory otherwise fnecore gets big sad;
Bryan Biedenkapp
2026-05-29 15:16:18 -0400
67ec2b5f6dfix KEYS_UPDATE to properly be two-phased so the packet buffer works properly;
Bryan Biedenkapp
2026-05-29 13:42:35 -0400
7d5db97449add support for handling remote EKC management via new metadata traffic opcodes;
Bryan Biedenkapp
2026-05-29 13:39:04 -0400
74473bb6adbump default nakFallOver count from 10 to 50 to decrease NAK fallover sensitivity;
Bryan Biedenkapp
2026-05-29 07:56:29 -0400
5a0ae176c3do 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;
Bryan Biedenkapp
2026-05-29 07:53:47 -0400
48d3a07a1ccorrect potential heap corruption issue within Socket, which could cause strange failure behavior;
Bryan Biedenkapp
2026-05-27 08:09:04 -0400
608a7a5b48move 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;
Bryan Biedenkapp
2026-05-26 13:20:59 -0400
739c8bbf85allow configuration of the logging for RID ACL list, TGID ACL list, and FNE peer list;
Bryan Biedenkapp
2026-05-26 11:56:25 -0400
2c7ddb5285correct possible infinite lock during replication updates;
Bryan Biedenkapp
2026-05-25 16:35:46 -0400
03eb962d6cremove extra pointer writes that should not be necessary;
Bryan Biedenkapp
2026-05-25 15:19:55 -0400
cbc4a6848aduring 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...;
Bryan Biedenkapp
2026-05-25 14:48:09 -0400
616b6c730afix the shared_from_this lifetime in for ServerConnection and SecureServerConnection;
Bryan Biedenkapp
2026-05-25 14:01:09 -0400
90ca8f1a6astill not prime-time ready for anyone to use -- but I am over here implementing some fixes because my testcases are blowing up;
Bryan Biedenkapp
2026-05-24 21:22:08 -0400
fe0350473bmake metadata unknown opcodes for transfer and announce non-fatal and do not NAK;
Bryan Biedenkapp
2026-05-23 09:50:58 -0400
06df86e713add 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;
Bryan Biedenkapp
2026-05-22 15:33:30 -0400
3d6a196ea8correct 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;
Bryan Biedenkapp
2026-05-17 12:03:46 -0400
03a5e6a1dbunless 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;
Bryan Biedenkapp
2026-05-17 11:17:13 -0400
8bf2bf16d3EXPERIMENTAL: 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;
Bryan Biedenkapp
2026-05-17 11:02:34 -0400
9c3601462fFNE patch status registry replication. Add docs to new patch registry functions. Replace unordered map with mutex guarded map.
Lorenzo L. Romero
2026-05-17 10:47:20 -0400
436bbf634eslight adjustments to cal and setup for dvmbbsdr support;
Bryan Biedenkapp
2026-05-15 13:15:41 -0400
12d8d5f313add support for DMR reverse-channel data in the EMB field;
Bryan Biedenkapp
2026-05-14 13:08:16 -0400
07b0ebaf85correct missing handling of MBC_DATA for DMR;
Bryan Biedenkapp
2026-05-14 12:38:00 -0400
64529052ffrefactor 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;
Bryan Biedenkapp
2026-05-14 09:01:59 -0400