Commit graph

  • 39cd11f504
    Fix OOB read due to message tag with trailing backslash. Bram Matthys 2019-05-25 15:48:33 +02:00
  • b63a67dea0
    More parse/parse2 fixes like 6e219cd834. This fixes an OOB write (NUL byte write) due to trusting 'length'. It is now removed and renamed to bytes, it's only for adding lag. Bram Matthys 2019-05-25 15:40:18 +02:00
  • 39af766ced
    Add a FIXME Bram Matthys 2019-05-25 15:40:10 +02:00
  • a74bae0447
    Some cleaning in m_sajoin. Whitespace and if() order. Bram Matthys 2019-05-25 12:32:18 +02:00
  • f320e32b7e
    Clean up compiler flag checker. (Since we don't need the C++ check, we use C only) Bram Matthys 2019-05-25 11:36:13 +02:00
  • e0c2ccd99b
    Remove unused configure checks: HAVE_C99_VARLEN_ARRAY, HAVE_RAND_EGD, and an AC_SUBST for MKPASSWDLIBS. Bram Matthys 2019-05-25 11:27:53 +02:00
  • 05e3ed63a0
    Default to --with-system-pcre2. Now all shipped libs default to system libs. Bram Matthys 2019-05-25 11:01:11 +02:00
  • 5513b21936
    Remove old extras/regex Bram Matthys 2019-05-25 10:50:01 +02:00
  • 1108b58951
    Remove old TRE regex engine. Hasn't been maintained since 2010 and has various outstanding crash and 100% CPU issues. We have been encouraging the PCRE2 engine since the start of UnrealIRCd 4 already. TRE is being phased out of U4 by the end of the year, so we can safely remove it in U5 already. Bram Matthys 2019-05-25 10:42:46 +02:00
  • 185b4e05c0
    Whoops, this #comment in 'make install' showed up to end-users. Bram Matthys 2019-05-25 10:19:33 +02:00
  • 4b45555edd
    Fix issue if compiling without TRE but with shipped argon2 (or other combinations). Need to create libdir in ./Config ;) Bram Matthys 2019-05-25 10:17:33 +02:00
  • 6e219cd834
    Remove confusing 'bufend' variable from parse and parse2 functions. Such a variable suggests that we will never read past that, but that is not the case, since we (correctly) assume that the buffer is NUL terminated, which is ensured by dbuf_getmsg(). The 'length' is still available for informational purposes, to avoid strlen()'s at various places. Hm, I guess length can cause the same confusion as bufend, but still.. I like it better :D Bram Matthys 2019-05-25 09:50:36 +02:00
  • a2f37722ae
    Fix unitialized variable issues in message-tags handling. Bram Matthys 2019-05-25 09:08:43 +02:00
  • 8b1cd80700
    Make labeled-response work again after API change. TODO: handle both draft/ and without draft/, maybe upstream? Bram Matthys 2019-05-25 09:08:26 +02:00
  • 427885681d
    Make account-tag not inherit. I don't think there's a bug right now, but it's not logical and makes it too easy to make a mistake. Bram Matthys 2019-05-25 08:05:26 +02:00
  • daab5abc92
    Manual audit of sendto_one(): add mtags support where necessary. Bram Matthys 2019-05-24 21:09:55 +02:00
  • 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... Bram Matthys 2019-05-24 17:38:48 +02:00
  • c307d6c61b
    Make WHOX the default. Warn if you try to load both modules. Now uses CommandAdd() instead of an override, which was just an interim solution earlier. Bram Matthys 2019-05-23 19:08:49 +02:00
  • c528b22cdd CIDR support for /WHOX ip matching. i 2019-05-22 23:01:55 +03:00
  • 418b42e5bf
    More sendnumeric() and sendnumericfmt() conversions. Bram Matthys 2019-05-22 17:09:12 +02:00
  • 4a11309344
    Transform sendto_one's to sendnumericfmt() - stage 1 Bram Matthys 2019-05-22 16:39:06 +02:00
  • f8bee4941a
    Some fixes due to the sendnumeric() migration (see previous commits). Bram Matthys 2019-05-22 12:58:38 +02:00
  • 39029555cb
    A few more sendnumeric() conversions, putting numerics in main file. Bram Matthys 2019-05-22 12:39:01 +02:00
  • 7e4bfbc7c3
    Move more to sendtxtnumeric()... and some sendnumeric() leftovers. Bram Matthys 2019-05-22 12:10:57 +02:00
  • 1a4cbb7023
    sendnumeric() - phase 2 Bram Matthys 2019-05-22 11:41:46 +02:00
  • c27bb26abc
    sendnumeric() - stage 1 Bram Matthys 2019-05-22 10:43:07 +02:00
  • 5fb9b12d5e
    Mass-replace sending of notices with sendnotice(), which exists for quite a while now ;) Bram Matthys 2019-05-22 09:34:34 +02:00
  • 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. Bram Matthys 2019-05-21 19:00:35 +02:00
  • 6d1d3de620
    Move .CHANGES.NEW -> doc/Config.header Bram Matthys 2019-05-19 16:30:27 +02:00
  • f08e662878
    Update and document modules.default.conf wrt IRCv3 features (CAPs etc). Bram Matthys 2019-05-19 16:06:06 +02:00
  • 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 ;). Bram Matthys 2019-05-19 15:58:34 +02:00
  • da31011b30
    Move most of the message-tags stuff to the message-tags module. Bram Matthys 2019-05-19 15:41:24 +02:00
  • 13c59febbf
    Support for optional efunctions, with a default handler. Bram Matthys 2019-05-19 09:49:53 +02:00
  • 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. Bram Matthys 2019-05-19 09:24:38 +02:00
  • 10dcacdb0a
    @define, @if, @endif are all working. You can do something like: @define $SERVERIP "1.2.3.4" listen { ip $SERVERIP; port 6667; } Bram Matthys 2019-05-18 16:06:28 +02:00
  • 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); Bram Matthys 2019-05-18 14:32:36 +02:00
  • 1adb02b56b
    Move new preprocessor from yesterday to it's own file (src/conf_preprocessor.c) Bram Matthys 2019-05-18 13:58:27 +02:00
  • fad8c35847
    Initial support for dynamic configuration, $define, $if, $endif. Early commit, still cleaning up to do. But what works is: Bram Matthys 2019-05-17 20:43:36 +02:00
  • 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". Bram Matthys 2019-05-17 18:48:37 +02:00
  • 330e4018c3
    Comment out hideserver by default Bram Matthys 2019-05-17 18:46:52 +02:00
  • 83991ae2a7
    Fixed issue where REHASH caused 100% CPU loop. Bram Matthys 2019-05-17 13:40:01 +02:00
  • 6e5aa1fd93 Added m_storetkl for persisting TKLines across IRCd restarts GottemHams 2019-05-14 20:48:12 +02:00
  • 4ace26ec3f
    Another test commit Bram Matthys 2019-05-13 17:03:50 +02:00
  • d9380ce3bc
    Test commit Bram Matthys 2019-05-13 16:09:50 +02:00
  • 605c2addcf
    Update documentation URL already (no it will not exist for the next couple of months, probably) Bram Matthys 2019-05-13 15:44:15 +02:00
  • 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... Bram Matthys 2019-05-13 15:43:01 +02:00
  • a81ebd6632
    Dumdeedum Bram Matthys 2019-05-13 15:03:20 +02:00
  • 7aa6c6e167
    Test framework: add run-tests.bbwrapper Bram Matthys 2019-05-13 13:41:13 +02:00
  • cf57b3d09c
    Revert workaround bac365ef12 from 2 commits ago Bram Matthys 2019-05-13 13:13:23 +02:00
  • f2a5a143b7
    Changes for buildbot infrastructure Bram Matthys 2019-05-13 13:07:37 +02:00
  • bac365ef12
    Turn this off so I can run tests Bram Matthys 2019-05-13 12:45:39 +02:00
  • 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 :) Bram Matthys 2019-05-12 15:25:11 +02:00
  • 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. Bram Matthys 2019-05-12 13:46:44 +02:00
  • a87d54355a
    Update version to 5.0.0-dev I'm sure there will be many other U4 references still... Bram Matthys 2019-05-12 13:29:40 +02:00
  • 4981bf472c
    Bump reputation version from 1.0.1 to 1.2 Bram Matthys 2019-05-11 14:17:45 +02:00
  • 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. Bram Matthys 2019-05-11 14:15:52 +02:00
  • 7a7266bc2f
    Bump connthrottle version from 1.1 to 1.2 Bram Matthys 2019-05-11 14:02:42 +02:00
  • 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. Bram Matthys 2019-05-11 13:58:07 +02:00
  • 9f8e73dca7
    Make CAP commands case sensitive. Suggested by Koragg in https://bugs.unrealircd.org/view.php?id=5263 Bram Matthys 2019-05-10 08:57:16 +02:00
  • 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 Bram Matthys 2019-05-10 08:49:40 +02:00
  • 92ceb129da Helpop update (#81) Vitor Luis 2019-05-04 14:45:33 +02:00
  • b0d3476176
    HELPOP: Update MKPASSWD documentation Bram Matthys 2019-05-04 13:47:07 +02:00
  • 09d31d8ded
    Enhance WHOX->WHO auto-conversion for +s serv.er.name, reported by k4be. Bram Matthys 2019-05-03 13:15:17 +02:00
  • 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). Bram Matthys 2019-05-02 09:30:15 +02:00
  • 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 Bram Matthys 2019-05-02 08:55:22 +02:00
  • 377fa25244
    UnrealIRCd 4.2.3 Bram Matthys 2019-04-30 09:23:44 +02:00
  • 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. Bram Matthys 2019-04-28 12:12:53 +02:00
  • d3f061bbd9
    Updates to example.tr.conf and help.tr.conf by Serkan [skip ci] Bram Matthys 2019-04-28 11:47:39 +02:00
  • 8bbc136a66
    Updates to help.tr.conf by Serkan Bram Matthys 2019-04-27 12:51:27 +02:00
  • cc15cd63de
    [reputation] Disable benchmark, config error should be warning. Bram Matthys 2019-04-25 09:56:35 +02:00
  • 9bd4f25af5
    Handle FLUSH_BUFFER gracefully (only matters in rare cases, such as in the case of malformed server traffic). Bram Matthys 2019-04-22 14:37:37 +02:00
  • 15ea9a9347
    UnrealIRCd 4.2.3-rc1 Bram Matthys 2019-04-22 08:25:26 +02:00
  • d6e285bdfc
    AppVeyor: replace wget with curl, since wget mysteriously fails. [skip travis] Bram Matthys 2019-04-22 07:42:04 +02:00
  • b1944284bd
    Trace appveyor issue... [skip travis] Bram Matthys 2019-04-22 07:33:16 +02:00
  • 1ada6c09f1
    Make clang happy Bram Matthys 2019-04-22 07:28:05 +02:00
  • 4234400e22
    Add 'reputation' and 'connthrottle' modules to fight drones. See https://www.unrealircd.org/docs/Connthrottle Bram Matthys 2019-04-22 07:11:25 +02:00
  • 81e2099f7b
    We already checked for the openssl library but if the openssl binary was not found then this was not treated as a fatal error. Now it is, since you will fail later in the installation process when a certificate file is being made (resulting in mysterious 'req: command not found' errors). Also, improve the error message both for the missing openssl library and openssl binary case. Bram Matthys 2019-04-15 18:56:11 +02:00
  • f3bd95fa42
    Create some preliminary release notes. [skip ci] Bram Matthys 2019-04-14 14:11:44 +02:00
  • 2ba65ed35c
    Move previous release notes to doc/RELEASE-NOTES.old [skip ci] Bram Matthys 2019-04-14 13:47:11 +02:00
  • 11c6604aeb
    Print out clear warning/error if using an old spamfilter.conf. For example for Windows users, or for *NIX users where the automated patching of the spamfilter.conf did not work. I've tried to make the error message as clear and big as possible and the wiki article as clear as possible as to what the user needs to do. Not much more I can do.... :) Bram Matthys 2019-04-14 13:45:11 +02:00
  • 4e75af79fa
    'make install' will now upgrade the spamfilter.conf examples from 'posix' to 'regex' if the user is using the exact same spamfilter.conf that shipped with UnrealIRCd 4.x until now. Otherwise, we do not update anything. Also, custom spamfilters in this file are not touched. Let's hope this will apply to most of our users to ensure that they will have no or less issues with the 'posix' to 'regex' conversion process. Bram Matthys 2019-04-14 13:01:31 +02:00
  • 3ba5153362
    Abort when using list functions on structs with incorrect order. This is mostly to guard 3rd party module writers against making such a mistake. Up to now such a mistake would silently corrupt memory without warning or error. That is, until you crashed :D. Bram Matthys 2019-04-14 11:01:20 +02:00
  • 570c59b2b2
    Bump UNREAL_VERSION_TIME. [skip ci] Bram Matthys 2019-04-12 11:01:15 +02:00
  • 3aa5048300
    Improve error message if someone uses set::something literally in the configuration file. Also, make (global)'unknown directive' errors fatal, as they should be. Bram Matthys 2019-04-07 17:09:12 +02:00
  • 9d7354147d
    Add two blacklist blocks in example conf: DroneBL and EFnet RBL. Bram Matthys 2019-04-05 21:06:50 +02:00
  • 5c30d1af6d
    * Badword blocks now use PCRE2 if using regex at all (rare, usually the fast badwords system is used instead) * Code deduplication in src/modules/{chanmodes,usermodes}/censor.c to src/match.c -- which may be moved later again to efuncs. * Add --without-tre: This means USE_TRE will be enabled by default right now but if using --without-tre it will be undef'ed. This so we can prepare for the TRE phase-out in 2020. * Remove include/badwords.h, put contents in include/struct.h Bram Matthys 2019-04-05 18:19:23 +02:00
  • 9e69cd722d
    Remove unused regex support in antirandom Bram Matthys 2019-04-05 16:27:07 +02:00
  • 422f76a723
    Fix very minor memleak introduced about 2-3 weeks ago. Bram Matthys 2019-04-04 19:24:23 +02:00
  • f111b5c1ad
    Update spamfilter.conf: convert some to 'simple' matchers and make clear that these are just old examples from the year 2005. Also, no longer include spamfilter.conf from the example*conf by default as they do not contain any useful spamfilters nowadays. Bram Matthys 2019-04-04 18:31:59 +02:00
  • 05c4cb5e8f
    Replace match-type 'posix' with 'regex' in example spamfilter.conf. Note that I should probably check if they still work now.. ;) Bram Matthys 2019-04-02 21:04:40 +02:00
  • 83372cc2c8
    Bump example.conf server sendq from 5M to 20M. Bram Matthys 2019-04-02 20:34:39 +02:00
  • bd05cf8e58
    Stop accepting /SPAMFILTER add -posix. You should really use PCRE2 by now. Similarly, raise a warning for spamfilter { } blocks in the configuration with match-type 'posix'. See: https://www.unrealircd.org/docs/FAQ#spamfilter-posix-deprecated Bram Matthys 2019-04-02 20:33:03 +02:00
  • ee342d9b84
    Re-indent set_mode and use new paracount_for_chanmode(). Bram Matthys 2019-03-27 16:59:42 +01:00
  • 8b222a1ed2
    -Wno-empty-body Bram Matthys 2019-03-27 14:00:35 +01:00
  • b2307af8ec
    Get rid of "unknown option -Wno-invalid-source-encoding" warning when there is another warning being triggered. -copy paste comment from configure.ac- We check for the -Woption even though we are going to use -Wno-option. This is due to the following (odd) gcc behavior: "When an unrecognized warning option is requested (e.g., -Wunknown-warning), GCC emits a diagnostic stating that the option is not recognized. However, if the -Wno- form is used, the behavior is slightly different: no diagnostic is produced for -Wno-unknown-warning unless other diagnostics are being produced. This allows the use of new -Wno- options with old compilers, but if something goes wrong, the compiler warns that an unrecognized option is present." Since we don't want to use any unrecognized -Wno-option, we test for -Woption instead. Bram Matthys 2019-03-27 13:44:29 +01:00
  • e7de6cf3a4
    Fix compile issue and report error when unable to write to pid file (data/unrealircd.pid by default). Bram Matthys 2019-03-27 13:26:30 +01:00
  • dd2af3b31c
    Enable additional compiler warnings. Update code to conform to these new standards, possible to compile with -Werror with them. Bram Matthys 2019-03-27 09:03:30 +01:00
  • 5a38d8ed75
    Fix misleading indentation. Bram Matthys 2019-03-25 18:37:05 +01:00
  • 6d3a98653e
    The maximum number of clients (MAXCONNECTIONS) no longer defaults to 1024. The new question in ./Config now defaults to 'auto' (both for new installs and for upgrades). You can still specify a manual limit but it is no longer recommended. A MAXCONNECTIONS of 'auto' means - at present - that UnrealIRCd will try to set a limit of 8192. This is quite a bump from the original 1024. On systems where this is not possible we will simply use the highest amount possible, such as 4096 on many systems, or 1024. In fact, we now no longer error when MAXCONNECTIONS is higher than the 'ulimit -n' limit but will adjust ourselves to the limit. Only if the effective limit is below 100 we will print out a fatal error since running in such a scenario is highly discouraged. The reason for this change is that nowadays with drone attacks we may need to be able to handle more concurrent sockets. Also, many Linux distro's have a default setting of unlimited or 4096 nowadays, out of the box. Bram Matthys 2019-03-25 15:43:26 +01:00
  • ad173cc5d0
    Ignore join flood check in channel mode +f when the server just booted. This new option is called set::modef-boot-delay (default: 75 seconds). See https://www.unrealircd.org/docs/Set_block#set::modef-boot-delay Bram Matthys 2019-03-25 13:27:28 +01:00