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