Commit graph

4096 commits

Author SHA1 Message Date
Aaron Jones
280ce6a951
modules/m_sasl.c: abort session if we receive '*' as data
Otherwise we'd send the * on to services as actual data, which is likely
to fail to decode it (it's not valid Base-64) and reply with an SASL ...
D F which will result in us sending a 904 numeric instead of a 906.

cf. https://github.com/ircv3/ircv3-specifications/pull/298#issuecomment-271336287

Reported-By: James Wheare
2018-04-06 19:49:33 +00:00
Chris West (Faux)
26c5df4b1e YESNO options are of type bool, not int 2018-03-23 16:46:38 +00:00
Simon Arlott
fe5fc851aa
gcc7 fixes: NICKLEN -> NAMELEN
Use NAMELEN instead of NICKLEN when accessing Client->name because it
could in theory be a HOSTLEN length string.
2018-01-19 23:26:20 +00:00
Simon Arlott
30053ab982
gcc7 fixes: make fallthrough explicit 2018-01-19 23:26:03 +00:00
Simon Arlott
fd668f9d9e
set version back to -dev 2018-01-18 21:45:32 +00:00
Simon Arlott
8fad942193
charybdis 4.1 2018-01-18 21:42:14 +00:00
Simon Arlott
acd941bfed
ircd: use correct buffer sizes
This fixes an issue with truncated SJOINs.
2018-01-18 21:33:41 +00:00
Aaron Jones
e081bf2988
libratbox/src/mbedtls.c: check public/private keys match 2018-01-06 16:05:48 +00:00
Aaron Jones
3cc262f006
doc/reference.conf: clarify that server link fingerprints aren't optional
[ci skip]
2017-11-04 07:41:54 +00:00
Aaron Jones
efd07994e7
help/Makefile.am: silence construction of indexes, make build depend on index 2017-10-30 17:32:29 +00:00
Simon Arlott
16e66c174f
charybdis 4.1-rc1 2017-10-20 22:47:46 +01:00
Simon Arlott
268044ea40
Add workaround for Linux SCTP_I_WANT_MAPPED_V4_ADDR bug on older kernels 2017-08-24 20:08:22 +01:00
Simon Arlott
6003ce763c
Add outgoing SCTP connect support 2017-08-24 20:08:21 +01:00
Simon Arlott
c6ad9b0c5f
Add basic SCTP listener support that binds to multiple addresses
This only supports two addresses as the intended use is 1 IPv4 and 1 IPv6
address on a single-homed host, and the only supported configuration of
outgoing connections to other servers is to bind a single IPv4 or IPv6
address.
2017-08-24 20:08:20 +01:00
Simon Arlott
589dbf4d0f
rb_connect: use SO_ERROR 2017-08-24 20:08:19 +01:00
Simon Arlott
9caecc9348
rb_inet_pton_sock: initialise sockaddr to zero 2017-08-24 20:08:19 +01:00
Simon Arlott
365e13662e
exit_unknown_client: don't delete servers from the client hash
Outgoing servers are not added to the client hash until they reach
IsServer() status, so if they're unknown when they exit then don't
attempt to delete them.
2017-08-24 20:08:18 +01:00
Simon Arlott
e701026837
tests: add serv_connect1 (exit_unknown_client)
Test serv_connect followed by exit_unknown_client.

An outgoing connection should not delete an incoming connection that
occurs during the connection attempt.
2017-08-24 20:08:17 +01:00
Simon Arlott
4ce1cac4b9
s_serv: connect using both IPv4 and IPv6 if unspecified 2017-08-22 21:55:12 +01:00
Simon Arlott
de2934965c
remove RB_IPV6 2017-08-20 12:54:46 +01:00
Simon Arlott
f21ef0cebc
authd: assume all providers are running
Otherwise ident returns without setting itself running causing problems.

Move opm/blacklist before ident/rdns so that they can receive completion
notifications.
2017-08-20 12:54:45 +01:00
Aaron Jones
ffd0a904d9 Merge pull request #246 from grawity/patch-1
CREDITS: update to match reality
2017-08-17 23:02:52 +00:00
Mantas Mikulėnas
b25a10e23d CREDITS: update to match reality 2017-08-17 08:37:10 +03:00
Simon Arlott
9844105c3c
charybdis 4.1-dev 2017-08-13 21:57:23 +01:00
Simon Arlott
0ee833da4a
m_sasl: indicate client connection type for SASL 2017-08-09 22:04:11 +01:00
Simon Arlott
fa2367e3f3
librb: remove zstring
rb_zstring_serialized leaks memory while doing nothing with its
arguments... nothing is using zstring so remove it
2017-08-06 18:40:24 +01:00
Simon Arlott
959dffde9b
tests: add rb_dictionary1
This doesn't do much because replacing existing elements isn't allowed.
2017-08-06 18:38:43 +01:00
Simon Arlott
1272b289e6
librb: dictionary_add mishandles replacing elements
This can only happen with soft asserts otherwise it will crash instead.

Nothing currently uses the return value of rb_dictionary_add.
2017-08-06 18:38:35 +01:00
Simon Arlott
f06b5e9c53
charybdis 4-rc6 2017-08-06 16:43:49 +01:00
Simon Arlott
cb53fd6a83
tests: send1: add tag tests to all functions 2017-08-06 16:21:30 +01:00
Simon Arlott
4b1cce65ed
ircd: send tags on every message
Simplify linebuf by introducing fsnprint to manage a list of printfs.
Add a msgbuf unparse cache for send functions that loop.
2017-08-06 16:21:29 +01:00
Simon Arlott
8f43ad3f72
tests: send1: fix sendto_channel_opmod (remote) to cover all scenarios 2017-08-06 13:30:47 +01:00
Simon Arlott
a53032dd70
tests: send1: fix sendto_channel_opmod (remote) to call the right function 2017-08-06 13:14:12 +01:00
Simon Arlott
dd3a17a0c2
tests: send1: add missing CAP_SERVER_TIME test to sendto_channel_flags from remote users 2017-08-06 13:00:49 +01:00
Simon Arlott
762adec9f6
tests: send1: test MODE_MODERATED with sendto_channel_opmod 2017-08-06 12:53:39 +01:00
Simon Arlott
692fbac66d
tests: send1: load modules in a predictable order
So that tags are added in the same order every time.

# wanted: @time=2017-07-14T02:40:00.000Z;account=test :LChanPeon!username@example.test TEST #placeholder :Hello World!
#   seen: @account=test;time=2017-07-14T02:40:00.000Z :LChanPeon!username@example.test TEST #placeholder :Hello World!
2017-08-06 11:05:03 +01:00
Simon Arlott
4e9035f2f1
tests: add missing modules symlinks 2017-08-06 01:42:51 +01:00
Simon Arlott
54f75d36e3
tests: add remaining sendto_* tests 2017-08-06 01:12:59 +01:00
Simon Arlott
42ae8ab21f
ircd: check caps for user in sendto_common_channels_local 2017-08-05 22:34:17 +01:00
Simon Arlott
60f1d711e6
tests: add remote server message tests
Test sendto_one, sendto_one_prefix, sendto_one_notice and complete
sendto_one_numeric (for unregistered clients).
2017-08-05 16:54:44 +01:00
Simon Arlott
6af47466a8
tests: add client util make_local_person_oper() 2017-08-05 14:14:53 +01:00
Simon Arlott
d2b5f4111b
tests: add sendto_* test framework 2017-08-05 14:09:01 +01:00
Simon Arlott
84a3275b7a
ircd: log command in mod_add_cmd/mod_del_cmd error scenarios 2017-08-05 12:29:52 +01:00
Simon Arlott
4212494106
ircd: substitution: fix buffer overrun if variable name is too long
Also fix the "ptr = ptr + (pptr - ptr)" aka "ptr = pptr" mess by
removing pptr.
2017-08-05 11:27:02 +01:00
Simon Arlott
6b80043eca
remove unused variables 2017-08-04 21:01:29 +01:00
Simon Arlott
4f8866f680
ssld: avoid clang static analysis warning
Edit by @aaronmdjones: fix for loop initialisation and inner condition
2017-08-04 20:51:53 +01:00
Simon Arlott
b582b00585
tests: fix warnings 2017-08-04 20:02:27 +01:00
Simon Arlott
de36941445
remove unused variables 2017-08-04 20:02:20 +01:00
Simon Arlott
2355be38a3
m_webirc: set sockhost before potentially using it to set host
Remove extra IP check, it's not necessary.
2017-08-01 22:42:56 +01:00
Simon Arlott
a2a670824c
cap_server_time: check return values of string functions 2017-07-31 07:58:06 +01:00