Commit graph

2383 commits

Author SHA1 Message Date
William Pitcock 48a2b7c182 hook: allow hook_data to have non-const arguments, add hook_cdata for arguments that must be treated const 2016-02-20 17:44:13 -06:00
William Pitcock cf549495d8 libratbox: export rb_linebuf_putprefix on linux 2016-02-20 17:30:20 -06:00
William Pitcock ddedc60398 cap: register the account-tag capability 2016-02-20 17:26:35 -06:00
William Pitcock 5559c3cf17 send: implement partial support for outbound tags (enough for account-tag as a testcase) 2016-02-20 16:37:19 -06:00
William Pitcock 4f8ababae0 send: implement linebuf_put_msgbuf() and msgbuf_build_from(), which build the core of the ircv3.2 tags support for outbound messages 2016-02-20 15:50:12 -06:00
William Pitcock 5abeae60b8 libratbox: implement rb_linebuf_putprefix() which joins a format string to a static string 2016-02-20 15:12:13 -06:00
William Pitcock 33085472a2 msgbuf: make msgbuf_unparse_prefix() public 2016-02-20 14:46:09 -06:00
William Pitcock c678fbc08b ircd: remove broken USE_IODEBUG_HOOKS knob and related code 2016-02-20 12:02:49 -06:00
William Pitcock 8f64d32533 msgbuf: implement msgbuf_vunparse_fmt() and friends 2016-02-20 11:38:00 -06:00
William Pitcock 691adddd0e msgbuf: handle me.name properly 2016-02-20 11:23:44 -06:00
William Pitcock 4a13e3f1da msgbuf: add some message building code 2016-02-20 11:21:12 -06:00
William Pitcock d84acbceca newconf: move SSL/TLS deprecation message from ERROR severity to WARNING severity 2016-02-19 17:11:25 -06:00
William Pitcock 7baa37a9ef msg: remove last vestiges of the fakelag system. charybdis has never supported fakelag. 2016-02-19 16:43:39 -06:00
William Pitcock e742a9e9e7 Merge pull request #149 from anarcat/reproducible
make build reproducible
2016-02-16 00:01:57 -06:00
Antoine Beaupré a393a68a0e make build reproducible
we do this by removing the uname usage everywhere: it is not actually
used at runtime at all.

we keep the timestamp, because it is actually used in user_welcome()
but allow it to be overriden.

ideally, that timestamp would be completely removed, but I am not sure
what to put in its place, or if it would break some mysterious RFC (or
client!) if we remove that announcement.
2016-02-16 00:37:20 -05:00
William Pitcock 0fc6e6891a Merge pull request #147 from anarcat/extra-clean
add missing files to the clean target
2016-02-15 23:07:03 -06:00
Antoine Beaupré 4354228c72 add missing files to the clean target
without those, make; make clean is not idempotent
2016-02-15 22:24:48 -05:00
William Pitcock d670fe5271 msgbuf: msgbuf_append_tag(): add support for attaching a specific capability bit 2016-02-13 00:19:23 -06:00
William Pitcock b4993fe8c3 msgbuf: pull in s_assert 2016-02-12 12:12:30 -06:00
William Pitcock 920e4849f1 msgbuf: fix AFP() macro 2016-02-12 11:56:15 -06:00
William Pitcock 9d5170247e msgbuf: attach capabilities mask to each tag for sending
this will be used with a bloom filter to speed up the 1-to-many case
2016-02-11 19:50:47 -06:00
William Pitcock 7b20f46ed3 Merge pull request #146 from lp0/fix-sqlite-unixRandomness-read-20160211
bandb: sqlite3: check read() return value
2016-02-11 16:13:34 -06:00
William Pitcock 5f8919a9c3 Merge pull request #145 from lp0/fix-ssld-fmt-warnings-20160211
ssld: fix format string warnings for statistics
2016-02-11 16:13:20 -06:00
Simon Arlott 20b940a99c
bandb: sqlite3: check read() return value 2016-02-11 22:08:37 +00:00
Simon Arlott 26b83fa09d
ssld: fix format string warnings for statistics
Cast the uint64_t format arguments to unsigned long long as
that's what the format string specifies.
2016-02-11 21:58:44 +00:00
William Pitcock 08006c16f8 msgbuf: do a better job of handling gotchas with parsing tags 2016-02-10 21:16:28 -06:00
William Pitcock c84003aeb5 ssld: we use uint8_t for IPC buffers, not char 2016-02-10 21:03:09 -06:00
William Pitcock a1125230f3 libratbox: time_t can be 64-bit, so use labs() 2016-02-10 21:02:56 -06:00
William Pitcock ca45daba73 extensions: add m_echotags extension to echo back your tags in NOTICE form 2016-02-10 21:00:27 -06:00
William Pitcock 428ca87b01 modules: chase MsgBuf API change 2016-02-10 20:54:17 -06:00
William Pitcock 760bafdac3 extensions: update for API change 2016-02-10 20:14:22 -06:00
William Pitcock 4a84a763cd ircd: change MessageHandler to include a MsgBuf pointer at the front for tag access 2016-02-10 20:13:44 -06:00
Simon Arlott 8ace0906ad libratbox: event: continually adjust ish event times
When events are scheduled to run at a random +/- 1/3rd of the specified
frequency it can vary considerably for the longer timers (particularly
try_connections), so adjust the frequency to a different random interval
of the original frequency every time the event runs.
2016-02-10 19:03:31 -06:00
Simon Arlott eb1b303d56 ircd: support restarting ssld processes
Add REHASH SSLD (admins only) that starts new sslds and marks the
existing ones as inactive until all their clients disconnect.

Very useful whenever the SSL library has a vulnerability because
new connections can use a new version of the library without
disconnecting existing clients/servers.

Add STATS S (admins only) to list ssld processes, status, and client
count.
2016-02-10 19:03:30 -06:00
William Pitcock dea27a087c Merge pull request #144 from lp0/handle-which_ssld_failure-start_ssld_connect-accept-20160210
ircd: Handle which_ssld failure
2016-02-10 18:54:05 -06:00
Simon Arlott 5e270e7d89
ircd: Handle which_ssld failure
It's possible for which_ssld to fail and return NULL, handle this in
start_ssld_connect and start_ssld_accept by returning NULL. The NULL
return value is already handled in all calls to start_ssld_accept,
so handle this for start_ssld_connect by reporting an error connecting.

Handle it in start_zlib_session by exiting the client.
2016-02-10 22:45:38 +00:00
Simon Arlott b9ff4868a9
ircd: add missing rb_free in start_zlib_session 2016-02-10 22:45:35 +00:00
William Pitcock 6d01fdc791 Merge pull request #137 from lp0/fix-ssld-change_connid-20160207
ssld: change_connid may be called with an unknown ID
2016-02-10 15:54:43 -06:00
William Pitcock 45d128bc10 Merge pull request #142 from lp0/fix-random_socket-20160210
authd: fix link failure in random_socket
2016-02-10 15:53:27 -06:00
Simon Arlott 3f6cbacc41
authd: fix link failure in random_socket
The random_socket function isn't used, and the code can only be
compiled if the function is optimised away (because it's static
and unused) otherwise it will fail to link when "ipv4_addr" and
"ipv6_addr" are not found.

Fix this by modifying ipv4_addr and ipv6_addr so that they're not
external variables.
2016-02-10 21:29:41 +00:00
Simon Arlott 7beaee5239
ssld: change_connid may be called with an unknown ID
If change_connid is called with an unknown ID, conn will be
NULL, check this with an assert and then respond by reporting
the new ID as closed instead of dereferencing a NULL pointer.
2016-02-10 21:22:50 +00:00
William Pitcock 1579e155b1 parse: further cleanups 2016-02-10 10:25:16 -06:00
William Pitcock 20dd3725b8 parse: fix aliases 2016-02-10 10:09:42 -06:00
William Pitcock 269dd686b3 msgbuf: improve parse logic 2016-02-10 00:46:32 -06:00
William Pitcock 4d03595da4 parse: utilise MsgBuf to simplify message parsing 2016-02-10 00:22:37 -06:00
William Pitcock a8e69f5dfc msgbuf: implement msgbuf_parse() 2016-02-10 00:08:58 -06:00
William Pitcock 88b427b61d msgbuf: add lowlevel interface for building MsgBuf objects 2016-02-09 23:19:13 -06:00
William Pitcock b830b64106 include: add msgbuf.h for future msgbuf api 2016-02-09 23:08:35 -06:00
William Pitcock de50a480af Remove unused .depend files. 2016-02-09 23:08:35 -06:00
William Pitcock 5512416070 Merge pull request #140 from viatsko/remove-snprintf
Remove libratbox's snprintf.c, update related ircd code
2016-02-09 21:58:07 -06:00