Bram Matthys
7d4b7c2fed
Get rid of stricmp/strnicmp (use strcasecmp/strncasecmp)
2019-09-09 16:13:32 +02:00
Bram Matthys
9636f83a2b
Always assume POSIX signals (on non-Windows, that is).
2019-09-09 16:08:18 +02:00
Bram Matthys
05af50d1fc
Remove some HPUX stuff. We don't support or test this so leaving
...
this in the source gives a false impression. Also some ULTRIX
stuff (from 1995???).
2019-09-09 15:53:44 +02:00
Bram Matthys
1183e88077
Remove old SunOS / Solaris / AIX code.
...
And some other outdated things for non-POSIX systems...
2019-09-09 15:46:19 +02:00
Bram Matthys
8d453ffc40
Get rid of index() and some useless casts
2019-09-09 14:54:49 +02:00
Bram Matthys
3f690ec1df
Get rid of configure checks for inet_addr and inet_ntoa.
2019-09-09 14:47:42 +02:00
Bram Matthys
d434cf948b
Get rid of bcmp/bcopy/bzero.
2019-09-09 14:41:40 +02:00
Bram Matthys
e34888802a
Move check for C99 compiler to the beginning and print some meaningful
...
hint to the user if it cannot be found.
2019-09-09 14:09:58 +02:00
Bram Matthys
2276185939
Get rid of more ./configure checks.
...
(Let's see if Windows complains again...)
2019-09-09 13:56:37 +02:00
Bram Matthys
a0aec38df2
Get rid of DISABLE_USERMOD, since you can achieve the same in U5 via
...
the restrict-commands module in a dynamic way (with more options too).
2019-09-09 13:27:25 +02:00
Bram Matthys
5141e3cdfe
Fix for Windows due to previous
...
[skip ci]
2019-09-09 13:16:31 +02:00
Bram Matthys
a9e0655650
Remove more old stuff from ./configure
2019-09-09 13:11:30 +02:00
Bram Matthys
90d39d4665
tkldb module: Turn a few config_error() into config_warn() since
...
we continue, while errors mean we would fail to boot (or fail to rehash)
which is not the case.
2019-09-08 20:50:55 +02:00
Bram Matthys
c423f9c8f7
Remove some more ./configure checks that are likely unneeded.
2019-09-08 20:22:45 +02:00
Bram Matthys
7be894bcda
Let's see if we can drop unreal_CHECK_TYPE_SIZES in configure.ac.
...
Saves some ./configure CPU time.
2019-09-08 20:14:35 +02:00
Bram Matthys
0c4502bf79
Define and use SIPHASH_KEY_LENGTH rather than some magic value.
2019-09-08 14:15:23 +02:00
Bram Matthys
ebd9c738f2
Some cleanup/rewrites of 'r' (repeat) in the floodprot module (+f).
...
Use a more simple hashing algorithm and one that uses 64 bits,
don't allocate any memory dynamically, just use an int64_t.
Also, only do the hashing if 'r' is actually enabled in +f
on the channel, as otherwise it's pointless.
2019-09-08 14:06:40 +02:00
Bram Matthys
9fe82e4a9f
Fix read-after-free in HOOKTYPE_LOCAL_PART hook.
2019-09-08 08:41:58 +02:00
Bram Matthys
e9847a2279
Fix OOB read due to last commit ( 62c7f67f7a)
2019-09-08 08:38:13 +02:00
Bram Matthys
62c7f67f7a
Make StripControlCodes() filter out zero width space as well (U+200B).
2019-09-07 18:32:21 +02:00
Bram Matthys
08a4c489f6
Update HELPOP SPAMFILTER. The syntax was OK but the explanation under it
...
was confusing since it was explaining the fields in a different order.
2019-09-07 18:00:58 +02:00
Bram Matthys
ec5a66ba80
UnrealIRCd 5.0.0-alpha2 release
2019-09-07 15:54:15 +02:00
Bram Matthys
7eb9ed90cb
Cleanup sub1_from_channel. Don't kick insecure users on +z channels when we
...
are merging (equal TS), only kick our users when we are on the losing side
(=if there is a different TS, IOTW: the channel was recreated later).
2019-09-07 14:45:47 +02:00
Bram Matthys
ab0608a98c
Don't send OperOverride notice if &me (server)
...
[skip ci]
2019-09-07 11:06:04 +02:00
Bram Matthys
c6cfc2f5c8
Fix receiving "+i must be set" twice (for users) or more (for opers)
...
[skip ci]
2019-09-07 10:52:38 +02:00
Bram Matthys
b9e2f1c5fb
Fix crash in RMTKL (only possible with rogue server traffic)
...
[skip ci]
2019-09-07 10:25:36 +02:00
Bram Matthys
62dc1181ba
Protect against late bogus PROTOCTL SID=xxx (from authenticated servers)
2019-09-07 10:16:46 +02:00
Bram Matthys
d3db771a1b
Add some tracing code until a certain RMTKL bug is found.
2019-09-07 09:35:50 +02:00
Bram Matthys
7c9325d8d1
Move get_mode_bitbychar() and get_extmode_bitbychar() to the core
...
rather than helper functions in floodprot. (I need them)
2019-09-07 09:24:26 +02:00
Bram Matthys
62c0edde12
Partially rewrite SVSMODE #chan code to fix a crash from hostile servers.
...
Also get rid of the TS parameter in there, which nobody uses anyway.
It didn't even refer to the channel TS.. quite confusing..
it used user->since... so it seems it was against crossing users
(nick changes)... well, we have UID for that now.
2019-09-07 08:02:07 +02:00
Bram Matthys
579c4bd884
Compile with -O1 in ASan mode, rather than -O0.
2019-09-06 20:58:32 +02:00
Bram Matthys
dc5fd50a54
Fix potential issues if msgbypass extban module is not loaded.
...
[skip ci]
2019-09-06 20:55:42 +02:00
Bram Matthys
a3e911a174
Make issecure (+Z/-Z) use the same msgids network-wide.
2019-09-06 15:18:45 +02:00
Bram Matthys
cf873d826a
Add MessageTag *mtags argument to various (channel related) hooks, in case
...
they need access to those. For more information, see:
https://bugs.unrealircd.org/view.php?id=5343
2019-09-06 14:30:16 +02:00
Bram Matthys
4a6f56e967
Fix list modes not being restored properly from channeldb.
2019-09-06 13:06:53 +02:00
Bram Matthys
758dc74315
Fix memory leak in new ban exception code.
2019-09-06 09:15:27 +02:00
Bram Matthys
9b1fa66434
Duh, I meant, NOREMOVETMP.
...
[skip ci]
2019-09-06 09:13:19 +02:00
Bram Matthys
46486310dc
Obey #define REMOVETMP (for testing)
2019-09-06 09:02:17 +02:00
Bram Matthys
73d320f553
Use enum for BAN_ACT_* and silence a (stupid) clang warning.
2019-09-05 20:54:31 +02:00
Bram Matthys
868895c70a
Add except ban type 'all'. For a full list of options, see
...
https://www.unrealircd.org/docs/Except_ban_block#UnrealIRCd_5
Also, fix shun (s) not being available as an exempt option (bug).
2019-09-04 19:38:23 +02:00
Bram Matthys
750479aa2c
Add more /ELINE options to bypass the following types: unknown data flood,
...
antirandom, antimixedutf8 and ban version. Just type /ELINE to see the
options / syntax. (TODO: more testing)
2019-09-04 18:43:06 +02:00
Bram Matthys
72664fc3df
Deal with hostile servers in msgid code
2019-09-02 20:45:58 +02:00
Bram Matthys
0724c0ce13
stfu compiler, you are wrong
2019-09-02 20:16:46 +02:00
Bram Matthys
7ff78b4cf6
Make config test for except ban::type. Also use 'connect-flood'
...
rather than throttling, since that's the term we use everywhere
in our documentation and for config options.
2019-09-02 20:14:48 +02:00
Bram Matthys
a006a9aea9
Recode tkl type table. '/STATS except' works now (lists ELINEs and
...
except ban in config).
If you want to play with exceptions, type /ELINE for information.
For the configuration file it is important to know that 'except tkl'
is now called 'except ban'.
Also if you do not specify an except ban::type we now default to
exempt from all regular server ban types (but not qline, spamfilters,
blacklist or throttling)
2019-09-02 19:30:23 +02:00
Bram Matthys
58618bf2b6
Add support for ban exceptions, via /ELINE and via the config file.
...
Still need to fix some FIXME/TODO items and things haven't been
fully tested yet, so server sync issues or crashes are still possible.
Release notes will be updated another day as well..
2019-09-01 20:49:14 +02:00
Bram Matthys
76b1655f9b
Add TKL exception type handling (phase 2 of X)
2019-09-01 10:58:29 +02:00
Bram Matthys
cdcac52d81
It helps if I git add src/api-efunctions.c...
2019-09-01 09:40:44 +02:00
Bram Matthys
3fcd25b542
Split off efunctions to src/api-efunctions.c, use enums and
...
a different style of initializing the efunctions table which
is less error-prone.
2019-09-01 09:38:55 +02:00
Bram Matthys
2483376796
Fix crash on adding QLINE (reported by The_Myth) and 'STATS bannick'
...
should really show QLINEs as well. Up to now it only showed (local)
config banned nicks.
Fixes https://bugs.unrealircd.org/view.php?id=5387
2019-09-01 08:31:03 +02:00