Simon Arlott
87c44482d0
ircd: chmode: Avoid referencing beyond the end of the flags_list array in set_channel_mode
...
We're setting flags to flags_list[3] at the end of the loop, but the
array only has 3 elements. Unless the compiler optimises this away
(because flags will not be used again) we're accessing memory beyond
the end of the array.
With gcc-4.9:
chmode.c: In function 'set_channel_mode':
chmode.c:1548:54: warning: iteration 2u invokes undefined behavior [-Waggressive-loop-optimizations]
for(j = 0, flags = flags_list[0]; j < 3; j++, flags = flags_list[j])
^
chmode.c:1548:2: note: containing loop
for(j = 0, flags = flags_list[0]; j < 3; j++, flags = flags_list[j])
Explicitly set "flags = flags_list[j]" at the start of each loop
iteration, which will avoid referencing off the end of the array.
2016-02-09 10:41:37 -06:00
William Pitcock
35f284c2bd
ircd: newconf: impose a deprecation warning for plaintext listeners
2016-01-29 11:35:05 -05:00
William Pitcock
cc6ce2d689
ircd: hash: remove some detritus
2016-01-23 11:44:08 -05:00
William Pitcock
d38c08c178
ircd: hostname lists are now stored in a radix tree
2016-01-23 11:40:17 -05:00
William Pitcock
b47f8a4fda
ircd: import modified version of ratbox 3.1 whowas code
2016-01-23 11:16:34 -05:00
William Pitcock
3de2266243
ircd: monitor: use irc_radixtree instead of home-grown hashtable
2016-01-23 10:35:40 -05:00
William Pitcock
912cae0c9c
Revert "ircd: rework sendq limits a bit."
...
This reverts commit 9a5958119c
.
2016-01-20 22:27:33 -05:00
William Pitcock
704697b6b6
ircd: radixtree: allow irc_radixtree_elem_find() to find a fuzzy match instead of an exact match
2016-01-20 22:10:35 -05:00
William Pitcock
0d9a72de21
ircd: radixtree: add irc_radixtree_foreach_start_from() which uses irc_radixtree_elem_find() to find the starting point
2016-01-20 21:02:03 -05:00
William Pitcock
1b68574301
ircd: radixtree: move some things into the right namespace
2016-01-20 20:52:17 -05:00
William Pitcock
1046ac77af
ircd: chmode: change CHFL_CHANOP checks where appropriate to allow levels above CHFL_CHANOP
...
this is the same behaviour as other checks in other places in the code.
2016-01-16 01:55:57 -06:00
William Pitcock
f60055d32d
ircd: call rehash_authd(), not restart_authd() when rehashing
2016-01-16 00:04:07 -06:00
William Pitcock
71c955336e
ircd: add general::hide_opers_in_whois to simulate ircd-seven operhide
2016-01-15 13:38:40 -06:00
William Pitcock
3ee43bcf29
ircd: get_channel_access(): do not derive channel pointer from membership
2016-01-13 22:16:44 -06:00
William Pitcock
633531a4aa
TOPIC: strip channel topic colors here if configured, instead of in set_channel_topic()
2016-01-13 17:17:14 -06:00
William Pitcock
14482679ce
ircd: channel: implement an option to strip color codes from channel topics
2016-01-13 17:05:41 -06:00
William Pitcock
b4e3861bf9
ircd: get_channel_access(): allow override hooks to work without a membership pointer
2016-01-13 16:56:05 -06:00
William Pitcock
fd8e3f892c
ircd: chmode: clean up chm_hidden() a little bit
2016-01-13 16:37:25 -06:00
William Pitcock
be29ec793d
ircd: import hidden channel modes framework, from ircd-seven
...
This allows for modules to define channel modes which are only visible to opers.
2016-01-13 16:34:27 -06:00
William Pitcock
15feac531c
ircd: implement support for remote module load/unload/etc commands
2016-01-12 00:37:54 -06:00
William Pitcock
cc7ae51cdc
Allow remote DIE and RESTART (from ircd-seven)
2016-01-12 00:04:54 -06:00
William Pitcock
a4721f5e9f
ircd: implement EXTENDCHANS, based on ircd-seven (with some improvements from chatircd)
2016-01-11 23:32:23 -06:00
William Pitcock
fe749d3709
ircd: implement GRANT subsystem based on ircd-seven
2016-01-11 23:02:03 -06:00
William Pitcock
cd66c5b922
ircd: change_nick_user_host(): only update target_p->username if the buffer has actually changed (pointed out by Valgrind)
2016-01-11 22:46:49 -06:00
William Pitcock
b870a5f8e9
extensions/override: display mode-change string in override messages
2016-01-11 22:40:32 -06:00
William Pitcock
e4603e3d27
parse: implement reconstruct_parv()
2016-01-11 22:28:55 -06:00
William Pitcock
9b74b99268
ircd: hash: channels are no longer a hashtable
2016-01-09 23:47:50 -06:00
William Pitcock
9a5958119c
ircd: rework sendq limits a bit.
...
The sendq limit is now soft, now we halt processing if a sendq is exceeded, until it is sufficiently drained.
This allows us to implement SAFELIST and other floody commands without hacks.
2016-01-09 23:14:04 -06:00
William Pitcock
8dacf9e917
ircd: make STATS B easier to understand
2016-01-09 06:23:13 -06:00
William Pitcock
a21e57bebe
ircd: scache: use irc_radixtree
2016-01-09 05:55:46 -06:00
William Pitcock
ed4d1541ff
ircd: hash: we do not use 2.8-style chained hashtables for client lookups anymore, so remove no longer relevant comments
2016-01-09 05:43:51 -06:00
William Pitcock
bb4ac31447
ircd: hash: use an irc_radixtree for client names
2016-01-09 05:30:13 -06:00
William Pitcock
3eeccbe3ce
ircd: hash: use an irc_radixtree for IDs
2016-01-09 05:13:10 -06:00
William Pitcock
46be39faab
ircd: hash: use an irc_radixtree for storing resv's
2016-01-09 04:59:02 -06:00
William Pitcock
5c7c7d65c2
ircd: hash: client connection id hashtables are now dictionaries keyed by uint32
2016-01-09 04:25:41 -06:00
William Pitcock
45dfdf46c8
ircd: irc_dictionary: allow storage of non-string types as keys
2016-01-09 04:09:40 -06:00
William Pitcock
d99ff0298c
ircd: irc_dictionary: fix up stats routines
2016-01-09 01:41:20 -06:00
William Pitcock
21d5a11cb8
ircd: irc_dictionary: also show dictionary stats
2016-01-09 01:34:37 -06:00
William Pitcock
99b461bb2f
ircd: ensure irc_dictionary users have names, for stats tracking.
2016-01-09 01:22:11 -06:00
William Pitcock
b02a913bc8
ircd: operhash: rewrite to use irc_radixtree
2016-01-09 01:08:15 -06:00
William Pitcock
db891ac3ca
ircd: irc_radixtree: add irc_radixtree_irccasecanon and irc_radixtree_strcasecanon helpers
2016-01-09 01:00:55 -06:00
William Pitcock
325cc939b7
ircd: irc_radixtree: add some convenience functions for tracking radix tree stats
2016-01-09 00:54:57 -06:00
William Pitcock
8e6ba6f9ce
ircd: add irc_radixtree, which is like irc_dictionary but uses a radix tree as the backing store
2016-01-09 00:44:39 -06:00
William Pitcock
d6797f8639
ircd: operhash: convert to a proper stringpool implementation
2016-01-08 11:09:00 -06:00
William Pitcock
9e45a5ca19
buildsystem: further cleanup
2016-01-08 07:01:00 -06:00
William Pitcock
1eeb046930
ircd: remove internal resolver, no longer used
2016-01-08 06:39:51 -06:00
William Pitcock
1d02144f8b
ircd: move DNS resolution over to authd
2016-01-08 06:31:08 -06:00
William Pitcock
1bf2919817
ircd/dns: implement final version of authd-dns line protocol
2016-01-08 05:44:05 -06:00
William Pitcock
6d063f05b0
ircd: start up authd
2016-01-08 05:20:09 -06:00
Aaron Jones
d8c4154da2
Fix LTDL conditional, remove some unnecessary and/or ugly configure tests
2016-01-07 17:15:55 +00:00
Aaron Jones
eec2776c6c
Fix some autotools discrepancies, disable SQLite threading code
2016-01-07 16:58:28 +00:00
William Pitcock
63f53befd3
ircd: add main.c stub executable
2016-01-06 23:57:35 -06:00
William Pitcock
415b482ce3
ircd: add new lex/yacc files
2016-01-06 22:50:54 -06:00
William Pitcock
1d9974511b
ircd/dns: same
2016-01-06 21:35:34 -06:00
William Pitcock
ebccc13b84
authd: fix ratbox3.1-ism
2016-01-06 21:25:07 -06:00
William Pitcock
3949459b81
ircd/authd: minor cleanups
2016-01-06 04:46:11 -06:00
William Pitcock
fb7d74efef
ircd/authd: split out authd lifecycle functions from actual DNS functions
2016-01-06 04:41:57 -06:00
William Pitcock
7d2852b4d1
dns: new WIP client which queries authd for DNS records, not yet in use
2016-01-06 04:28:34 -06:00
William Pitcock
b697c3296a
sslproc: process title of ssld seemed gramatically weird (nitpicking)
2016-01-06 02:15:23 -06:00
William Pitcock
d76258f559
modules: revert lt_dlopenext() change
2016-01-06 01:57:24 -06:00
William Pitcock
4f0e3623ca
ircd: fix linking on OS X
2016-01-06 01:40:48 -06:00
William Pitcock
30da589e9e
modules: use lt_dlopenext() to make the config look nicer
2016-01-06 01:33:33 -06:00
William Pitcock
2a19fc3f57
general: remove last vestiges of static modules support (this hasn't ever actually worked...)
2016-01-06 01:28:20 -06:00
William Pitcock
46fded53d4
update buildsystem artifacts
2016-01-06 01:16:49 -06:00
William Pitcock
ff12cc9479
rename src to ircd, libcore to libircd
2016-01-06 01:16:08 -06:00