Bram Matthys
edbfaaf95d
JSON logging: expand user modes, snomasks, and oper login (if available)
...
This also adds a function get_usermode_string_r(), which requires
you to specify the buffer (and buffer length) for building the
umode string.
2021-09-25 09:45:30 +02:00
Bram Matthys
6e74cd133b
Expand channel modes in JSON logging messages of 'channel'
2021-09-25 09:28:00 +02:00
Bram Matthys
135c5f0747
Use strlcpy()/strlcat()/strlcat_letter() in channel_modes() instead
...
of pointer calculations. We don't need the speed improvement anymore.
2021-09-25 09:21:31 +02:00
Bram Matthys
bf7a72a850
Usermode_Table[].flag -> Usermode_Table[].letter
...
just like how it is now in U6 in channel modes and extended bans
2021-09-25 09:13:34 +02:00
Bram Matthys
fbf3a51517
Add HOOKTYPE_CAN_SET_TOPIC, which works similar to HOOKTYPE_CAN_KICK.
...
Move checking of +t restrictions to chanmodes/topiclimit.
Move checking for +m restrictions to chanmodes/moderated.
Now the only check remaining in topic is for +b (banned users)
which is fine I think.
2021-09-25 09:04:19 +02:00
Bram Matthys
618049fca1
Add buildnumeric() function, which will only be used sporadically as you
...
would normally use sendnumeric() instead.
The buildnumeric() function prepares a buffer but does not send it.
It is used in eg CAN_KICK / CAN_SET_TOPIC, where you need to set an
'errbuf' with a full IRC protocol line to reject the request (which
then may or may not be sent depending on operoverride privileges).
2021-09-25 09:03:48 +02:00
Bram Matthys
847f2fc384
Remove is_ip_valid() as we already have is_valid_ip(), and update
...
the doxygen docs a bit for that function.
2021-09-25 08:17:47 +02:00
Bram Matthys
c582a29f09
Update doxygen docs a bit (minimal) for channel access functions.
2021-09-25 08:13:18 +02:00
Bram Matthys
fabe16a95c
Get rid of has_voice(), is_half_op(), is_skochanop(), is_chan_op(), is_chanadmin(),
...
is_chanowner(). Using check_channel_access() instead now.
2021-09-25 08:00:57 +02:00
Bram Matthys
0b6336c5f9
Update config.guess and config.sub from 2015-03-04 to 2021-06-03
2021-09-24 18:20:13 +02:00
Bram Matthys
ca9132b345
Update geoip-classic.tar.gz. Changes:
...
In configure remove AC_FUNC_MALLOC and AC_FUNC_REALLOC.
These don't do anything, except they cause a build failure on
Ubuntu 21 and later (together with openssl 3.0.0 anyway).
2021-09-24 18:11:43 +02:00
Bram Matthys
39ead41fae
Update notes about release notes a bit
...
[skip ci]
2021-09-24 17:50:39 +02:00
Bram Matthys
8acd17b0ef
Make the error a bit more clear (that the two lines are related)
...
[skip ci]
2021-09-24 17:46:57 +02:00
Bram Matthys
efb16159f3
Add check for missing include "snomasks.default.conf";
...
Well, not literally, but indirectly :D
2021-09-24 17:44:57 +02:00
Bram Matthys
f85732a7e0
When unreal_log() was called incorrectly and wanted to print a BUG
...
error message about this it crashed. Can't use NULL va and the
null_va trick didn't work either, so.. don't use va stuff at all..
2021-09-24 17:33:30 +02:00
Bram Matthys
fa9957ac6b
Add GeoIP engine prompt to ./Config
2021-09-24 17:19:02 +02:00
Bram Matthys
3fda96448d
Fix crash due to invalid subsystem use in tls.c
...
[skip ci]
2021-09-24 17:17:03 +02:00
Bram Matthys
4397450bd0
Revert LD_LIBRARY_PATH= in unrealircd script, as we use -rpath for that.
2021-09-24 16:57:52 +02:00
Bram Matthys
baa07b179f
Get rid of some other old upgrade conf stuff as well. Remove some,
...
but keep some other errors, since they may still be helpful,
or at least for now.
2021-09-24 16:47:23 +02:00
Bram Matthys
a2a9eebf98
Get rid of ./unrealircd upgrade-conf (was for 3.2.x to 4.x)
2021-09-24 16:40:42 +02:00
Bram Matthys
864aef89da
LOG_DEST_OTHER => LOG_DEST_DISK
2021-09-24 16:37:24 +02:00
Bram Matthys
f29e0fcfe1
Make sure nobody uses a subsystem of like "info" or "debug" etc,
...
which are reserved for log levels, and would otherwise clash in
the log::sources configuration.
2021-09-24 16:15:05 +02:00
Bram Matthys
4b079dbd1b
Add JOIN/PART/KICK logging (snomask 'j').
...
This also changes the remove_user_from_channel() function to have an
extra parameter to hide it from logs. This is used for KICK (already
logged) and QUIT (which would be stupid to generate 10 part log lines for).
2021-09-24 16:08:41 +02:00
Bram Matthys
4e511da9fb
Update default logging conf
...
[skip ci]
2021-09-24 15:52:41 +02:00
Bram Matthys
8de1adc1c0
Update SECURITY.md to include U6
...
[skip ci]
2021-09-24 11:33:26 +02:00
Bram Matthys
56c3b4ced6
Automatically add default log block that logs everything if no log
...
block to disk is present.
Also update the English example.conf.
Both may need some default filtering (or not)...
2021-09-24 11:30:04 +02:00
Bram Matthys
9852ec9991
No longer log everything, so apply source { } on log blocks for disk files.
...
This also adds the option "all" to log everything (after which you can
use exclusion if you wish, eg "!whatever".
2021-09-24 11:15:52 +02:00
Bram Matthys
d3dfa5f40c
Make negative matching work in log sources, update default snomasks.
...
No longer log to all ircops if no matching snomasks.
So yeah, if you don't load snomask.default.conf you will see nothing
(TODO: some warning / error for this)
2021-09-24 11:07:25 +02:00
Bram Matthys
1d73db560c
Get rid of modules/snomasks directory, since the snomask module API is gone.
...
(IRCOps can set any snomask dynamically now)
2021-09-24 10:10:27 +02:00
Bram Matthys
b41311ddaf
Update default snomask to +bBcdfkqsSoO
2021-09-24 10:03:18 +02:00
Bram Matthys
e14b463b60
Major update to default snomask configuration
2021-09-24 09:41:32 +02:00
Bram Matthys
bcfe43788d
Some unimportant unreal_log() updates.
...
[skip ci]
2021-09-24 09:41:21 +02:00
Bram Matthys
be6bbbcc6b
Convert all remaining sendto_umode()/sendto_umode_global() to unreal_log().
...
Except, of course, the ones that actually need to send to a user mode,
which is only LOCOPS and GLOBOPS.
2021-09-24 08:28:37 +02:00
Bram Matthys
52667445f2
Fix warning on vsendto_prefix_one (my mistake...)
2021-09-23 20:03:33 +02:00
Bram Matthys
43e4c5444f
We already got rid of sendto_ops(), now get rid of sendto_realops().
...
Use the new logging instead.
2021-09-23 19:57:05 +02:00
Bram Matthys
2a7da65574
Fix header: wallops -> usermodes/wallops
2021-09-23 19:31:28 +02:00
Bram Matthys
0439e4f89d
Move wallops module from "wallops" to "usermodes/wallops"
...
(which includes the command)
2021-09-23 19:25:38 +02:00
Bram Matthys
20c4ac2cd1
Move all wallops code out of the core.
2021-09-23 19:21:19 +02:00
Bram Matthys
b94707a51b
Change (or delete) old sendto_ops() calls. Function is now gone.
2021-09-23 19:14:10 +02:00
Bram Matthys
e36c85e4ce
I don't understand much from this old code, but.. whatever.
2021-09-23 19:13:55 +02:00
Bram Matthys
6abd74b121
Get rid of REHASH flag handling for staff, just rehash ffs...
...
And this module is not perm so we can ditch all this code.
2021-09-23 18:55:17 +02:00
Bram Matthys
cb31ec97a3
JSON log: expand a bit more for IsMe(), like filling in some client.server
...
stuff. Also add client.server.info for both IsServer() and IsMe().
2021-09-23 18:50:08 +02:00
Bram Matthys
720f597ad6
Get rid of current snomask system and allow ircops to set any snomask
...
(that is: a-z A-Z) so to use the dynamic system with the new logging.
Largely untested.
2021-09-22 15:49:20 +02:00
Bram Matthys
7fdd14de95
Remove sendto_snomask() and sendto_snomask_global() as this is no longer
...
the way we do things with the new logging stuff.
And converted the last few calls to these functions to unreal_log().
2021-09-22 14:27:50 +02:00
Bram Matthys
e6bc040402
Update coders in ./Config as well (and restyle a little bit)
2021-09-22 12:46:38 +02:00
Bram Matthys
5175afb598
Update ircd coders
2021-09-22 12:02:46 +02:00
Bram Matthys
8d5ccee2d1
Put arabic-utf8 in the correct group and #if out the hard errror
...
when mixing UTF8 groups, make it a general warning again as it
may or may not be an issue.
2021-09-22 09:42:42 +02:00
Bram Matthys
bcf5b2d4b8
Add support for arabic-utf8 in set::allowed-nickchars. Supplied by Sensiva
...
in https://bugs.unrealircd.org/view.php?id=3734
2021-09-22 09:42:08 +02:00
Bram Matthys
215677d785
Fix hooks, so gcc compiles again after last few commits.
2021-09-20 18:32:32 +02:00
Bram Matthys
381454bd1d
1) Change from .prefix_priority to .rank.
...
2) Make higher value = higher ranking
3) Ship with defines for these:
#define RANK_CHANOWNER 4000
#define RANK_CHANADMIN 3000
#define RANK_CHANOP 2000
#define RANK_HALFOP 1000
#define RANK_VOICE -1
2021-09-20 16:09:14 +02:00