Bram Matthys
68b7368305
Document Client struct
...
[skip ci]
2019-09-11 14:14:09 +02:00
Bram Matthys
cb236eea88
Rename cptr->from to cptr->direction, since the 'from' is rather misleading
...
as cptr->from is NOT (necessarily) the server where cptr is connected to.
So we now call it cptr->direction since it indicates the directly connected
server (or &me)... in other words: the direction of the client path.
2019-09-11 14:03:27 +02:00
Bram Matthys
1e6a3bdd55
Bump PASSWDLEN to something "large enough for everyone" (256) rather than current (48).
2019-09-11 13:27:45 +02:00
Bram Matthys
786054e6b7
Remove 'md5', 'sha1' and 'ripemd160' from auth code. These are insecure and
...
old authentication types that are already deprecated in UnrealIRCd 4.x.
They don't contain any rounds which means they can be cracked at a rate of
millions per second. Use the secure hashing type 'argon2' instead
(or, if you must, use the less secure 'bcrypt' type).
2019-09-11 13:17:28 +02:00
Bram Matthys
04607f5b1a
Various auth cleanups: Auth_Check() now returns 1 on allow and 0 on deny (!)
...
to keep things simple, rather than having 4 different return values
(yes.. FOUR!).
[skip ci]
2019-09-11 13:10:15 +02:00
Bram Matthys
05e776fb71
More cleanups: now mostly auth-related: use better names and use enums
...
for authentication types. Rename Auth_Make to Auth_Hash. Add docs. etc.
2019-09-11 12:37:34 +02:00
Bram Matthys
e8d53ffe8e
And more type changes to make things consistent and more readable.
2019-09-11 11:04:31 +02:00
Bram Matthys
2a5ea10453
Lots of changes again. Most notable: Cmdoverride -> CommandOverride,
...
including things like CallCmdoverride() to CallCommandOverride().
Type changes like aTKline -> TKL and many more (in particular
aSomething to Something etc. such as aWatch to Watch) but these are
less used by 3rd party module coders.
2019-09-11 10:20:00 +02:00
Bram Matthys
f55682cbaa
More (typedef) struct name changes. Mostly configuration but also
...
aCommand to RealCommand. Although not sure if this latter makes
things a lot more descriptive :D. Can revisit later.
(more to follow)
2019-09-11 10:04:47 +02:00
Bram Matthys
23116d344a
Give structs the same name as the typedefs. Rename aClient to Client,
...
aChannel to Channel, and some more. Third party module coders will
love this. But.. it makes things more logical and the doxygen output
will look more clean and logical as well.
(More changes will follow)
2019-09-11 09:48:00 +02:00
GottemHams
fbd7ff1f5a
Implemented set::min-nick-length (default 0 aka no minimum required) and added a line for it to /stats S, as a bonus my editor strips trailing whitespace :D
2019-09-09 20:33:38 +02:00
Bram Matthys
5b361e69bb
Get rid of configure check for strtoul and the src/strtoul.c file.
2019-09-09 17:49:10 +02:00
Bram Matthys
ec2fdb82e0
Get rid of configure check for strerror()
2019-09-09 17:45:24 +02:00
Bram Matthys
80bc15c6d3
Apparently our strtoken() is special, don't bother then. Still, get rid of
...
the configure check.
2019-09-09 17:32:59 +02:00
Bram Matthys
1cdbbe043f
Make strtoken() use strtok_r / strtok_s.
...
And get rid of the config check, as strtoken() never existed anyway.
2019-09-09 17:19:25 +02:00
Bram Matthys
078cfa88ea
Get rid of configure check for strtok()
...
[skip ci]
2019-09-09 16:58:44 +02:00
Bram Matthys
36cb2226cc
Get rid of checking inet_pton/net_ntop. Should be available on IPv6-capable
...
operating systems. And we require IPv6-capable since UnrealIRCd 4 already,
so.. ;)
2019-09-09 16:51:31 +02:00
Bram Matthys
c86d03dcca
Windows build fixes
2019-09-09 16:46:57 +02:00
Bram Matthys
5f9e919b18
Remove more configure checks: malloc.h, AC_FUNC_SETPGRP, AC_FUNC_SETVBUF_REVERSED
...
[skip ci]
2019-09-09 16:38:24 +02:00
Bram Matthys
5e4c481d93
Yes, strcasecmp is always available, configure.
2019-09-09 16:30:02 +02:00
Bram Matthys
ca2239827e
Get rid of NICK_GB2312/NICK_GBK/NICK_GBK_JAP in config.h. I am not aware
...
of anyone actually using these. So running with this was rather untested
(if it worked at all, which I doubt).
2019-09-09 16:20:26 +02:00
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
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
a9e0655650
Remove more old stuff from ./configure
2019-09-09 13:11:30 +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
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
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
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
73d320f553
Use enum for BAN_ACT_* and silence a (stupid) clang warning.
2019-09-05 20:54:31 +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
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
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
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
8a6c84876e
Rewrite/cleanup huge portion of TKL handling (16 files updated, but
...
src/modules/tkl.c is the main one).
Also move DB writing/reading functions to src/misc.c so they can be
removed out of channeldb and tkldb.
Important note to current tkldb users:
Unfortunately due to the major cleanup I had to remove upgrading
for previously saved tkl db files. That seemed not worth the effort
for maybe <15 current users or so. It also makes the tkldb code
a lot more cleaner. Otherwise it would be a huge mess.
Currently a FIXME item: spamfilter support in RMTKL.
2019-08-31 15:29:04 +02:00
Bram Matthys
0116c4f0d6
Partial TKL recode - (pre) phase 1
2019-08-28 20:21:04 +02:00
Bram Matthys
10faaf91ba
Bump module header version to "unrealircd-5", add author field
...
and remove old dependency field (never used, was always NULL,
broken since 3.2.x)
I'll add some constraints later on things like names and versions.
IOTW: more changes to follow, don't mass update your own mods yet.
2019-08-26 20:29:47 +02:00
Bram Matthys
ebaac5a6b8
Get rid of various never used config options and also port
...
the U4 fix for Windows where it says "Too many connections"
way too quickly. (Sorry for mixing both in 1 commit..)
2019-08-25 17:48:32 +02:00
Bram Matthys
38b55fb3c5
Not ready for release yet, but bump git version to alpha2 already now that
...
the Windows build is working (5.0.0-alpha1 had no Windows build).
2019-08-25 14:38:02 +02:00
Bram Matthys
6ead10f42d
Windows: build with /WX (equivalent to -Werror) and turn on
...
/analyze again. Not sure how long I can bear that last one though
as now compilation takes about 15 minutes rather than a few.
2019-08-25 14:03:11 +02:00