Bryan Biedenkapp
abe45a1d53
fix up file headers;
2 years ago
Bryan Biedenkapp
47d89febdf
fix various valgrind reports;
2 years ago
Bryan Biedenkapp
355db0c9cc
[This commit contains highly-experimental and possibly unstable alterations to core archeitcture on dvmhost] deprecate ThreadFunc (using C++ lambda's was a bad idea to begin with); refactor some startup messages; refactor use of ThreadFunc in FNE; refactor how threads were created in the FNE; [EXPERIMENTAL] refactor the host architecture to use threading for modem clocking and protocol readers;
2 years ago
Bryan Biedenkapp
7ec138ed13
hide debug messages unless DEBUG_P25_PDU_DATA is set;
2 years ago
Bryan Biedenkapp
da2f6130a8
[NOTICE: this commit is *EXPERIMENTAL* and implements *very* early data support, it is expected to be buggy, incomplete or broken] implement VTUN interface (fne0) on the dvmfne (this requires dvmfne to be run as root on Linux system [untested on non-Linux] to create the tun interface); implement VIFace random MAC generation; implement P25 TIA-102.BAEB SCEP ARP (SCEP is always used for conventional data) on dvmfne; refactor P25 packet status bits (this may break things else where, beware!); properly implement P25 status bit flipping on inbound channel activity; implement functionality in the P25 and DMR DataHeader classes to calculate the proper raw PDU frame length; implement dvmfne ARP table creation and maintainence (this is buggy and requires more implementation and test); implement dvmfne VTUN -> PDU and PDU -> VTUN IP traffic forwarding (this is incomplete and requires more implementation and test); correct several issues on dvmhost p25::packet::Data with overlapped buffers;
2 years ago
Bryan Biedenkapp
98f620e48b
split dispatch functions into dispatch and dispatchToFNE; correct variable shadowing in DMRPacketData::processFrame();
2 years ago
Bryan Biedenkapp
dc29208e70
refactor DMR PDU processing to be more in-line with how P25 PDU processing is done; implement support on the FNE to inspect and dispatch DMR PDUs properly;
2 years ago
Bryan Biedenkapp
806f950665
add disablePacketData flag to disable the FNE passing packet data;
2 years ago
Bryan Biedenkapp
98ded890f0
more cleanup; fix accidental change for block counting that broke things;
2 years ago
Bryan Biedenkapp
825aaeee06
remove more debug trace;
2 years ago
Bryan Biedenkapp
0e43cf8918
add logic check to timeout a data call after 60 seconds;
2 years ago
Bryan Biedenkapp
f3c3cc95ce
refactor P25 PDU extended address handling (this loosely gets a lot of conventional data things working, Moto TMS for example will pass in conventional [although buggy]); pass PDU response data headers (with no block followers) across the network;
2 years ago
Bryan Biedenkapp
88b619c71f
implement initial logic to provide PDU processing on the FNE;
2 years ago
Bryan Biedenkapp
580f26a478
convert dfsi to Doxygen documentation format;
2 years ago
Bryan Biedenkapp
882c2564ca
correct double spaced formatting of CPP files in common; convert dvmhost to Doxygen documentation format; convert dvmfne to Doxygen documentation format; convert dvmcmd to Doxygen documentation format;
2 years ago
Bryan Biedenkapp
67429e3e34
use localtime instead of gmtime for logs;
2 years ago
Bryan Biedenkapp
cb0500b2e7
treewide: refactor constant variables into proper enumerations where appropriate (this applies to DMR, P25 and NXDN, and may introduce gremlins);
2 years ago
Bryan Biedenkapp
41b36a491d
fix issue where parrot originating was not muting the initial call to other peers;
2 years ago
Bryan Biedenkapp
36c04a74ec
move the NET_FUNC* and NET_SUBFUNC* constants into proper namespaced enums;
2 years ago
Bryan Biedenkapp
e5e5462473
fix #54 , this should fix issue #54 in dealing with segmented/fragemented HTTP requests; enhance debug messaging from REST API server;
2 years ago
Bryan Biedenkapp
243696855c
make alternate port for diagnostics the default;
2 years ago
Bryan Biedenkapp
e7ddfffed3
add rudimentary support to process NET_FUNC_GRANT_REQ (network grant requests), this is the first step towards eventually supporting non-authorative CCs;
2 years ago
Bryan Biedenkapp
2f918d759d
implement support to send logs to the syslog;
2 years ago
Bryan Biedenkapp
9cf87ff00c
reorganize source tree to make class usage more clear (the Tag*Data classes are the call router/data handler classes); enhance logging for call collision to report RxStatus;
2 years ago
Bryan Biedenkapp
3be3366e5f
enhance FNE notification of CC voice channels; implement support to maintain mapping of CC <-> VC relationships at the FNE;
2 years ago
Bryan Biedenkapp
2c560dc3ce
add support to report host status JSON blob to FNE for storage in InfluxDB;
2 years ago
Bryan Biedenkapp
cae622b898
perform early peer checking during RPTL; if an ACL rejection occurs, straight disable the peer networking;
2 years ago
Bryan Biedenkapp
f39e8de0e1
refactor PR#55's peer list implementation to utilize a lookup table; add support to peer list implementation, when in whitelist mode to support per peer passwords (techincally this works in blacklist mode but is ... well irrelevant as blacklist mode *rejects* connections from peers in the list file); correct a few issues regarding how NAKs are returned early in the authentication handshake; reformat log messages; fix issue in host voice when regular conventional traffic is sent to a DVRS-enabled channel and legacy group grant is disabled;
2 years ago
Bryan Biedenkapp
f4c85e822e
minor fix up for PR#56 (nothing I wanted to prevent merging 56);
2 years ago
firealarmss
bd3e737adf
REST Additions and added NAK reasons ( #56 )
...
* Initial work for a peer whitelist/blacklist
* Remove forgotten debug log
* Remove extra line
* Use a dedicated file for white/blacklists
* Add support to REST for managing the peer white/blacklist
* Fix line spaces
* Move to one example file
* Add support for disconnecting a peer via the REST API; Add NAK reason for a peer ACL violation and for a peer reset; Add a REST endpoint for getting the current mode of peer ACL
2 years ago
Bryan Biedenkapp
12e07a2205
cleanup log output for uniformity; set peer ACL to disabled by default (it is up to the FNE administrator to properly configure and enable this, it should not be enabled by default);
2 years ago
firealarmss
cba48ae54a
Add support for peer blacklist and whitelist ( #55 )
...
* Initial work for a peer whitelist/blacklist
* Remove forgotten debug log
* Remove extra line
* Use a dedicated file for white/blacklists
* Add support to REST for managing the peer white/blacklist
* Fix line spaces
* Move to one example file
2 years ago
Bryan Biedenkapp
3335f7be39
add support to reload TG and RID lists via REST API for the FNE;
2 years ago
Bryan Biedenkapp
1de86458a6
fix DVRS unit deregistration issue (units weren't registered properly during GRP_AFF because DVRS doesn't do the typical U_REG); implement 12-hour timeout for unit registrations (this is only applied if the SU in question has *NOT* had *ANY* activity within 12 hours);
2 years ago
Bryan Biedenkapp
c8eb52a57d
add try {} catch {} around some critical ASIO read calls to prevent application crash (this won't resolve the errors but should prevent application crash); implement support for peer ID list that *always* receives traffic for a TGID regardless of affiliation rules;
2 years ago
Bryan Biedenkapp
6425ec5cd7
add support to properly filter traffic headers and terminators; add support to selectivly block U2U (private) calls from peers;
2 years ago
Bryan Biedenkapp
70600d3fd7
remove deprecated options; ensure we check if a peer is enabled on the FNE before attempting to read/write to it; silence BUGBUG UDP write message;
2 years ago
Bryan Biedenkapp
9b6fcdbdf7
fix incorrect assembly of DENY TSDUs for certain services; replace QUEUE TSDUs for grant TSDUs with DENY TSDUs;
2 years ago
Bryan Biedenkapp
864044ff8b
replace sprintf with snprintf;
2 years ago
Bryan Biedenkapp
258feb0173
put the naughty message in the right spot;
2 years ago
Bryan Biedenkapp
942a53069b
add support to gate GRP_VCH_GRANT messages from going to peers with no affiliations for a TG (if the TG is configured for affiliated only);
2 years ago
Bryan Biedenkapp
36099367c8
fix condition where the Log and ActivityLog would overflow the character buffer by no properly calculating the length of the va_args string (this should resolve buffer overflow terminations on GCC 13+);
2 years ago
Bryan Biedenkapp
0ad47a1989
be a little less obtuse about the NAK reason in the FNE log;
2 years ago
Bryan Biedenkapp
a1a0065a74
when logging what the peer reports as identity use 8 character padding;
2 years ago
Bryan Biedenkapp
1cdd2aa56d
normalize log formatting better;
2 years ago
Bryan Biedenkapp
9cfde0e57e
report peer identity string in influx data; make sure non-alternate port reporting properly reports peer identity;
2 years ago
Bryan Biedenkapp
e57541c135
it would help if this was a string...;
2 years ago
Bryan Biedenkapp
b1e0058986
whoops handle boolean with yes/no output response instead of 0/1;
2 years ago
Bryan Biedenkapp
bcd2cf21e7
add support to report the textual identity in the logs for a peer along with its peer ID in most cases;
2 years ago
Bryan Biedenkapp
75dbc9e025
refactor parrot frame storage; add support to allow parrot responses to go only to the peer for which the parrot call originated;
2 years ago