Commit Graph

461 Commits

Author SHA1 Message Date
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
Pierre-Louis Bonicoli eaed46da14
Merge branch 'path_test_use_stat' 2018-03-22 02:37:38 +01:00
Pierre-Louis Bonicoli 025689d807
Merge branch 'dh_param_not_mandatory' 2018-03-22 02:37:23 +01:00
Pierre-Louis Bonicoli 7834471f78
default value isn't used when path doesn't exist 2018-03-22 02:33:25 +01:00
Pierre-Louis Bonicoli 13b2e37635
DH parameters are not always required
for example ECDHE ciphers doesn't require DH parameters.

Closes #499
2018-03-22 02:33:19 +01:00
Pierre-Louis Bonicoli 3afb16d795
checking path: use stat
fopen was used because it's stdlib but stat is already used in other
parts
2018-03-21 11:54:20 +01:00
Pierre-Louis Bonicoli 348737fab5
Fix path construction
Thanks to Renzokuken for pointing that !
Closes #610
2018-03-21 11:09:48 +01:00
Pierre-Louis Bonicoli 96f0403a2a
remove useless calls to FREE
MOVE_STRING macro is used in order to initialize parameters, this
macro calls free when necessary.
2018-02-19 20:08:26 +01:00
Pierre-Louis Bonicoli 83d7f2acbe
Add missing call to MAYFREE 2018-02-19 20:07:38 +01:00
Pierre-Louis Bonicoli dbe19d9387
Handle no defined users 2018-02-19 20:05:32 +01:00
Adam Williamson 2ecd82f011
Fix some 'const const char' declarations
That's one two many consts...recent GCC blips on this.

Signed-off-by: Pierre-Louis Bonicoli <pierre-louis.bonicoli@libregerbil.fr>
2017-07-26 02:46:26 +02:00
Pierre-Louis Bonicoli 2e81cca480 Check value returned by X509_OBJECT_new()
Reported by Alexander Couzens, thanks to him !
2016-11-12 01:09:40 +01:00
Pierre-Louis Bonicoli e452c023ad X509_OBJECT_new: call X509err
mimic behavior of X509_OBJECT_new provided by OpenSSL >= 1.1
2016-11-12 01:09:40 +01:00
Pierre-Louis Bonicoli 6b38449875 Allow to set DH parameters 2016-11-07 17:50:20 +01:00
Pierre-Louis Bonicoli 5db61f3982 Allow to set oidentd path 2016-11-07 11:26:22 +01:00
Pierre-Louis Bonicoli e8b5d02f13 Add missing call to SSL_CTX_free 2016-11-07 11:25:47 +01:00
Pierre-Louis Bonicoli 406ebacfe5 check value returned by SSL_CTX_new 2016-11-07 11:25:44 +01:00
Pierre-Louis Bonicoli ab8e5eece1 Add cipher specifications setting
Allow to configure cipher specifications for the listening bip
connection and for each outgoing IRC connection.

Closes #301
2016-11-07 11:25:37 +01:00