Bryan Biedenkapp
|
31ca17449d
|
*BEWARE* this commit alters the RPI_ARM cross-compiler and may break things *BEWARE*; implement support for HTTPS SSL REST API configuration; add contrib binary overlay for the RPI_ARM compiler (to add libssl-dev dependences);
|
2 years ago |
Bryan Biedenkapp
|
cda6b5965f
|
add support for optional TCP SSL/TLS sockets;
|
2 years ago |
Bryan Biedenkapp
|
b4f9b2d201
|
fix some issues with the "unsupported no no mode" that people continue to abuse; correct issue with calculating list offsets when announcing RID lists to the host;
|
2 years ago |
Bryan Biedenkapp
|
ecdce85e8a
|
clean up file;
|
2 years ago |
Bryan Biedenkapp
|
9dadc06130
|
I was asked for ASCII art, and I deliver, thus, ASCII art;
|
2 years ago |
Bryan Biedenkapp
|
c3f9b69454
|
catch and log certain situations where a buffer in a buffer vector may be released (this is likely due to a non-tread safe network flush); expose size of inclusion, exclusion and rewrite lists so we don't need to copy them to know the size;
|
2 years ago |
Bryan Biedenkapp
|
ba785f3d91
|
hide debug here (m_debug/m_verbose should be adhered to in classes as they *optionally* enable debug trace for modules, allowing the LogLevel to be set to 1 and not spam the log/console with unintended debug statements); alter bad handling of a compiler constant string for the Server/User-Agent strings;
|
2 years ago |
Bryan Biedenkapp
|
1e8a842a30
|
document functions in the Thread class; add a helper detach() method for future use;
|
2 years ago |
Bryan Biedenkapp
|
4acb60aeff
|
add more plumbing to the CFNE for future use;
|
2 years ago |
Bryan Biedenkapp
|
e7ce1d1f20
|
report errno errors from pthread_create;
|
2 years ago |
Bryan Biedenkapp
|
c4ca72581f
|
for performance reasons on very noisy/busy setups that may have *lots* of peers, use of an alternate port to service diagnostic and activity log transfers helps ensure the traffic port doesn't become overloaded with data;
|
2 years ago |
Bryan Biedenkapp
|
8ca4ed5a40
|
implement a few more CFNE NAK types to notify the peer of invalid conditions; take first steps towards FNE-side authoritative grants by implementing some logic plumbing;
|
2 years ago |
Bryan Biedenkapp
|
b7ebfa43e4
|
reorganize source code slightly, we shouldn't define logic in the CPP files for the talkgroup rules data classes, and instead we should define the logic in the header (since logic for these data classes shouldn't be anything complicated anyway);
|
2 years ago |
Patrick W3AXL
|
d8eff1f1f4
|
got tgid editing via REST mostly working (#49)
|
2 years ago |
Bryan Biedenkapp
|
5d6c99da43
|
add missing mutex unlocks for the lookup tables (I'm not sure how this hasn't caused a problem); reorganize the code in FNENetwork and make threadedNetworkRx private; add some counting logic to ensure the voice tag classes flush voice frames every 5 peers to ensure timely delivery of packets;
|
2 years ago |
Bryan Biedenkapp
|
e348b15d7f
|
for the purpose of performance handle incoming packets in their own threads (NOTE: this commit is *experimental* and may burn your house down and kick your dog, and it most certainly has a memory leak I'm working on somewhere);
|
2 years ago |
Bryan Biedenkapp
|
c6c1c72f79
|
institute a hard 250 peer cap on the CFNE for performance, stability and call quality reasons; implement support for the user to configure the connection limit on a CFNE; implement support to resolve a master NAK to a reason on the host;
|
2 years ago |
W3AXL
|
4632bfb4b9
|
updated copyrights
|
2 years ago |
W3AXL
|
18f5d69a36
|
implemented RID ACL file save
|
2 years ago |
Bryan Biedenkapp
|
b9c89aebf1
|
for sanity reasons -- huge RID lists make the log *VERY VERY* noisy, we'll silence this by not logging the toggle events;
|
2 years ago |
Bryan Biedenkapp
|
49343917d6
|
add copyright lines for Patrick;
|
2 years ago |
Bryan Biedenkapp
|
eb57f1b5d8
|
implement functionality to block traffic to specific peers from specific external peers; use std::string over const char* wherever possible to limit pointer passing; implement support in FrameQueue and RawFrameQueue to bypass the queue and directly send messages to specified peers (useful in some situations for packets to be immediately dispatched vs queuing and batching); chunk RID list transmissions to aid in increasing performance (this will likely also need to be done with the TGID lists in the future as well); refactor transmitting ACL lists to peers into its own spun off thread so we don't block the main network processing loop (and infact, this requires documentation; since at a certain peer size DVM network partitioning should be considered to reduce the number of concurrent peers serviced by any given FNE and to better load balance connections across a network, instead of relying on a singular central FNE); implement /peer/count REST API to simply return the known connected count of peers; disable the forced ACL list update functionality (for now);
|
2 years ago |
Patrick W3AXL
|
a279b33876
|
Add RID alias to RID ACL (#48)
* initial RID alias support
* don't use toggle for an RID update from the REST API
|
2 years ago |
Bryan Biedenkapp
|
64e3e91e2e
|
fix missed message;
|
2 years ago |
Bryan Biedenkapp
|
6219929cd5
|
preliminary support for management APIs RID (Query/Add/Delete/Commit), TGID (Query/Add/Delete/Commit) [note: commit doesn't work pending modification to RadioIdLookup and TalkgroupRulesLookup to implement commit/saving to disk];
|
2 years ago |
Bryan Biedenkapp
|
49f1b02ccf
|
add preliminary support for CFNE to have the "affiliated" flag to pass traffic;
|
2 years ago |
Bryan Biedenkapp
|
345495076b
|
fix issue with the FNE not properly rewriting TGIDs for configured peers (the original implementation was slighly naive in assumptions, the new implementation techincally allows rewrites to *any* peer *from* any peer not just ISSI peers); perform some minor cleanup of the REST classes; revert change in ClientConnection and ServerConnection initializing the m_buffer class variable (hopefully this may fix some strange issues being seen);
|
2 years ago |
Bryan Biedenkapp
|
bafad81722
|
fix idiotic issue where armhf for RPI-ARM failed because the 4.9 compiler is garbage;
|
2 years ago |
Bryan Biedenkapp
|
80d38ccf3a
|
refactor and reorganize network socket handling classes to be more consistent;
|
2 years ago |
Bryan Biedenkapp
|
7d1c233875
|
I'm a moron;
|
2 years ago |
Bryan Biedenkapp
|
a4ec7fbfa8
|
add a check for RTP payload type $57 (which we deprecated) so that its essentially ignored, so people on older versions can abuse the newer software; ensure we don't try to transmit terminators for calls that didn't exist on the first place;
|
2 years ago |
Bryan Biedenkapp
|
e75caf0337
|
correct some edge case issues with nullptrs at inappropriate times; check for error condition trying to transmit encrypted network frames with no key;
|
2 years ago |
Bryan Biedenkapp
|
5b5efcbe9d
|
add support for network announcement of unit registration, deregistration and group affiliation so the FNE can collate the data more accurately; implement REST API on dvmfne to support retreiving the list of known affiliations; correct a bug in enumeration of RID and TGID lists that could cause weirdness; remote unnecessary "control" RTP payload type and just use a singluar payload type;
|
2 years ago |
Bryan Biedenkapp
|
5a5104ba2f
|
treewide: perform general refactor of file headers, I've modified the file headers to follow rules from: https://www.kernel.org/doc/html/next/process/license-rules.html, this trims/compresses the file header section a bit reducing the number of lines at the top of every file quite a bit, going forward all new files should follow this new format (if its good enough for the Linux kernel, its good enough for me);
|
2 years ago |
Bryan Biedenkapp
|
0687b1da80
|
include TCP headers;
|
2 years ago |
Bryan Biedenkapp
|
bad8129d7d
|
file header updates;
|
2 years ago |
Bryan Biedenkapp
|
d9e2458722
|
implement support for low-level TCP sockets; deprecate and remove new_unique macro and use appropriate std::make_unique; apply various clang linting;
|
2 years ago |
Bryan Biedenkapp
|
68bfae72bb
|
remove unused variable;
|
2 years ago |
Bryan Biedenkapp
|
8ff7067eca
|
mplement experimental support to AES-256 encrypt the network connection; cleanup some instances where buffers were not being cleaned up properly; cleanup some of the AESCrypto implementation; remove references to some little used compiler macros;
|
2 years ago |
Bryan Biedenkapp
|
eba4db6104
|
refactor RTP code slightly to better handle tracking the RTP timestamp properly;
|
2 years ago |
Bryan Biedenkapp
|
5ed3d79a0b
|
fix inversion of MINOR_VERSION; fix missing HOST_SW_API markers;
|
2 years ago |
Bryan Biedenkapp
|
1447d9dbe0
|
fix bad C++14 handling of overrides (forgot the override keyword);
|
2 years ago |
Bryan Biedenkapp
|
f0be2e0079
|
fix incorrect variable set in P25 SiteData; add VIM YouCompleteMe project configuration;
|
2 years ago |
Bryan Biedenkapp
|
051dc0eb7f
|
allow overriding of group voice channel data in IOSP_GRP_VCH; make sure to instantiate values to sane defaults;
|
2 years ago |
Bryan Biedenkapp
|
6d5e35d361
|
fix issue with net active and roamer reaccess bits in OSP_RFSS_STS_BCAST; add helper function to AffiliationLookup to allow for reverse resolving of grants from source to destination; migrate FNEPeerConnection from a non-pointer reference to a pointer (this allows better tracking of values without copying the connection structure);
|
2 years ago |
Bryan Biedenkapp
|
1c28bed062
|
fixup log messages; allow special CRC bypass conditions; add roamer reaccess flag to OSP_RFSS_STS_BCAST;
|
2 years ago |
Bryan Biedenkapp
|
7513bccf52
|
refactor PROPERTY_PLAIN and READONLY_PROPERTY_PLAIN;
|
2 years ago |
Bryan Biedenkapp
|
c94ddc3421
|
remove unused macros; use __SET_UINT16B for some BaseNetwork values;
|
2 years ago |
Bryan Biedenkapp
|
9611af1374
|
reorganize utility macros from Defines.h to Utils.h; cleanup unneeded includes in some places; cleanup files;
|
2 years ago |
Bryan Biedenkapp
|
d0e4e08b31
|
allow some BaseNetwork functions to be overridden by inheriting classes; allow extension payload header length to be modified by the user;
|
2 years ago |
Bryan Biedenkapp
|
926c9f0c77
|
better comment these buffer value helpers;
|
2 years ago |
Bryan Biedenkapp
|
6c3735befe
|
make hex2Bin and bin2Hex util functions;
|
2 years ago |
Bryan Biedenkapp
|
9fb2201139
|
code cleanup; some minor modifications for out-of-band software;
|
2 years ago |
Bryan Biedenkapp
|
7b95ddff95
|
refactor and rework the CMake build system slightly (so it behaves better when compiled out-of-tree, shhh);
|
2 years ago |
Bryan Biedenkapp
|
cf0d8bb430
|
port RTP header changes from fnecore for better handling the RTP timestamp; relabel conference FNE to converged FNE; refactor version slightly so that the running DVM host version is properly reported to the FNE and when saved to modem configuration area;
|
2 years ago |
Bryan Biedenkapp
|
abbe6cd41c
|
properly queue FNE peer messages (these are distinct from peers connected *to* the FNE, FNE peer messages are messages sent to FNE masters that are "ISSI"ed); better handle logging activity logging;
|
2 years ago |
Bryan Biedenkapp
|
9bd06b916a
|
use better terminology for FNE peer TGID rewriting;
|
2 years ago |
Bryan Biedenkapp
|
bf72dcbee8
|
add support to picojson for uint64_t; correct issue with conference bridge FNE never incrementing a connections ping counter; implement /status and /peerlist APIs for conference bridge REST API; implement support for /peerlist in dvmcmd;
|
2 years ago |
Bryan Biedenkapp
|
21a4a97ec3
|
ensure if the network changes the destination ID for P25 and NXDN in-flight the LC data is properly replaced; implement talkgroup mutation by peer on conference bridge FNE;
|
2 years ago |
Bryan Biedenkapp
|
73e32df310
|
ensure DMR doesn't try to perform supervisory control for the opposing slot on a CC instance; correct TSBK ToString();
|
2 years ago |
Bryan Biedenkapp
|
2d809e0a61
|
complete the job Faulty started and remove remnants of deprecated ENABLE_DMR, ENABLE_P25 and ENABLE_NXDN compiler options;
|
2 years ago |
Bryan Biedenkapp
|
ddfb6aaedc
|
properly handle swapping between Rx and Tx antennas for BER operations on hotspots (this requires updated firmware);
|
2 years ago |
Bryan Biedenkapp
|
a4ffa1d164
|
fix issue with local asio::asio not being properly used when compiling libcommon;
|
2 years ago |
Bryan Biedenkapp
|
97af96a6ad
|
be verbose in cmake output when enabling various debugs; correct issue with startup messages;
|
2 years ago |
Bryan Biedenkapp
|
0f770462b7
|
update headers to properly reflect which module/package the file belongs;
|
2 years ago |
Bryan Biedenkapp
|
2150b69137
|
move AMBT packets into their own directory; create common static library CMakeLists;
|
2 years ago |
Bryan Biedenkapp
|
1379482fcc
|
reorganize entire codebase structure; move common classes, files into a compile time static library; reorganize CMake files to make use of common static library to reduce compile time;
|
2 years ago |