Commit Graph

478 Commits

Author SHA1 Message Date
Loïc Gomez ce4cf8b6a0
sanitize: add bip_clock_gettime util function 2022-03-10 14:20:26 +01:00
Loïc Gomez 368149575d
sanitize: null writes, write errors, oversized int,
and set incoming_end to size_t
2022-03-10 14:20:23 +01:00
Loïc Gomez b990a071b3
sanitize: fix pid/pidfile handling 2022-03-10 14:20:20 +01:00
Loïc Gomez af590f83b7
lag shouldn't be allowed to go negative 2022-03-10 14:20:17 +01:00
Loïc Gomez 62fd77dc17
l_clientc should not be allowed to go negative 2022-03-10 14:20:15 +01:00
Loïc Gomez dd5343b710
use proper types, safe casts (mostly size_t) 2022-03-10 14:20:12 +01:00
Loïc Gomez 94fe272018
handle more config errors, use char not int:1 2022-03-10 14:20:06 +01:00
Loïc Gomez fbfae37d65
sanitize: configuration parsing 2022-03-10 14:20:03 +01:00
Loïc Gomez 9d6394679f
sanitize: check return value 2022-03-10 14:20:00 +01:00
Loïc Gomez 2a5e7b6f7b
sanitize: add trivial casts to types
and add missing default cases
2022-03-10 14:19:57 +01:00
Loïc Gomez e694dae31c
functions without parameters: add missing void 2022-03-10 14:19:51 +01:00
Loïc Gomez 26d34bafab
sanitize: add bipmkpw_fatal & fix bipmkpw warnings 2022-03-10 14:19:46 +01:00
Loïc Gomez fe108e390f
Add secure / strict CFLAGS
Ref: https://airbus-seclab.github.io/c-compiler-security/#gcc-tldr
2022-03-10 14:19:40 +01:00
Loïc Gomez 34b3c4b0c3
Move /BIP to bip_strcat{,f}_fit memccpy wrapper
instead of snprintf.
2022-03-10 14:19:28 +01:00
Loïc Gomez 399a104d1e
fix /bip user info command 2022-03-10 14:19:22 +01:00
Loïc Gomez dc43d75d1f
Add SASL authentication support (EXTERNAL, PLAIN) 2022-03-10 14:19:19 +01:00
Pierre-Louis Bonicoli 462c1036fc
Fix spelling errors found by Lintian 2021-10-17 12:19:39 +02:00
Thomas Vigouroux 2c7b8aa155
Allow customizing the timestamp format 2021-10-08 11:50:17 +02:00
Pierre-Louis Bonicoli 3d732651bc
Improve wording in error message 2021-10-07 18:10:28 +02:00
Pierre-Louis Bonicoli e6547b8a48
Fix a typo (s/LOGING/LOGGING/) 2021-10-07 18:10:25 +02:00
Adam Williamson 92819d87ea
Fix stringop-truncation error (thanks DJ Delorie)
See https://bugzilla.redhat.com/show_bug.cgi?id=1799189. bip build fails
on current Fedora Rawhide GCC and glibc. DJ Delorie says "The warning is
correct; the code is copying up to the NUL on purpose, then copying the
NUL in a separate command.  Not sure why." Tom Hughes suggests this as
the fix.
2020-05-18 03:28:44 +02:00
Arnaud Cornet c9cc64f2e1 Be more consistent when freeing incomplete clients.
Cleanup IRC_TYPE_TRUST_CLIENT clients from the connecting client list
the same way as IRC_TYPE_LOGING_CLIENT.
2018-12-25 10:13:54 -05:00
Arnaud Cornet 0044826084 Don't unbind succesful trusting clients twice.
Complements commit 60122ef160.
2018-12-24 16:58:59 -05:00
Arnaud Cornet 60122ef160 Unbind clients of type IRC_TYPE_TRUST_CLIENT.
The clients connection was nulled in irc_closed, but the clients were
not removed from the link, which caused a segfault on successful
connection.

https://projects.duckcorp.org/issues/637
2018-12-17 22:33:19 -05:00
Pierre-Louis Bonicoli 814d54c676
use strftime instead of snprintf wherever possible 2018-12-12 03:02:21 +01:00
Pierre-Louis Bonicoli a86b73ab03
reuse AM_CFLAGS wherever needed 2018-12-12 02:09:10 +01:00
Arnaud Cornet e5005cea34 Cleanup the network properly when we fail to load. 2018-12-11 19:46:38 -05:00
Arnaud Cornet 16f2be6ac2 Give up loading invalid configurations.
Bip does not know how to deal with a network with no server. Simply
prevent loading such bad configs.
Fixes: https://projects.duckcorp.org/issues/611
2018-12-11 19:37:36 -05:00
Pierre-Louis Bonicoli 09053fc5f0
CFLAGS: use -W{all,extra,error} by default again 2018-12-11 11:12:08 +01:00
Arnaud Cornet 65406960aa Merge remote-tracking branch 'origin/master' 2018-12-09 20:05:40 -05:00
Arnaud Cornet df5508eed0 Deal more gracefully with long home directories.
This is a better fix for:
https://projects.duckcorp.org/issues/636
2018-12-09 19:52:46 -05:00
Arnaud Cornet 87192685f5 Fix gcc-8 warning.
Change weird use of strncpy where we know we will truncate and use an
extra byte copy instead.
2018-12-09 19:40:36 -05:00
Arnaud Cornet d2dcb0adb1 Fix warning with gcc-8.
Fixes: https://projects.duckcorp.org/issues/636
2018-12-09 19:27:56 -05:00
Pierre-Louis Bonicoli 02c55a37b2
add debug log & differentiate error messages 2018-12-10 00:18:54 +01:00
Arnaud Cornet caf979a4c5
Close descriptor when SSL reports a system error.
Avoids leaking fd when connections are closed abruptly.
2018-12-10 00:14:57 +01:00
Arnaud Cornet 513a6582ad
Add CFLAGS needed for openssl.
Otherwise building fails in platforms with esoteric openssl locations.
2018-12-10 00:14:45 +01:00
Arnaud Cornet 2bf967bacc
Add missing OpenSSL CFLAGS/LDFLAGs to build.
Those were removed by mistake in the previous autotool refactor.
2018-12-10 00:14:08 +01:00
Arnaud Cornet 34a92dedb1
Remove OIDENTD build options.
Instead support a runtime option.
Note that existing oidentd users will have to add write_oidentd = true
in their config to keep existing behavior.
2018-12-10 00:05:44 +01:00
Arnaud Cornet 7844716af5
Fewer configure options.
Use pkg-config to detect openssl.
Eagerly use backtrace if provided by libc.
2018-12-10 00:05:29 +01:00
Arnaud Cornet c0fafe669d
Simplify autotools configuration. 2018-12-10 00:03:50 +01:00
Arnaud Cornet 4d7f243777 Close descriptor when SSL reports a system error.
Avoids leaking fd when connections are closed abruptly.
2018-12-09 14:27:59 -05:00
Arnaud Cornet 2fd3418a9e Add CFLAGS needed for openssl.
Otherwise building fails in platforms with esoteric openssl locations.
2018-12-09 14:04:43 -05:00
Arnaud Cornet fbde155287 Add missing OpenSSL CFLAGS/LDFLAGs to build.
Those were removed by mistake in the previous autotool refactor.
2018-11-18 15:37:46 -05:00
Arnaud Cornet 012b21a68b Remove OIDENTD build options.
Instead support a runtime option.
Note that existing oidentd users will have to add write_oidentd = true
in their config to keep existing behavior.
2018-11-18 15:07:16 -05:00
Arnaud Cornet 40233ff938 Fewer configure options.
Use pkg-config to detect openssl.
Eagerly use backtrace if provided by libc.
2018-11-18 14:30:17 -05:00
Arnaud Cornet 27f1cf988b Simplify autotools configuration. 2018-11-18 09:10:16 -05:00
Arnaud Cornet aa35b372b4
Add unit tests.
Add an optional build dependency on check and add an initial test case.
2018-11-14 02:26:39 +01:00
Arnaud Cornet 34711f7653
Move automake file in src subdir, isolate main.
In preparation for adding a unit test directory, move Makefile.am in
src, and build a static libbip before linking a binary.
2018-11-14 02:26:27 +01:00
Arnaud Cornet 53dafd9590 Add unit tests.
Add an optional build dependency on check and add an initial test case.
2018-11-13 08:25:46 -05:00
Arnaud Cornet 057107a233 Move automake file in src subdir, isolate main.
In preparation for adding a unit test directory, move Makefile.am in
src, and build a static libbip before linking a binary.
2018-11-11 18:18:21 -05:00