Commit Graph

1494 Commits

Author SHA1 Message Date
Heikki Hannikainen 79b6c3eb0f v2.1.13 2022-11-02 01:09:12 +02:00
Heikki Hannikainen 17dce48cd0 uplink: Fix building on older GCC 2022-11-01 23:08:03 +00:00
Heikki Hannikainen b66ec82f96 v2.1.12 2022-11-02 00:35:26 +02:00
Heikki Hannikainen e8f9a393bc tls: Make it build with openssl < 1.1 2022-11-02 00:35:01 +02:00
Heikki Hannikainen f80e709945 tls: Disable TLSv1.1 to meet PCI-DSS requirements 2022-11-02 00:02:27 +02:00
Heikki Hannikainen 4dedec62b2 uplink: Check return value of getsockname, fix rare resource leak 2022-11-01 23:44:09 +02:00
Heikki Hannikainen cf468c9af9 coverity: Fix some uninitialized variables 2022-11-01 23:35:57 +02:00
Heikki Hannikainen 18505a1c4a dupecheck: Remove unused variables 2022-11-01 23:35:57 +02:00
Heikki Hannikainen 8a410f9690 coverity: Fix format string bugs in logging
Mostly long integers printed with %d.
2022-11-01 23:35:57 +02:00
Heikki Hannikainen 1e594c0978 configure: Build with TLS enabled by default 2022-11-01 20:25:15 +02:00
Heikki Hannikainen 431293d7e1 version: Use 'tls' in features string instead of 'ssl' 2022-11-01 08:49:52 +02:00
Heikki Hannikainen 2b40f84b77 incoming: Remove a few unnecessary initializations 2022-10-31 19:05:43 +02:00
Heikki Hannikainen 43dd2bf16e dupecheck: Further optimize CPU use, skip some unnecessary scans
Only scan regular packets without DELs or low bytes once.
2022-10-31 19:05:08 +02:00
Heikki Hannikainen eb2c199a66 dupecheck: Optimize CPU use slightly 2022-10-31 19:04:31 +02:00
Heikki Hannikainen 46b6947f1e accounting: Optimize CPU use of tx/rx accounting counters
TX counters are updated much more often than RX counters. No need
to bump RX counters for every outgoing packet, and no need
to bump TX counters for every incoming packet. Split them out.
2022-10-31 19:04:01 +02:00
Heikki Hannikainen dc2f797c61 tls: Rename SSL to TLS in log messages 2022-10-25 02:03:24 +03:00
Heikki Hannikainen b10084b45d tls: Rename ssl.c to tls.c 2022-10-25 02:03:24 +03:00
Heikki Hannikainen 6fab86fd4c config: Start renaming ssl config options to tls
Rename sslkey, sslcert, sslca, sslcrl parameters of listen/uplink
directives to tlskey, tlscert, tlsca, tlscrl. The old parameter
names are still accepted for the time being.
2022-10-25 02:03:24 +03:00
Heikki Hannikainen f6ce97c02f ssl: Fix compile-time warnings 2022-10-25 01:18:03 +03:00
Heikki Hannikainen 8a6c464cc0 sctp: Switch to buffered writes faster
On a very fast feed, writes may otherwise fail before the
switch happens.
2022-10-24 00:59:01 +03:00
Heikki Hannikainen 986c74545f README.sources: + sctp.c, ssl.c 2022-10-23 19:32:34 +03:00
Heikki Hannikainen d6cd044c3c sctp: Enable SCTP_NODELAY 2022-10-23 19:32:34 +03:00
Heikki Hannikainen df3efad7ad sctp: Remove dead code 2022-10-23 19:32:34 +03:00
Heikki Hannikainen 55a0106ba8 sctp: Improve logging 2022-10-23 19:32:34 +03:00
Heikki Hannikainen 0075014c40 sctp: Buffer outgoing data, similar to TCP
Instead of sending one APRS-IS line per SCTP message, combine multiple
messages in a single SCTP message. This reduces the amount of system
calls a lot and improves eventual DTLS performance.
2022-10-23 19:32:34 +03:00
Heikki Hannikainen ea9c80b5ea sctp: Increase logging level on address assignments a bit 2022-10-23 19:32:34 +03:00
Heikki Hannikainen 51effcfad5 status: Indicate SCTP connections and listeners in status web 2022-10-23 19:32:34 +03:00
Heikki Hannikainen 895e13eb39 debian: Add dependencies for libsctp 2022-10-23 19:32:34 +03:00
Heikki Hannikainen ee4e4a7387 uplink: Call res_init after resolv.conf changes
Older glibc versions have a bug where resolv.conf is not reloaded after it
changes.  Debian distributions have been shipped with a patch to work around
the bug, so this likely only affects other distributions.

Hopefully fixes #68.
2022-10-23 16:32:34 +03:00
Heikki Hannikainen 007f70c72f uplink: Faster uplink thread shutdown while uplinks are timing out
If uplink connections are failing with timeouts, aprsc shutdown
was taking too long. Shut down faster.
2022-10-23 02:39:24 +03:00
Heikki Hannikainen 45ee7a6bf9 uplink: Prevent blocking of worker threads while establishing uplink connection
uplink_client_mutex was being held for a long while during connection
establishment attempts, and it would also be required by the worker thread
when handling a closing upstream connection.

Fixes #64.
2022-10-23 02:39:24 +03:00
Heikki Hannikainen 80df3b4fd4 v2.1.11 2022-05-08 15:49:02 +03:00
Heikki Hannikainen e725a5777c config: Reduce pbuf global ttl from 4 minutes to 1 minute
Reduces memory use under high packet rate.
2022-05-08 15:19:09 +03:00
Heikki Hannikainen b60c41e5d9 cellmalloc: Do not allocate new cell blocks if CELLBLOCKS_MAX is reached
Do not even try to do an allocation if the maximum amount of blocks
are already allocated. The old code did an allocation with mmap() and
then didn't use it, causing a virtual size leak.

Fixes #69
2022-05-08 00:12:19 +03:00
Heikki Hannikainen 2c3d5f52b2 client_buffer_outgoing_data(): refactor obuf space freeing to another function 2022-02-09 23:37:09 +02:00
Heikki Hannikainen 448c71fbbd urandom_alphanumeric: Better distribution when using random() 2022-02-09 23:37:09 +02:00
Heikki Hannikainen c1385db760 Move random string generation to random.c 2022-02-09 23:34:48 +02:00
Heikki Hannikainen 45fc046f5e aprsc.c: Refactor instance ID generation to split it up a bit 2022-02-09 23:30:54 +02:00
Heikki Hannikainen 24af04a801 login: modularize a bit 2022-02-09 23:28:47 +02:00
Heikki Hannikainen 937433a17d Rename aprsis CRLF deframing function to deframe_aprsis_input_lines
and make it static
2022-02-09 23:19:31 +02:00
Heikki Hannikainen 45aa09b3cb consume_input_aprsis: optimize to use array index access insted
of pointer bumping
2022-02-09 23:19:22 +02:00
Heikki Hannikainen 12bebb1936 worker data input: refactor packet deframing (CRLF delimiter) to
a separate function
2022-02-09 23:19:15 +02:00
Heikki Hannikainen d72a17c4c8 v2.1.10 2021-09-04 15:10:33 +03:00
Heikki Hannikainen 35aa924401 debian/control: Add build-depends dev libs 2021-09-03 23:37:28 +03:00
Heikki Hannikainen 2c0aa53853 v2.1.9 2021-09-03 23:21:58 +03:00
Heikki Hannikainen 24791a6e9b config: Fix heap overflow when selecting instance-specific pid file name 2021-09-01 21:15:32 +00:00
Heikki Hannikainen 78bc298df0 historydb: Fix valgrind builds 2021-09-01 21:15:14 +00:00
David Schadlich 74ed31711c Add support for defining pid file as a command line argument
Signed-off-by: David Schadlich <dschadlich@gmail.com>
2021-01-28 19:26:21 -05:00
Heikki Hannikainen f8824e85f7 v2.1.8 2020-09-07 22:41:54 +03:00
Heikki Hannikainen e0e47a60a6 client_heard: Limit per-client heard list to 2000 entries 2020-09-07 22:18:28 +03:00