1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-03 09:43:13 +02:00
Commit Graph

2492 Commits

Author SHA1 Message Date
Bram Matthys 894b7e5461 Makefiles: switch from suffix rules to pattern rules. As suffix rules
can't have dependencies, so if you change a .h file, it fails to
recompile the other dependencies. Grmpf!
This does mean that we require GNU Make (gmake) from now on.
2021-09-04 08:25:18 +02:00
Bram Matthys 9ef1d06afd Remove more unused stuff in dynconf.h, and drop set::dns which did
nothing since 3.2 or so.
2021-09-03 21:17:51 +02:00
k4be 8c6f94ffef metadata debug: remove command logging and replace last sendto_snomask with unreal_log.
Also get rid of unused trylater variable.
2021-09-03 18:54:19 +02:00
Bram Matthys 4a82b89793 Code cleanup in tkl.c: get rid of confusing 'whattodo' and use 'add'
which is 1/0 so that the meaning is straightforward.
2021-09-03 11:05:19 +02:00
Bram Matthys a9833ebedf Fix crash on empty remote METADATA (bad S2S traffic). 2021-09-03 08:50:16 +02:00
Bram Matthys c4a4867ca5 More goto's make the world a better place.
Oh and also fix a memory leak in parse_extended_server_ban().
2021-09-03 08:06:03 +02:00
Bram Matthys 1f2e79b64c Fix missing return after exit_client() in PROTOCTL.
This caused client->server to be NULL and then when processing
another PROTOCTL parameter this would cause a crash.
2021-09-02 18:15:12 +02:00
Bram Matthys 9cdd90e848 Ignore remote MONITOR requests.
(Fixes crash with faulty S2S traffic)
2021-09-02 17:08:10 +02:00
Bram Matthys 5b9c419041 Add parse_extended_server_ban(). This makes named extended server bans
working now (eg ELINE ~certfp:xyz etc).
Also fixes a crash due to an OOB read.
2021-09-02 17:01:20 +02:00
Bram Matthys fa5c9039a2 Put the same extban rule checks in extban_is_ok_nuh_extban() as they
already were in extban_conv_param_nuh_or_extban().
The recursion check was already there, but not the "rule 2 violation"
if ((extban->options & EXTBOPT_ACTMODIFIER) || (extban->options & EXTBOPT_NOSTACKCHILD))

This also backs out the temporary fix 5df1b1b889.
2021-09-02 15:51:11 +02:00
k4be 459deb3084 Actually, ignore all s2s PROTOCTL from users 2021-08-31 16:35:59 +02:00
k4be 45775d1929 Fix crash on bad s2s INVITE command 2021-08-31 15:18:21 +02:00
k4be 5df1b1b889 Workaround crash with stacked multiple ~f bans
This should probably be fixed properly later.
2021-08-31 13:00:47 +02:00
k4be 7f958b7dad Fix crash for setting channel metadata by unregistered connections 2021-08-31 12:59:46 +02:00
k4be 228f6f05af Ignore PROTOCTL EAUTH from users 2021-08-30 09:29:32 +02:00
Bram Matthys 8caeae6f82 Fix crash on PROTOCTL EAUTH= 2021-08-29 14:08:12 +02:00
Bram Matthys 07390d093f Remove modules/mdex which is an example that shouldn't be used/built
(with UnrealIRCd anyway)
[skip ci]
2021-08-29 12:04:54 +02:00
Bram Matthys 4cee60840a Compile oldcloak.so now that it was moved from R_MODULES to MODULES
in the src/modules/Makefile
2021-08-27 19:43:18 +02:00
Bram Matthys 1b096b5146 Use good ol suffix rules in Makefile so we can get rid of writing out
every .o and .so rule. Writing each of them out manually is useless
for all except 3 of the ~250 objects.
2021-08-27 19:36:07 +02:00
k4be 211995f703 geoip_maxmind: fix indentations 2021-08-27 15:00:20 +02:00
k4be 9c3d5dffb0 Add libmaxminddb support 2021-08-27 14:49:13 +02:00
k4be ca3bbfeadf Improve handling of missing files 2021-08-27 12:20:36 +02:00
k4be 1f72396442 Initial version of geoip_csv 2021-08-26 20:50:02 +02:00
k4be 5a83c3cd4d geoip_classic: use more efficient calls 2021-08-26 18:57:48 +02:00
k4be da497f0a7a Delete CheckNull defines from modules now that it's defined in h.h 2021-08-26 18:12:56 +02:00
k4be bebeeac0db geoip_base: add configuration, check all users on load
geoip_classic: change config format
2021-08-26 18:08:56 +02:00
k4be 52904ded83 geoip_classic: add configuration 2021-08-26 14:14:52 +02:00
k4be d5f69982eb geoip_classic: ipv6 support 2021-08-26 13:33:40 +02:00
k4be 48604b6bd0 geoip_base: support WEBIRC and remote users 2021-08-26 11:47:01 +02:00
k4be a6643fcd38 Rename efunction handlers to match the convention 2021-08-25 09:06:11 +02:00
k4be f1bc9f37e1 Change watch notification hook to callback.
This fixes duplicate AWAY message with extended-monitor.
2021-08-25 09:02:24 +02:00
k4be 184e7083ea Move client capability code to corresponding modules 2021-08-24 22:34:39 +02:00
k4be a03677023c Change WATCH numerics to valid ones 2021-08-24 20:39:36 +02:00
k4be e7e82ad493 Move host-change-related code to chghost.c 2021-08-24 20:37:02 +02:00
k4be f4a915bbb7 Update watch_notification argument name
Fix WATCH crash caused by that argument
2021-08-24 20:19:50 +02:00
k4be fe51aaf357 Add wATCH_EVENT defines 2021-08-24 19:58:05 +02:00
k4be 502def9401 Add extended-monitor (work in progress) 2021-08-24 19:42:38 +02:00
k4be 3b54cd35b6 metadata: some code cleanup, normalize names 2021-08-24 15:19:57 +02:00
Bram Matthys fd02a662ec Fix compile error when not using DEBUGMODE 2021-08-23 16:25:24 +02:00
k4be 83e6dafc96 metadata: change logging to unreal_log 2021-08-23 16:03:12 +02:00
k4be d8067594be Fix DNS lookup for proxy-forwarded IPs 2021-08-23 12:41:21 +02:00
k4be fb0f5ecab3 Fix hang on METADATA SUB 2021-08-22 23:26:16 +02:00
k4be d69b4394e7 Fix queuing notifications 2021-08-22 21:30:36 +02:00
k4be d40853b71c Add basic metadata module (no moderation) 2021-08-22 21:17:19 +02:00
Bram Matthys 58cd2d8bfd Add some comments and add a redundant check for parameter writing.
Better to be safe than to accidentally write OOB.
2021-08-22 19:43:36 +02:00
Bram Matthys 49955670d9 Use do_mode_char_write() at two more places. 2021-08-22 19:38:18 +02:00
Bram Matthys 6f62a967fa More code cleanups in mode.c: this splits do_mode_char() up between
do_mode_char_list_mode() and do_mode_char_member_mode(), which are
two quite different things.
And rewrite do_mode_char_member_mode() to get rid of switch/case
style and the goto.

Also add do_mode_char_write() which is used at 5 places (could be
expanded, probably).
2021-08-22 19:33:33 +02:00
Bram Matthys 52b4a44e94 Massively rename Cmode.flag to Cmode.letter.
(similar to 5a387f9c0b)
2021-08-22 18:45:13 +02:00
Bram Matthys 9838378550 Massive rename of:
* channel->mode.extmode to channel->mode.mode
* channel->mode.extmodeparams to channel->mode.mode_params

This because all channel modes that are set there are extended channel
modes, only lists are still in core atm and they never get set here.
2021-08-22 18:36:00 +02:00
Bram Matthys e0504b2e52 Remove Mode.mode, it now only contains Mode.extmode and Mode.extmodeparams
Also make MODES_ON_JOIN point to iConf.modes_on_join.extmodes instead
of iConf.modes_on_join.mode

Actually in next commit I may reorder again...
2021-08-22 18:33:25 +02:00