Loïc Gomez
d19099eb3c
Log unhandled IRC errors as LOG_INFO in bip.log
...
This will allow for user feedback in main bip.log when an IRC error
occurs, like:
- 401 ERR_NOSUCHNICK
- 404 ERR_CANNOTSENDTOCHAN
- 432 ERR_ERRONEUSNICKNAME
These should not be logged as LOG_ERROR as they are not bip errors but
usually on the end user instead.
Signed-off-by: Loïc Gomez <bip@animanova.fr>
2024-02-18 23:45:12 +01:00
Loïc Gomez
99a1244e46
Allow a user to /BIP JUMP [-f] [other_conn] (within their list).
...
This can be useful when a connection is very slow to reconnect and the
user wants to force an immediate reconnection.
Also:
- fix message when JUMPing on some already reconnecting link
- add find_link() method
- add reconnect timer info if any (else display 0s)
- add -f flag to reset reconnect timer
Signed-off-by: Loïc Gomez <bip@animanova.fr>
2024-02-18 23:39:27 +09:00
Loïc Gomez
edd460a8fa
Set default recon_timer (and step) to 30s
...
Waiting 2 minutes on the first disconnect is depressing.
With this the maximum of 10min wait time is reached after 20 attempts
instead of the current 5 attempts.
Signed-off-by: Loïc Gomez <bip@animanova.fr>
2024-02-18 00:07:41 +01:00
Loïc Gomez
4cd5bdb381
Set default backlog_lines = 0 (fixes Debian bug #818374 )
...
This would have defaults move to backlog_always=false / log=true /
backlog_lines=0, which should not cause much trouble as backlog will
be reset after being displayed.
Also, it is doubtfuk anyone would be keeping the default of 10 for
backlog as it is pretty much an undesirable configuration.
We need to annouce this change as important though, so users having
log = false are aware memory usage could increase if they don't set
it manually to another value.
Signed-off-by: Loïc Gomez <bip@animanova.fr>
2024-02-17 03:29:45 +01:00
Pierre-Louis Bonicoli
f2fd1824ca
Format the whole code using clang-format
2022-03-10 14:21:01 +01:00
Loïc Gomez
8d9658ca43
Build lexer in a separate unit without AM_CFLAGS
2022-03-10 14:20:58 +01:00
Loïc Gomez
e04f97c78f
ignore some issues related to array_get
...
ignore "passing argument X of .... with different width due to prototype"
2022-03-10 14:20:55 +01:00
Loïc Gomez
26d347dec6
sanitize: fix const char * being used as non-const
2022-03-10 14:20:52 +01:00
Loïc Gomez
ee6ee0bd34
irc_cli_part set cname to proper const char *
2022-03-10 14:20:49 +01:00
Loïc Gomez
edf78eadb1
sanitize: pragmas for our code
2022-03-10 14:20:46 +01:00
Loïc Gomez
efb79b1e80
sanitize: a bit evolved size_t cast for get_str_elem
2022-03-10 14:20:43 +01:00
Loïc Gomez
79d9be4e71
sanitize: ftell/fseek & len/file_offset type fixes
2022-03-10 14:20:41 +01:00
Loïc Gomez
dbf8ccd4de
sanitize: more NULL pointer failsafes
2022-03-10 14:20:35 +01:00
Loïc Gomez
f54775fe92
sanitize: ignore warnings related to external libs
2022-03-10 14:20:32 +01:00
Loïc Gomez
f379eb35d2
sanitize: oidentd handler fixes
2022-03-10 14:20:29 +01:00
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