Commit graph

3685 commits

Author SHA1 Message Date
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
Simon Arlott
2d5f4d8e7f
cap_server_time: provide time with millisecond resolution 2017-07-30 22:03:23 +01:00
Simon Arlott
30275c67c5
charybdis 4-rc5 2017-07-30 18:43:52 +01:00
Aaron Jones
515467e527
mbedtls.c: minor fixups
- Add (void) casts for unused function parameters
- Rearrange member in `struct rb_mbedtls_cfg_context' for data alignment
- Document a `clang-4.0 -Weverything' (-Wcast-qual) diagnostic
- Avoid pointless conversions between positive/negative error codes
- Use capital hexadecimals in error codes and properly cast to
  (unsigned int) for %x/%X
2017-07-30 18:41:32 +01:00
Simon Arlott
3fb264ef49
m_cap: use rn_snprintf_try_append 2017-07-30 18:30:28 +01:00
Simon Arlott
0e6b8d0af9
tests: add rb_snprintf_append, rb_snprintf_try_append tests 2017-07-30 17:05:26 +01:00
Simon Arlott
e5c434a2df
librb: add rb_snprintf_try_append
For when it might fit, or it might not.
2017-07-30 17:04:06 +01:00
Simon Arlott
8573c3409e
librb: rb_snprinf_append: handle error return value from vsnprintf() 2017-07-30 17:03:30 +01:00
Simon Arlott
2cc7be9977
tests: add rb_linebuf_put tests 2017-07-30 15:56:29 +01:00
Simon Arlott
7a06833fb4
librb: linebuf: reduce the number of "put" implementations from 4 to 1 2017-07-30 15:51:45 +01:00
Simon Arlott
a7fed8715b
Revert "Core modules cannot be unloaded, otherwise bad things happen."
This reverts commit b5cfad0319.
2017-07-29 23:52:06 +01:00
Simon Arlott
2f0b6f83bd
m_join: remove global variable parabuf 2017-07-29 23:48:55 +01:00