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

6821 Commits

Author SHA1 Message Date
Bram Matthys 418b42e5bf More sendnumeric() and sendnumericfmt() conversions. 2019-05-22 17:09:12 +02:00
Bram Matthys 4a11309344 Transform sendto_one's to sendnumericfmt() - stage 1 2019-05-22 16:39:06 +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 39029555cb A few more sendnumeric() conversions, putting numerics in main file. 2019-05-22 12:39:01 +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
Bram Matthys c27bb26abc sendnumeric() - stage 1 2019-05-22 10:43:07 +02:00
Bram Matthys 5fb9b12d5e Mass-replace sending of notices with sendnotice(), which exists for quite a while now ;) 2019-05-22 09:34:34 +02:00
Bram Matthys a320bec089 More message tags support in the API. sendto_server() now has mtags
and sendto_match_butone as well.
Still about 15 FIXME's that need to be resolved, but committing early.
2019-05-21 19:00:35 +02:00
Bram Matthys 6d1d3de620 Move .CHANGES.NEW -> doc/Config.header 2019-05-19 16:30:27 +02:00
Bram Matthys f08e662878 Update and document modules.default.conf wrt IRCv3 features (CAPs etc). 2019-05-19 16:06:06 +02:00
Bram Matthys c3a929646c Move src/modules/cap/* to src/modules/ as the meaning got blurred.
For example, msgid / message-ids is not a CAP, while server-time is.
There mere fact of something being in CAP or not shouldn't cause
something to be in different directories ;).
2019-05-19 15:58:34 +02:00
Bram Matthys da31011b30 Move most of the message-tags stuff to the message-tags module. 2019-05-19 15:41:24 +02:00
Bram Matthys 13c59febbf Support for optional efunctions, with a default handler. 2019-05-19 09:49:53 +02:00
Bram Matthys 4e17f85fe6 1) New function new_message() which should be called when a new message is
sent, or at least for channel events.
2) Move adding of msgid/time/account tags to modules,
   which is their proper place.
2019-05-19 09:24:38 +02:00
Bram Matthys 10dcacdb0a @define, @if, @endif are all working.
You can do something like:
@define $SERVERIP "1.2.3.4"
listen {
    ip $SERVERIP;
    port 6667;
}

Supported @if types:
@if $VARIABLE == "something"
@if $VARIABLE != "something"
@if defined($VARIABLE)
@if !defined($VARIABLE)
@if module-loaded("somename")
@if !module-loaded("somename")
2019-05-18 16:06:28 +02:00
Bram Matthys 35fa6cedac Convert some alloc+strlcpy to safestrldup in config code.
-curce->ce_vardata = MyMallocEx(ptr-start+1);
-    strlcpy(curce->ce_vardata, start, ptr-start+1);
+safestrldup(curce->ce_vardata, start, ptr-start+1);
2019-05-18 14:32:36 +02:00
Bram Matthys 1adb02b56b Move new preprocessor from yesterday to it's own file (src/conf_preprocessor.c) 2019-05-18 13:58:27 +02:00
Bram Matthys fad8c35847 Initial support for dynamic configuration, $define, $if, $endif.
Early commit, still cleaning up to do.
But what works is:

$define SERVER      "hub.example.org"

$if SERVER == "hub.example.org"
link .... {
....
}
$endif

$if defined(SERVER)
....
$endif

And also we have mod-loaded() which even works half-way in a block
such as in helpop:
help Chmodes {
[..]
$if module-loaded("chanmodes/stripcolor")
        " c = Block messages containing mIRC color codes [o]";
$endif
$if module-loaded("chanmodes/noctcp")
        " C = No CTCPs allowed in the channel [h]";
$endif
};

As said, still need to cleanups and there are some limitations.
Also the idea is to be able to use defined values in variable names/values
but that has not yet been implemented.
2019-05-17 20:43:36 +02:00
Bram Matthys 7204f156c2 Store relative path and is_module_loaded() now has a small behavior change.
You now call it with a path like is_module_loaded("extbans/timedban").
This, among other reasons, so you can differentiate between modules with
the same name, such as "usermodes/noctcp" and "chanmodes/noctcp".
2019-05-17 18:48:37 +02:00
Bram Matthys 330e4018c3 Comment out hideserver by default 2019-05-17 18:46:52 +02:00
Bram Matthys 83991ae2a7 Fixed issue where REHASH caused 100% CPU loop. 2019-05-17 13:40:01 +02:00
GottemHams 6e5aa1fd93 Added m_storetkl for persisting TKLines across IRCd restarts 2019-05-14 20:48:12 +02:00
Bram Matthys 4ace26ec3f Another test commit 2019-05-13 17:03:50 +02:00
Bram Matthys d9380ce3bc Test commit 2019-05-13 16:09:50 +02:00
Bram Matthys 605c2addcf Update documentation URL already (no it will not exist for the
next couple of months, probably)
2019-05-13 15:44:15 +02:00
Bram Matthys e6d474adae Temporarily remove .travis.yml to make clear that we do not use it
at the moment. Also, write a long multi-line comment. No this has
nothing to do with testing an IRC bot of any kind...
2019-05-13 15:43:01 +02:00
Bram Matthys a81ebd6632 Dumdeedum 2019-05-13 15:03:20 +02:00
Bram Matthys 7aa6c6e167 Test framework: add run-tests.bbwrapper 2019-05-13 13:41:13 +02:00
Bram Matthys cf57b3d09c Revert workaround bac365ef12 from 2 commits ago 2019-05-13 13:13:23 +02:00
Bram Matthys f2a5a143b7 Changes for buildbot infrastructure 2019-05-13 13:07:37 +02:00
Bram Matthys bac365ef12 Turn this off so I can run tests 2019-05-13 12:45:39 +02:00
Bram Matthys aff3c16c08 Provide --enable-asan and --disable-asan to toggle address sanitizer.
Since we are currently pre-alpha I decided to enable it by default
so we as devs don't forget to do so :)
2019-05-12 15:25:11 +02:00
Bram Matthys 5ebd096f16 Initial implementation of message-tags from May 5, 2019.
This also includes buffer modifications to have a larger read buffer
and IRCv3 implementations (partial or not) for:
labeled-response, msgid, server-time, batch and account-tag.

As said, it is the initial and partial implementation.
There are still various FIXME's and TODO's, the API of various
functions may still change (actually that is true for the next
months, even) and some stuff is currently in the core that will
be moved to modules.
2019-05-12 13:46:44 +02:00
Bram Matthys a87d54355a Update version to 5.0.0-dev
I'm sure there will be many other U4 references still...
2019-05-12 13:29:40 +02:00
Bram Matthys 4981bf472c Bump reputation version from 1.0.1 to 1.2 2019-05-11 14:17:45 +02:00
Bram Matthys 3a0d8fc06c Fix another reputation issue: reputation not showing in WHOIS when
a remote user has just connected (could take up to 5 minutes) and
a fix required for previous commit for connthrottle.
2019-05-11 14:15:52 +02:00
Bram Matthys 7a7266bc2f Bump connthrottle version from 1.1 to 1.2 2019-05-11 14:02:42 +02:00
Bram Matthys 64c8096361 Fix connthrottle module counting non-local connecting registered users
always as new users (regardless of reputation), causing the protection
to kick in too quickly for the poor new users. This was noticeable
after for example one server died and new users reconnecting massively
to the remaining servers. Reported by Lord.
2019-05-11 13:58:07 +02:00
Bram Matthys 9f8e73dca7 Make CAP commands case sensitive.
Suggested by Koragg in https://bugs.unrealircd.org/view.php?id=5263
2019-05-10 08:57:16 +02:00
Bram Matthys 872ebca6fa Don't forward PASS to services if the user is already logged in via SASL.
Reported by westor in https://bugs.unrealircd.org/view.php?id=5264
2019-05-10 08:49:40 +02:00
Vitor Luis 92ceb129da Helpop update (#81)
Update help.conf with soft actions and changed *:Lines to be *-Lines which goes more accordingly with the new rewording in UnrealIRCd IRC messages.
2019-05-04 14:45:33 +02:00
Bram Matthys b0d3476176 HELPOP: Update MKPASSWD documentation 2019-05-04 13:47:07 +02:00
Bram Matthys 09d31d8ded Enhance WHOX->WHO auto-conversion for +s serv.er.name, reported by k4be. 2019-05-03 13:15:17 +02:00
Bram Matthys 8a6cbfaaf0 Show linking error messages if these happen during the handshake and we
have already fully authenticated the server (but when it technically is
not fully linked as a server yet, eg post-EAUTH but pre-SERVER).

Also, send ERRORs to junk snomask from untrusted sources. After all,
the junk snomask is precisely there to enable briefly to debug issues.
In case of link errors we always advice to check BOTH sides of the link
as an IRCOp, and this advice still stands. This may just help a little
for people who do not follow our advice.
2019-05-02 09:30:15 +02:00
Bram Matthys 5b63d28e2a Improve error messages in case of failed server linking due to mixed
password types (eg: plaintext on one side, spkifp on the other side).
Refer to https://www.unrealircd.org/docs/FAQ#auth-fail-mixed

Also, unrelated to the above, don't say "Bad password?" if the
password type is not of type plaintext, since it would be confusing.
2019-05-02 08:55:22 +02:00
Bram Matthys 377fa25244 UnrealIRCd 4.2.3 2019-04-30 09:23:44 +02:00
Bram Matthys f9bbeaa6ca [nopost] Send these harmless kill messages to the junk snomask.
Nowadays these are pretty much never proxy attacks. Only scanners and
crawlers trying HTTP commands on IRC connections.. which isn't even that
weird anymore since people tend to open up port 443 for SSL/TLS IRC
to bypass firewall restrictions.
2019-04-28 12:12:53 +02:00
Bram Matthys d3f061bbd9 Updates to example.tr.conf and help.tr.conf by Serkan
[skip ci]
2019-04-28 11:48:11 +02:00
Bram Matthys 8bbc136a66 Updates to help.tr.conf by Serkan 2019-04-27 12:51:27 +02:00