Moved repeated key hash calculation out to the filter preprocess
phase. Moved heard list expiration to be done once per 2 minutes,
instead of every time. 32 hash buckets instead of 16. Less function
arguments.
Initially contains only HR-IXPWIND / Haute Networks HauteWIND.
It transmits LF NUL for line termination instead of CR LF. Enabled
quirks mode for the client, and made it strip spaces and NULs
from beginning of packets.
so that we don't need to walk through all clients when looking
for dupeclients. Optimisation starting point: will classify
other types of clients in their own lists.
Limits the total amount of logged-in clients, not counting
peers or uplinks, and UDP clients are only included once for the
TCP/SCTP control connection.
Added check for MaxClients being < FileLimit - 50, so that file
descriptors are reserved for Uplinks and file IO.
listeners and protocols, and put the counter arrays in the status
JSON.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@858 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
after new uplink connection could cause the uplink socket to be lost and
uplink not being logged in & processed.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@825 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
characters. Sanitize version and filter strings to remove control
characters.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@721 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
User PTHREAD_MUTEX_RECURSIVE mutex for worker's clients_mutex so that the
mutex will not be unlocked early on Linux.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@643 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
parse_aprs: identify 3rd party packets (although they are dropped
already before this point).
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@597 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
Show "+UDP" in address for clients which have UDP downstream enabled.
Fix UDP port accounting for the listener ports.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@554 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
even before a position packet has been transmitted by that call.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@543 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
port number in order to properly support listening separately on both
IPv4 and IPv6 on the same port, and still having working UDP client support.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@517 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
Classify incoming packets as coming in from a downstream client,
or an upstream server/core peer. Use the bit to avoid passing data
between upstreams.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@496 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
status json: Display worker thread status a bit.
worker: When shutting down, check for incoming queue consistency
and log errors.
pbuf expiration: expire quickly, in about 10 seconds, to survive
heavy load testing. We don't need them since we don't support history
dumps, right?
Enabled a bunch of debug logs for now.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@480 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
contains TCPIP*. If it's present, set flag F_HAS_TCPIP, and pass packets
from TCPIP stations to clients having heard that same station before.
Also added a test for this case in 40messaging.t
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@462 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
Added client counters for rxqdrops (Q algorithm drops), and rxparsefails
(plain APRS-IS packet parsing fails). Put counters in JSON and web stats.
Put historydb stats counters in JSON too.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@451 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
Do send packets to RW upstream servers (it didn't before).
Status JSON: add upstream server modes to JSON.
git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@423 3ce903b1-3385-4e86-93cd-f9a4a239f7ac