1
0
forked from bip/bip
Commit Graph

493 Commits

Author SHA1 Message Date
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
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
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
3d732651bc
Improve wording in error message 2021-10-07 18:10:28 +02:00
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
814d54c676
use strftime instead of snprintf wherever possible 2018-12-12 03:02:21 +01:00
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
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
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