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
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
8d453ffc40
Get rid of index() and some useless casts
2019-09-09 14:54:49 +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
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
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
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
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
17c6b5976d
Update output of MODULE command (MODULE -all) to include the author,
...
slightly change the output and use RPL_TXT rather than NOTICE.
2019-08-27 14:12:00 +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
02a4bbc348
Get rid of this stupid 'TS' type, just use 'time_t'.
2019-08-22 18:39:28 +02:00
Bram Matthys
8007a83020
Get rid of include/inet.h and use system headers properly.
2019-08-22 17:48:39 +02:00
Bram Matthys
5a8d231c6d
Floodprot changes (floodprot.c):
...
1) Clean up check_for_chan_flood()
2) Make the new repeat action kick by default (instead of forcing 'b'
if no action is specified)
3) Also make repeat work with timed bans
2019-08-19 16:12:51 +02:00
Bram Matthys
dd5d93ae77
Mostly cleanups / unimportant stuff.
2019-08-19 15:27:03 +02:00
Bram Matthys
8ae9e85a9a
Channel history: set default playback on join lines to 15.
2019-08-17 12:05:23 +02:00
Bram Matthys
ccb534c3e9
res.{c,h} -> dns.{c,h} and moddata.c -> api-moddata.c
2019-08-16 18:09:25 +02:00
Bram Matthys
3a454e3eb3
free_mtags() -> free_message_tags()
2019-08-16 14:54:28 +02:00
Bram Matthys
d8f839ed44
floodprot (source code): use proper variable names. Not sure why I
...
didn't do this back in 2003... ah well, that was 16 years ago,
I forgive myself :D
2019-08-15 18:56:08 +02:00
Bram Matthys
e5b40f13df
Change the new extban from ~L to ~f:#forward:*!*@*.
...
... this just to annoy Gottem.
2019-08-13 20:56:38 +02:00
Bram Matthys
4f4a867b58
Update prototype of HOOKTYPE_CHANMSG to include sendflags, prefix and target.
...
I needed the target for echo-message, and also in the history module we no
longer save to the history any @#channel messages, since otherwise they
could be played back to people we shouldn't see them ;)
2019-08-13 18:45:38 +02:00
Bram Matthys
5279212b30
More SSL to TLS changes
2019-08-13 13:09:49 +02:00
Bram Matthys
2b0afacdf0
Rename of "ssl" to "tls" part 2
2019-08-12 14:35:32 +02:00
GottemHams
f6df735291
floodprot: Floodtype 'r' for handling per-user repeated PRIVMSGs (CTCP/notice/ACTION/regular message) + action 'd' for dropping stuff for floodtypes 't' (per-user text) and 'r'
2019-08-10 19:25:51 +02:00
Bram Matthys
3c47e22b75
These TODO/FIXME's can be removed (well, except 1)
...
@skipci
2019-08-10 14:14:54 +02:00
GottemHams
2c8f909759
Ported a major chunk of m_forward's functionality to chanmodes/link, with a bunch of improvements =]
2019-07-27 21:10:13 +02:00
Bram Matthys
bbbdba1083
Make chanmodes/link module un-PERM. Thanks due to previous change.
2019-06-29 09:11:20 +02:00
Bram Matthys
5182c664d1
Easier API for just-commited persistent variables. Example:
...
LoadPersistentPointer(modinfo, removefld_list, floodprot_free_removefld_list);
SavePersistentPointer(modinfo, removefld_list);
The above example was for a pointer, there are also functions for int and long,
which are even more simple:
LoadPersistentInt(modinfo, somevar)
SavePersistentInt(modinfo, somevar)
and
LoadPersistentLong(modinfo, somevar)
SavePersistentLong(modinfo, somevar)
both are untested, but will be tested soon...
2019-06-28 22:08:45 +02:00
Bram Matthys
0920967cc4
New module_load_variable / module_save_variable functions
...
and made floodprot to use these functions.
TODO: 1) Different functions for pointer/int/long, 2) macro?
2019-06-28 21:02:29 +02:00
Bram Matthys
7fe1848340
Make floodprot no longer PERM so it can be reloaded. Useful if we ever
...
make a mistake in the module so we can upgrade it on-the-fly.
Or if someone wants to get rid of it.
TODO: consider abstracting the saving/restoring of vars.
2019-06-28 20:14:32 +02:00
Bram Matthys
38e9c100d4
Get rid of include/threads.h (unused)
2019-06-26 17:27:45 +02:00
Bram Matthys
c673e5bbc6
Get rid of now meaningless include/hash.h
2019-06-26 17:17:20 +02:00
Bram Matthys
d5b643ceee
Rewrite hash table code to use SipHash (more to follow)
2019-06-26 13:24:02 +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
bf4d96e991
can_send() now returns 0 (false) or 1 (true), rather than magic values.
...
Also, the HOOKTYPE_CAN_SEND prototype changed so you can communicate
the error message in a flexible way, similar to what I just did
with extbans.
2019-06-22 15:57:32 +02:00
Bram Matthys
1cfebcf05e
Add new set::part_instead_of_quit_on_comment_change to convert QUIT to PART
...
in case of a change in the quit comment, such as color stripping / blocking.
The default is 'no', but some users may like this to be 'yes' so things like
+S only affect the channel and not the quit for all channels.
This hereby also lays the groundwork for some next commits of 'i' :)
The configuration item name may still change if I think of a better one....
2019-06-17 08:20:42 +02:00
Bram Matthys
ca9b04a0fa
Module API: EventAddEx() -> EventAdd()
2019-06-12 19:09:33 +02:00
Bram Matthys
e3013ae067
Commit current work of history API and channel history mode (+H count:time)
...
Note: there are still some TODO items
2019-06-12 18:59:12 +02:00
Bram Matthys
a2ee5d67f3
Update a few hooks to include mtags, more will follow later.
...
This fixes inconsistent mtags accross server links with delayjoin.
2019-06-07 15:05:10 +02:00
Bram Matthys
1f2bb0d89b
Delayjoin: if kicking invisible user we used to clear the invisibility
...
status of the victim (JOIN+KICK). That seems unnecessary to me, since
there is already code in place to handle this -- hopefully it works too.
2019-06-07 14:41:01 +02:00
Bram Matthys
0e68265e12
Remove sock.h old compatibility code. Shouldn't be needed anymore.
...
(This provided FD_ZERO and such if the OS/libc did not provide it)
2019-06-07 12:42:28 +02:00
Bram Matthys
daab5abc92
Manual audit of sendto_one(): add mtags support where necessary.
2019-05-24 21:09:55 +02:00
Bram Matthys
6e5df1a4c0
Add mtags argument to sendto_one(). Phase 1 (automated), next is manual
...
audit of all sendto_one's. Also it doesn't work yet...
2019-05-24 17:38:48 +02:00
Bram Matthys
f8bee4941a
Some fixes due to the sendnumeric() migration (see previous commits).
2019-05-22 12:58:38 +02:00
Bram Matthys
7e4bfbc7c3
Move more to sendtxtnumeric()... and some sendnumeric() leftovers.
2019-05-22 12:10:57 +02:00
Bram Matthys
1a4cbb7023
sendnumeric() - phase 2
2019-05-22 11:41:46 +02:00