Bram Matthys
9b113c27e4
Document some more structs and group them in a logical place.
2019-09-11 19:07:11 +02:00
Bram Matthys
c72d848b61
Get rid of MembershipL since there's no difference anymore between
...
local membership structs (MembershipL) and remote ones (Membership),
so they are now all called... Membership.
2019-09-11 17:53:29 +02:00
Bram Matthys
bf2c5110db
IsPerson() -> IsUser(), MyClient() -> MyUser(), etc.
...
This so we have a few simple concepts:
Client: this can be a user, server, or something unknown yet
Then the type of clients:
User: this is a user, someone with a nick name.
Server: this is a server
Etc.
2019-09-11 17:43:17 +02:00
Bram Matthys
fcf0ff4e3c
Document client statuses (cptr->status) and some more renames.
2019-09-11 16:52:11 +02:00
Bram Matthys
2df5326615
Overhaul of all client flag macros (mass renaming, always use getters/setters/checkers)
2019-09-11 16:00:47 +02:00
Bram Matthys
e372e9118d
Move cptr->count to cptr->local->identbufcnt since this only used by
...
the ident reading code nowadays, which obviously only happens for
locally connected users.
2019-09-11 14:36:12 +02:00
Bram Matthys
d80e601760
Rename sptr->username to sptr->ident, since that is what it is.
...
[skip ci]
2019-09-11 14:31:14 +02:00
Bram Matthys
c69bdbe175
->status is now an enum of ClientStatus and STAT_xx -> CLIENT_STATUS_xx
2019-09-11 14:27:32 +02:00
Bram Matthys
792709bf4f
Move cptr->fd to cptr->local->fd. This may cause some crashes while
...
the rest of the code is audited / checked ;)
2019-09-11 14:21:07 +02:00
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
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
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
0c4502bf79
Define and use SIPHASH_KEY_LENGTH rather than some magic value.
2019-09-08 14:15:23 +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
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
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
ccf80d16f2
SnomaskAdd(): remove 3rd argument (unset_on_deoper), as all snomasks
...
are IRCOp-only now, they will always be removed on deoper.
-extern Snomask *SnomaskAdd(Module *module, char ch, int unset_on_deoper, int (*allowed)(aClient *sptr, int what), long *mode);
+extern Snomask *SnomaskAdd(Module *module, char ch, int (*allowed)(aClient *sptr, int what), long *mode);
2019-08-23 20:23:54 +02:00
Bram Matthys
02a4bbc348
Get rid of this stupid 'TS' type, just use 'time_t'.
2019-08-22 18:39:28 +02:00
Bram Matthys
02d3364373
More Windows fixes...
2019-08-22 16:43:05 +02:00
Bram Matthys
2b0afacdf0
Rename of "ssl" to "tls" part 2
2019-08-12 14:35:32 +02:00
Bram Matthys
09cf485d6c
Mass rename of "ssl" to "tls" everywhere. Including conf/ssl to
...
conf/tls. If you are upgrading then conf/ssl will be renamed to
conf/tls and a symlink will be added (so certbot etc won't fail).
This is part 1...
2019-08-12 14:26:31 +02:00
Bram Matthys
c50f65c5bf
Update two small FIXME's (nothing worth mentioning)
2019-08-10 14:09:00 +02:00
i
8c11ebd0e7
Make allow {} block always continue when there were no password or wrong password was specified.
2019-07-18 18:47:05 +03:00
i
d22a2a20f0
Make usermode +T block channel CTCP's as well.
2019-07-14 19:01:31 +03:00
Bram Matthys
806256e9c2
Move generate_batch_id() to core. Use chathistory BATCH type, if supported.
2019-07-13 15:25:56 +02:00
i
ca094f0a75
New set::ping-warning option (how fast the server should reply to PING before sending a warning to opers).
2019-07-11 16:47:02 +03:00
Bram Matthys
c673e5bbc6
Get rid of now meaningless include/hash.h
2019-06-26 17:17:20 +02:00
Bram Matthys
ded4a65a60
u_int16_t -> uint16_t and u_int32_t -> uint32_t, remove typedefs for
...
these types and others, that should no longer be needed thanks to
stdint.h.
2019-06-26 17:06:46 +02:00
Bram Matthys
f1b0b6b76e
Make throttling code (connect-flood) use SipHash and increase the
...
hash table size from 1019 to 8192 to have fewer collisions.
2019-06-26 16:46:28 +02:00
Bram Matthys
7161f33311
Code cleanup: make src/*.c use the generic #include "unrealircd.h" file
...
(with only a few exceptions)
Now, we'll find out later if Windows still compiles, I guess ;)
2019-06-22 21:18:08 +02:00
Bram Matthys
e03c8135a9
CHFL_CHANPROT -> CHFL_CHANADMIN, is_chanprot -> is_chanadmin
...
These are just remnants of the past, when +a was called channel protection.
It is called channel admin since as long as I can remember, and in 90%
of the code and documentation it is called that way.
2019-06-22 17:32:57 +02:00
Bram Matthys
cf29aa8feb
Replace various 90% identical functions with some macro's instead.
2019-06-22 17:29:03 +02:00
Bram Matthys
086d370704
Change extban API: pass 'msg' in BANCHK_MSG and (new) BANCHK_LEAVE_MSG.
2019-06-17 20:19:34 +02:00
Bram Matthys
7b42c252ea
Some documentation updates, nothing important
...
[skip ci]
2019-06-16 10:08:50 +02:00
Bram Matthys
bd785a9309
Some initial work for the upcoming TKL 'e'/'E'/TKL_EXCEPT type.
2019-06-16 08:42:41 +02:00
Bram Matthys
24726d533d
Make the require authentication { } block use the TKL layer.
...
Remove CONF_BAN_UNAUTHENTICATED.
2019-06-15 18:31:06 +02:00
Bram Matthys
8e6302d003
Rip out CONF_BAN_NICK, CONF_BAN_IP, CONF_BAN_USER, now that they are moved
...
to the TKL layer.
2019-06-15 18:18:19 +02:00
Bram Matthys
7542cdeaca
Cleanup of m_tkl part 1. New tkl_chartotype (the reverse of tkl_typetochar).
...
Move stripcrlf() to core instead of at 3 places, rename calls of iCstrip()
to that. Hopefully I didn't break anything.. :D
2019-06-15 16:56:34 +02:00
Bram Matthys
66be5a2ca6
Re-indent the FLAGS_* stuff in include/struct.h
...
And remove FLAGS_PING which was unused.
2019-06-10 18:50:05 +02:00