1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-10 23:03:13 +02:00
Commit Graph

5176 Commits

Author SHA1 Message Date
Bram Matthys 7278c9c8f4 @if causes miscounting of line numbers shown in config errors.
Reported by Gottem in https://bugs.unrealircd.org/view.php?id=5509
2020-01-02 13:05:26 +01:00
Bram Matthys b4fb4568fc Possibly fix a hang issue. Reported by westor. 2020-01-02 12:46:37 +01:00
Bram Matthys f8c6996edd Fix SID being shown (eg: 001) when services set the TOPIC. Reported by westor. 2019-12-31 13:26:31 +01:00
Bram Matthys a6b5f17656 Fix WHOX 'm', this should be an AND operation, eg: 'WHO +zo m' lists
IRC Operators (+o) that have +z set.
Similarly, 'WHO +o-z m' lists IRCOps (+o) which are -z.
Issue found while writing the HELPOP WHO documentation.
2019-12-31 13:22:35 +01:00
Bram Matthys 77e859459a Add )
[skip ci]
2019-12-31 09:44:33 +01:00
Bram Matthys 114ef14a31 Log who (client) or what (signal) requested a config file /REHASH. 2019-12-31 09:41:19 +01:00
Bram Matthys 2c23d4299c Send a better error when JOIN is used for a channel without hash mark (#).
Reported by k4be in https://bugs.unrealircd.org/view.php?id=5514
2019-12-30 19:02:20 +01:00
Bram Matthys fccb3b2f5b Add /ELINE exception type 'm' to bypass allow::maxperip.
In the configuration item you can now achieve the same via:
except ban { mask 1.2.3.4; type maxperip; }
Or even:
except ban { mask { 1.2.3.4; 8.8.8.8; }; type maxperip; }
etc.

Suggested by The_Myth in https://bugs.unrealircd.org/view.php?id=5507

Also, fixed an issue where the IRCd was counting servers as
clients for maxperip, which doesn't make much sense in practice,
so it only counts users now.
2019-12-30 18:23:55 +01:00
Bram Matthys e4d9e001d8 Merge branch 'unreal50' of github.com:unrealircd/unrealircd into unreal50 2019-12-30 17:54:40 +01:00
Bram Matthys c789ac6abe Add channel:override:mlock operclass permission which allows overriding
MLOCK restrictions when services are down (set::services-server).
Suggested by westor in https://bugs.unrealircd.org/view.php?id=5273
By default all opers with the *-with-override privilege have this,
which sounds OK to me.
2019-12-30 17:52:22 +01:00
GottemHams c2e3c8c8b1 Fix antirandom incorrectly defining its own BAN_ACT_WARN -- which is different from the one defined in include/struct.h and used in banact_stringtoval() -- resulting in kills instead of warns 2019-12-30 12:21:15 +01:00
Bram Matthys c215a3621a Use SNI in modulemanager. Not needed for the default one, but if you add
custom ones you might need it.
2019-12-28 18:50:03 +01:00
Bram Matthys 910f2ad383 Module manager: more error details when it fails to fetch a repository. 2019-12-28 18:05:22 +01:00
Bram Matthys aa7b199a8a Fix crash when reading configuration file with a password that is in
the old and unsupported unrealircd-specific md5/sha1 style.
2019-12-28 15:10:34 +01:00
Bram Matthys 63b77796ed sendto_server(&me, -> sendto_server(NULL,
Not sure where the &me originally came from, but it is used in a few places
and is only confusing since it has no meaning... nowadays anyway.
2019-12-27 17:23:24 +01:00
Bram Matthys c9cf74a735 Drop support for sending server pass (PASS xx) to nickserv. Use SASL!
It wasn't working anyway in 5.0.0 and this behavior was non-standard.
2019-12-23 16:40:06 +01:00
Bram Matthys e3b806ec60 Fix command override priorities again. Lowest value is called first,
just like hooks now. Yeah we've messed up a few times by now.
Seems only Gottem uses them :D
So now it would call for example: prio -10, prio 0, 10, 20, cmd.
This matches the behavior of hook priorities (and swhois etc.)
2019-12-23 13:10:33 +01:00
Bram Matthys 595e448239 If do_cmd() is called with NULL mtags then we now generate message tags,
run the command, and free them again right before return.
2019-12-23 10:56:25 +01:00
GottemHams 3a55dd8422 TKL exceptions (E-Lines) were missing an expiration notification =] 2019-12-22 21:33:35 +01:00
GottemHams a1ae90cd16 Fixed incorrect order in which command overrides were processed 2019-12-22 19:01:53 +01:00
GottemHams fac16fe1c0 match_* functions actually return 1 on match and not 0 :D 2019-12-22 14:48:04 +01:00
GottemHams 35d6e9a067 Fixed mismatch in config variable naming for require-module 2019-12-22 14:47:07 +01:00
Bram Matthys eac9cdc319 UnrealIRCd 5.0.0 release 2019-12-13 08:38:42 +01:00
Bram Matthys 25bc2b7923 Fix crash on nick change. 2019-12-12 16:58:26 +01:00
Bram Matthys 9fc508483f webredir module should not depend on curl (fix symbol not found error) 2019-12-11 19:54:17 +01:00
Bram Matthys 3a4d2d907a Fix tkldb/channeldb causing a 'File exists' error every 5 minutes. 2019-12-11 13:10:26 +01:00
Bram Matthys a078a5d659 Print a warning that upgrade-conf is for 3.2.x to 4.x, and not for 4.x to 5.x
since there are no mandatory changes. For more information why this is
unnecessary, see commit 32ca956e77.
2019-12-11 12:23:43 +01:00
Bram Matthys b9729a4f29 Fix bug in syncing spamfilters: ban act char vs string. Didn't always matter,
but for example 'gzline' became 'gline' on the other link.
Also replace 'unsigned short action' -> 'BanAction action'
2019-12-08 13:45:59 +01:00
Bram Matthys 32ca956e77 There were only 2 breaking changes in 4.x -> 5.x confs. Now there are 0.
Turning these errors into warnings instead should be fine and makes
the upgrade process (and instructions) easier.
* set::oper-only-stats is now a warning
* except tkl is auto-transformed into except ban and is now a warning
Both warnings contain clear instructions on what to do to get rid of
the warning message.
2019-12-08 09:33:38 +01:00
Bram Matthys cad664e749 Fix invalid parameter in jumpserver module 2019-12-07 18:05:50 +01:00
Bram Matthys 4bfdd84712 Document send.c a bit more. 2019-12-07 16:00:03 +01:00
Bram Matthys 55cad6fe05 Fix SASL authentication not working properly on servers 2+ hops away
from services. Reported by Koragg and The_Myth in
https://bugs.unrealircd.org/view.php?id=5485
The test framework has been updated to test these cases better.
2019-12-07 10:08:27 +01:00
Bram Matthys 7764358eb7 Remove some old URL reference / old deprecation notice for set::scan. 2019-12-06 08:44:51 +01:00
Bram Matthys 0bbb935a32 Rename CHECKPROTO() to CHECKSERVERPROTO() to avoid mixing up server caps
and client caps in the future.
2019-12-06 08:32:36 +01:00
Bram Matthys a0b0526556 CAP LIST wasn't outputting anything. Reported by Koragg in
https://bugs.unrealircd.org/view.php?id=5483
2019-12-06 08:29:53 +01:00
Bram Matthys bf61973a6d Print a warning when changin me::name that this change is not effective
until you restart the server.
Yeah it's really too much hassle atm to make that particular setting
/rehash'able, this will probably never change.
Fortunately changing that is rather rare. At least printing the
warning should help those users doing it.
2019-12-01 19:06:22 +01:00
Bram Matthys 35dd6c66b1 Fix doxygen documentation for sendto_channel 2019-11-29 12:21:58 +01:00
Bram Matthys 0f7f872a97 Update release notes and set version to 5.0.0-rc2. The actual public
release will probably be on Friday, though.
2019-11-27 19:37:38 +01:00
Bram Matthys 1576f8df23 Warn on some limitations of the @if stuff:
* Cannot use include within an @if
  ..but you can just use an include and then within that file use
  an if, to work around it.
* Cannot use loadmodule within an @if

For both this is because include & loadmodule are processed before
the rest. I think most people will be fine with those restrictions,
though.
2019-11-27 16:45:39 +01:00
Bram Matthys 540e7552f9 Fix crash when using conditional configuration (@if $var == ....)
reported in https://bugs.unrealircd.org/view.php?id=5281
It was not removing parts properly if an if didn't match,
leading to a use-after-free bug on-boot (or on rehash).

In the process I renamed config_entry_free to config_entry_free_all
since that is what it does. And I created a new config_entry_free(ce)
to free only 'ce' stuff... which is what we want from the
preprocessor.
2019-11-27 15:44:48 +01:00
Bram Matthys 1a1b9ddada If you changed listen::ip and rehashed it would not apply those changes
if you were switching from a IP-specific listener to a * (all) listener.
Reported by vectr0n in https://bugs.unrealircd.org/view.php?id=5235
2019-11-27 13:25:30 +01:00
Bram Matthys 7fe3407508 Clean up whitespace 2019-11-27 13:10:06 +01:00
Bram Matthys 05f0968ccd Test the various set::tls (and ::tls-options) files for existence
so we properly error and exit/fail when booting.
Reported in https://bugs.unrealircd.org/view.php?id=5350
2019-11-27 13:06:02 +01:00
Bram Matthys 1e3d726df7 Setting user mode +q now requires the self:unkickablemode permission.
This is included in the *-with-override operclasses.
2019-11-27 12:35:58 +01:00
Bram Matthys f6515131aa Handle timed bans in combination with forward, eg: +b ~t:10:~f:#chan:*!*@host 2019-11-27 12:11:26 +01:00
Bram Matthys 0b8d435232 +L can now be set by +o (or higher) instead of requiring +q (channel owner).
Also, update helpop on the new meaning of +L: if unable to join, then
the user is forwarded to the specified channel.
2019-11-27 12:00:57 +01:00
Bram Matthys ae30978680 Fix numeric 470, is now:
:irc.test.net 470 nickname #originalchannel #redirect :[Link] Cannot join channel #originalchannel (you are banned) -- transferring you to #redirect

Previously this was completely incorrect:
:irc.test.net 470 nickname [Link] Cannot join channel ..etc...
(yeah even lacking a colon)
2019-11-27 11:38:48 +01:00
Bram Matthys 332ca4898c Don't send CANNOTSENDTOCHAN (404) twice for dropped repeats in +f. 2019-11-27 10:33:51 +01:00
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 5d4c474472 Clean up KICK a bit, necessary for next commit which is a bug fix 2019-11-27 10:01:21 +01:00