Bram Matthys
a8534a6063
Add new function kick_user() for use by modules. This so KICKs are
...
done in a consistent way.
2019-11-27 10:33:08 +01:00
Bram Matthys
ab42e12002
Make SVSLOGIN a broadcast, so all servers have the same svid information
...
for the user. Otherwise with post-connect SASL authentication you will
have different login information on server X compared to server Y
(the server with the user on it was always correct, though).
Also, add a function called user_account_login() which is used by both
SVSMODE/SVS2MODE and SVSLOGIN to send ACCOUNT messages to the channel.
This too was missing for SVSLOGIN (post-authentication SASL).
For this fix to be 100% effective, you need 100% UnrealIRCd 5.
2019-11-18 15:39:18 +01:00
Bram Matthys
dd38165cb0
Set version to 5.0.0-rc1 and update release notes. NOT RELEASED yet..
...
there will likely be more fixes within a few hours before -rc1 release.
2019-11-15 07:07:29 +01:00
Bram Matthys
6bb83dc5bc
Bump version to 5.0.0-beta1
2019-11-01 20:05:05 +01:00
Bram Matthys
42d4d4a680
Compile fixes for Windows
2019-11-01 19:46:07 +01:00
Bram Matthys
6402dfd2fe
send_multinotice() -> sendnotice_multiline()
2019-11-01 13:12:40 +01:00
Bram Matthys
dfa83aa6e5
Add module manager. See https://www.unrealircd.org/docs/Module_manager
...
Also update release notes and some unrelated changes.
BIG commits. Lots of work. Requires more testing.
2019-11-01 12:57:12 +01:00
Bram Matthys
86ce42103a
Make the 'silence' module optional. Suggested by westor in
...
https://bugs.unrealircd.org/view.php?id=5415
Technically we now provide 3 default efunc handlers that always return 0.
2019-10-27 09:40:55 +01:00
Bram Matthys
fb8055c6ef
Add './unrealircd configtest' which tests the configuration but does
...
not actually start the server. Any warnings and errors are printed
only to the console.
Suggested in https://bugs.unrealircd.org/view.php?id=5219
2019-10-26 18:55:26 +02:00
Bram Matthys
52c8ef3815
get_sno_str -> get_snomask_string, get_mode_str -> get_usermode_string,
...
get_snostr -> get_snomask_string_raw, get_modestr -> get_usermode_string_raw
2019-10-26 11:42:05 +02:00
Bram Matthys
9b15c758cd
make_virthost() -> make_cloakedhost() and change parameters:
...
/** Calculate the cloaked host for a client.
* @param client The client
* @param curr The real host or real IP
* @param buf Buffer to store the new cloaked host in
* @param buflen Length of the buffer (should be HOSTLEN+1)
*/
void make_cloakedhost(Client *client, char *curr, char *buf, size_t buflen)
2019-10-26 11:38:53 +02:00
Bram Matthys
21ef90e503
Document channel mode api and two other files.
2019-10-26 11:22:10 +02:00
Bram Matthys
da5aefaad7
Get rid of class.h
2019-10-26 10:02:00 +02:00
Bram Matthys
ab7a4af46a
find_command(char *cmd, int flags) / find_command_simple(char *cmd)
2019-10-26 10:00:04 +02:00
Bram Matthys
9aff820d1a
Find_* -> find_*, eg Find_alias -> find_alias.
2019-10-26 09:57:15 +02:00
Bram Matthys
64342a0d16
Document api-command.c and command API page. Change find_Command.
...
(more in next commit)
2019-10-26 09:56:18 +02:00
Bram Matthys
24c60fd85e
Fix some doxygen tags (eg @notes to @note)
2019-10-26 09:33:09 +02:00
Bram Matthys
9c79ca6655
Document all functions in src/channel.c
2019-10-26 09:11:09 +02:00
Bram Matthys
845f9ca8ed
Uniform spelling: seetle on sync/synced/desync/desynced, rather than
...
synch/synched/desynch/desynched.
2019-10-25 14:07:58 +02:00
Bram Matthys
09854abade
Move the dcc deny stuff into the dccdeny module, that is:
...
functions from extra.c, entire undccdeny and svsfline,
large functions that were in message.c and conf.c
2019-10-25 13:39:24 +02:00
Bram Matthys
84918ac68f
Remove src/md5.c, integrate those two functions in src/misc.c
2019-10-25 11:19:18 +02:00
Bram Matthys
cb4d2f9cf0
Get rid of set::new-linking-protocol and __PANGPANG__ stuff for
...
compatibility with old 3.2.x servers.
2019-10-25 10:58:04 +02:00
Bram Matthys
00aee86b66
Clean up and document all functions in src/socket.c. Also,
...
remove calls to and the finish_auth() function, which did nothing.
2019-10-25 10:51:18 +02:00
Bram Matthys
599f83cbd4
Move some #define's out of the way, some re-indenting, ..
2019-10-25 09:47:52 +02:00
Bram Matthys
e6c7fcda7d
Move "real command" stuff to src/api-command.c and move dopacket() to
...
src/parse.c. Also re-order functions in parse.c so they appear in
logical order (1->2->3->4) rather than various helper functions first
and some random order.
2019-10-25 09:32:30 +02:00
Bram Matthys
49c2f7c2c3
Get rid of this whole kill path nonsense.
2019-10-16 11:11:46 +02:00
Bram Matthys
d0b9b02d05
We no longer use a blacklist for stats (set::oper-only-stats) but
...
have a whitelist now instead (set::allow-user-stats).
Suggested by tabrisnet, The_Myth and Jobe in
https://bugs.unrealircd.org/view.php?id=3375 and
https://bugs.unrealircd.org/view.php?id=5109
2019-10-14 18:46:14 +02:00
Bram Matthys
63298af6b2
Get rid of BREPORT_xx mess.
2019-10-14 17:36:04 +02:00
Bram Matthys
e1b0b0bc8e
Make tracing bugs easier if you used AddListItem twice - or at least
...
detect some cases of it (it will not detect the case where it is
a single-item list).
2019-10-14 08:53:05 +02:00
Bram Matthys
44f9423e13
Remove ID() macro as client->id always contains a proper UID now.
2019-10-13 20:11:58 +02:00
Bram Matthys
746ea5b558
Clean up cmd_server / cmd_sid now that 100% of the network is SID.
2019-10-13 16:22:56 +02:00
Bram Matthys
154aab6ec4
No need for clear functions since PROTOCTL does not allow it.
2019-10-13 09:42:29 +02:00
Bram Matthys
bcfd2ab529
Rip out support for servers lacking TKLEXT/TKLEXT2 (always send TKLEXT2 format)
2019-10-13 09:39:00 +02:00
Bram Matthys
560b73b6f7
Similar to previous commits, but for UMODE2. Actually no change, though,
...
since lack of UMODE2 was not supported in U4 anyway (maybe even 3.2.x).
2019-10-13 09:35:31 +02:00
Bram Matthys
a9890448d8
Rip out support for servers lacking SJ3
2019-10-13 09:33:39 +02:00
Bram Matthys
545c2560e6
Rip out support for servers lacking SIDs/UIDs.
...
More cleanups will follow later for this one.
2019-10-13 09:24:26 +02:00
Bram Matthys
930ede1c86
Rip out support for servers lacking SJOIN/SJOIN2
2019-10-13 09:09:59 +02:00
Bram Matthys
0670bfffb9
Rip out support for servers lacking NICKIP
2019-10-13 08:59:26 +02:00
Bram Matthys
fb4d994f40
Rip out support for servers lacking NOQUIT.
2019-10-13 08:56:05 +02:00
Bram Matthys
8d5f896790
Rip out support for servers lacking NICKv2
2019-10-13 08:54:16 +02:00
Bram Matthys
139e5faae6
UnrealIRCd 5.0.0-alpha4 (release tomorrow)
2019-10-11 20:31:15 +02:00
Bram Matthys
03645750f1
Protect against services that don't reply to SASL: time out the SASL
...
session after a 15 seconds timeout. The exact timeout value can be
changed by adjusting set::sasl-timeout, which should be (quite a bit)
less than set::handshake-timeout by the way. 15<30 now, so fine.
2019-10-11 19:17:59 +02:00
Bram Matthys
394168c288
Style fixes: "char* " -> "char *" etc.
2019-10-11 12:23:45 +02:00
Bram Matthys
aec54db360
Add is_extended_ban() which does a quick check for "~x:". This, rather
...
than scattered checks - which are sometimes different - everywhere in
the source code.
Also extban handler "is_ok" was being called with EXBTYPE_EXCEPT
rather than EXBTYPE_INVEX for +I. (Not reported by anyone)
2019-10-11 11:17:50 +02:00
Bram Matthys
22dec96f9a
No clean_channelname() anymore but a valid_channelname() function. Also,
...
deal with servers with different set::allowed-channelchars settings:
* We reject the link if set::allowed-channelchars settings differ between
UnrealIRCd 5 servers.
* For the case where you have a mixed network consisting of UnrealIRCd 4.x
and UnrealIRCd 5.x servers we try not to desync, BUT will not allow
anyone to join the invalid channels locally. For IRCOps a message is
printed with additional information on such a failed JOIN attempt.
See https://www.unrealircd.org/docs/Set_block#set::allowed-channelchars
for the different settings, which are best and U4<->U5 advice.
2019-10-09 18:11:02 +02:00
Bram Matthys
fbbd915403
Reject link if set::allowed-channelchars differ.
2019-10-09 15:59:59 +02:00
Bram Matthys
798b223ee3
Convert some more stuff to enums (config preprocessor mostly).
2019-10-06 07:54:46 +02:00
Bram Matthys
d2a93c3a03
websocket module will now only disable show-connect-info on the ports
...
that have listen::options::websocket. It will no longer disable it
on all ports.
2019-10-06 07:37:55 +02:00
Bram Matthys
c399aab016
Support for labeled-response in LIST (I really wanted this)
2019-10-05 18:21:47 +02:00
Bram Matthys
f992a0c1c0
Finish up labeled-response implementation. Load by default to get the
...
thing tested. Will do at least 1 other commit soon related to this.
2019-10-05 17:33:22 +02:00