Commit graph

  • 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 +0200
  • 330e4018c3
    Comment out hideserver by default Bram Matthys 2019-05-17 18:46:52 +0200
  • 83991ae2a7
    Fixed issue where REHASH caused 100% CPU loop. Bram Matthys 2019-05-17 13:40:01 +0200
  • 6e5aa1fd93 Added m_storetkl for persisting TKLines across IRCd restarts GottemHams 2019-05-14 20:48:12 +0200
  • 4ace26ec3f
    Another test commit Bram Matthys 2019-05-13 17:03:50 +0200
  • d9380ce3bc
    Test commit Bram Matthys 2019-05-13 16:09:50 +0200
  • 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 +0200
  • 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 +0200
  • a81ebd6632
    Dumdeedum Bram Matthys 2019-05-13 15:03:20 +0200
  • 7aa6c6e167
    Test framework: add run-tests.bbwrapper Bram Matthys 2019-05-13 13:41:13 +0200
  • cf57b3d09c
    Revert workaround bac365ef12 from 2 commits ago Bram Matthys 2019-05-13 13:13:23 +0200
  • f2a5a143b7
    Changes for buildbot infrastructure Bram Matthys 2019-05-13 13:07:37 +0200
  • bac365ef12
    Turn this off so I can run tests Bram Matthys 2019-05-13 12:45:39 +0200
  • 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 +0200
  • 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 +0200
  • 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 +0200
  • 4981bf472c
    Bump reputation version from 1.0.1 to 1.2 Bram Matthys 2019-05-11 14:17:45 +0200
  • 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 +0200
  • 7a7266bc2f
    Bump connthrottle version from 1.1 to 1.2 Bram Matthys 2019-05-11 14:02:42 +0200
  • 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 +0200
  • 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 +0200
  • 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 +0200
  • 92ceb129da Helpop update (#81) Vitor Luis 2019-05-04 14:45:33 +0200
  • b0d3476176
    HELPOP: Update MKPASSWD documentation Bram Matthys 2019-05-04 13:47:07 +0200
  • 09d31d8ded
    Enhance WHOX->WHO auto-conversion for +s serv.er.name, reported by k4be. Bram Matthys 2019-05-03 13:15:17 +0200
  • 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 +0200
  • 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 +0200
  • 377fa25244
    UnrealIRCd 4.2.3 Bram Matthys 2019-04-30 09:23:44 +0200
  • 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 +0200
  • d3f061bbd9
    Updates to example.tr.conf and help.tr.conf by Serkan [skip ci] Bram Matthys 2019-04-28 11:47:39 +0200
  • 8bbc136a66
    Updates to help.tr.conf by Serkan Bram Matthys 2019-04-27 12:51:27 +0200
  • cc15cd63de
    [reputation] Disable benchmark, config error should be warning. Bram Matthys 2019-04-25 09:56:35 +0200
  • 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 +0200
  • 15ea9a9347
    UnrealIRCd 4.2.3-rc1 Bram Matthys 2019-04-22 08:25:26 +0200
  • d6e285bdfc
    AppVeyor: replace wget with curl, since wget mysteriously fails. [skip travis] Bram Matthys 2019-04-22 07:42:04 +0200
  • b1944284bd
    Trace appveyor issue... [skip travis] Bram Matthys 2019-04-22 07:33:16 +0200
  • 1ada6c09f1
    Make clang happy Bram Matthys 2019-04-22 07:28:05 +0200
  • 4234400e22
    Add 'reputation' and 'connthrottle' modules to fight drones. See https://www.unrealircd.org/docs/Connthrottle Bram Matthys 2019-04-22 07:11:25 +0200
  • 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 +0200
  • f3bd95fa42
    Create some preliminary release notes. [skip ci] Bram Matthys 2019-04-14 14:11:44 +0200
  • 2ba65ed35c
    Move previous release notes to doc/RELEASE-NOTES.old [skip ci] Bram Matthys 2019-04-14 13:47:11 +0200
  • 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 +0200
  • 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 +0200
  • 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 +0200
  • 570c59b2b2
    Bump UNREAL_VERSION_TIME. [skip ci] Bram Matthys 2019-04-12 11:01:15 +0200
  • 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 +0200
  • 9d7354147d
    Add two blacklist blocks in example conf: DroneBL and EFnet RBL. Bram Matthys 2019-04-05 21:06:50 +0200
  • 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 +0200
  • 9e69cd722d
    Remove unused regex support in antirandom Bram Matthys 2019-04-05 16:27:07 +0200
  • 422f76a723
    Fix very minor memleak introduced about 2-3 weeks ago. Bram Matthys 2019-04-04 19:24:23 +0200
  • 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 +0200
  • 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 +0200
  • 83372cc2c8
    Bump example.conf server sendq from 5M to 20M. Bram Matthys 2019-04-02 20:34:39 +0200
  • 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 +0200
  • ee342d9b84
    Re-indent set_mode and use new paracount_for_chanmode(). Bram Matthys 2019-03-27 16:59:42 +0100
  • 8b222a1ed2
    -Wno-empty-body Bram Matthys 2019-03-27 14:00:35 +0100
  • 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 +0100
  • 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 +0100
  • 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 +0100
  • 5a38d8ed75
    Fix misleading indentation. Bram Matthys 2019-03-25 18:37:05 +0100
  • 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 +0100
  • 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 +0100
  • 5b20716e9b
    [cleanup] floodprot: move set::modef-* handling from core to module. Bram Matthys 2019-03-25 13:10:03 +0100
  • 6c837d3ce4
    Cleanup _test_operclass config code. Bram Matthys 2019-03-25 09:33:59 +0100
  • 9ca53369e7
    Lots of config code checks for "if (!cep->ce_varname)" however this is a condition that will never happen, as it is already handled by the parser. Bram Matthys 2019-03-25 09:21:15 +0100
  • 15d77298fe
    Empty blacklist::dns::type could lead to a crash (config file error). All the rest are things that "will never happen" or dead code. Bram Matthys 2019-03-25 09:04:31 +0100
  • 4490b8744e
    Use HAVE_RLIMIT instead of FORCE_CORE. And get rid of error message. Bram Matthys 2019-03-24 15:50:56 +0100
  • a9b3e05b0c
    Brain damage Bram Matthys 2019-03-24 15:22:02 +0100
  • b3e9d391d8
    More updates to api-command, remove old functions such as del_Command(). Bram Matthys 2019-03-24 15:18:41 +0100
  • e19639a1bd
    Fix compile problem #ifndef DEBUGMODE Bram Matthys 2019-03-24 15:13:34 +0100
  • 59e3a42304
    For the function declaration of command overrides, module coders are now encouraged to use CMD_OVERRIDE_FUNC(override_xyz) rather than declaring the function themselves. This works similar to CMD_FUNC(somecmd). Example: /* Forward declaration */ CMD_OVERRIDE_FUNC(override_xyz); [..] MOD_LOAD(somemodule) { CmdoverrideAdd(modinfo->module, "XYZ", override_xyz); [..] CMD_OVERRIDE_FUNC(override_xyz) { /* Do something useful here */ Bram Matthys 2019-03-24 08:27:26 +0100
  • 60952328f0
    Add function type checking in CommandAdd() And, for aliases, now use AliasAdd(), CommandAdd() is no longer permitted for it. Do any modules use this? Bram Matthys 2019-03-24 08:16:45 +0100
  • f9db29b768
    Smart.. moving code to a separate function resulting in the use of sizeof() on a char *... Bram Matthys 2019-03-24 07:48:08 +0100
  • cb60bf286d
    Get rid of this useless DLLFUNC junk. This is only needed for symbols that need to be visible from the outside of the .DLL (symbol export). Long story short: you never need to use this yourself in a module. Where needed it is already handled by UnrealIRCd. Bram Matthys 2019-03-23 19:53:12 +0100
  • edfc832aa8
    Some minor code cleanups, use CMD_FUNC() where possible. Bram Matthys 2019-03-23 19:45:34 +0100
  • 7bcf419eda
    Add references to the technical S2S documentation @skip-ci Bram Matthys 2019-03-23 19:39:56 +0100
  • e4ddc80c2a
    Code cleanup: m_protoctl. Has always been ugly, just was never bothered enough to clean it up. Also, remove PROTOCTL -<option> support, which is not used by anything and was only supported on a handful of options anyway. Also remove some debugging and PROTOCTL_MADNESS. Finally, add a reference to the technical documentation. Bram Matthys 2019-03-23 19:23:10 +0100
  • a11ee2b1a2
    Skip * in PROTOCTL SERVERS=. This probably caused a bug which could be triggered by doing quick server connects (crossing requests), something that the PROTOCTL SERVERS= code is supposed to prevent (it should be safe to connect to X servers at the same time, even every second). Bram Matthys 2019-03-23 19:04:59 +0100
  • 5992a759f7
    return 0.. Bram Matthys 2019-03-23 18:44:00 +0100
  • ab50bf2afc
    Communicate server featureset (and changes) across server links. Previously various information was only available for directly attached servers, since it is communicated via PROTOCTL. Now, we will also communicate information about leafs behind us. IRCOps can use the /SINFO command to see these server features. Services codes don't need to do anything, or at least are not expected to do anything. They can still receive the information and do something with it, of course... Read the following technical documentation for full information, as it will outline very specific rules for using the command S2S: https://www.unrealircd.org/docs/Server_protocol:SINFO_command Bram Matthys 2019-03-23 17:56:59 +0100
  • 335a7569bb
    Bugs like this can keep you occupied for a while: safestrdup(somevar, s+10); ..always caused somevar to be NULL :D. Bram Matthys 2019-03-17 20:16:21 +0100
  • 7ad6b15e92
    It would be nice if expired TKL's actually get removed (duh). Caused by fac1e30b91 from March 3, 2019. Bram Matthys 2019-03-15 16:34:30 +0100
  • 761ae02935
    Change assert() to if..!...abort() so it produces proper core dumps. Yeah, that's how it works, unfortunately. Bram Matthys 2019-03-15 16:03:48 +0100
  • fd73739847
    Handle SSL_ERROR_WANT_READ in a better way. Bram Matthys 2019-03-10 15:00:45 +0100
  • 872830bdf2
    I give up. Test framework will no longer run on Travis-CI, ruby is broken. Bram Matthys 2019-03-09 15:38:08 +0100
  • b396dc3c20
    .. Bram Matthys 2019-03-09 15:33:31 +0100
  • f47dc78418
    . Bram Matthys 2019-03-09 15:31:48 +0100
  • 2c114d458e
    ............................... Bram Matthys 2019-03-09 15:27:46 +0100
  • f039e08f0b
    Travis-CI + ruby = .... Bram Matthys 2019-03-09 15:17:31 +0100
  • e0a4e7fe71
    Travis-CI: :/ Bram Matthys 2019-03-09 15:05:47 +0100
  • 2e79c34c11
    Travis-CI: more diagnostics Bram Matthys 2019-03-09 11:59:33 +0100
  • 99b379fca8
    Travis-CI: :( Bram Matthys 2019-03-09 11:47:18 +0100
  • 584f3e9d6d
    Travis-CI: argh argh Bram Matthys 2019-03-09 11:32:27 +0100
  • 20550981f8
    Travis-CI: argh! Bram Matthys 2019-03-09 11:12:55 +0100
  • 5d69fe9d93
    Missing return NULL in find_tkline_match_zap_matcher (due to commit from a few days ago) Bram Matthys 2019-03-09 10:23:19 +0100
  • ad063ba36a
    Fix ./unrealircd spkifp complaining that it could not find the certificate file if you specified a relative path. Until now only absolute paths worked. Bug reported by CrazyCat. Bram Matthys 2019-03-08 09:32:05 +0100
  • fac1e30b91
    Major TKL speed improvements. Bram Matthys 2019-03-03 20:25:05 +0100
  • 87c81e7e9f
    This fsync() call slows things down too much at high connection rates. Bram Matthys 2019-03-03 19:03:05 +0100
  • 41c1f01011
    Bump version to 4.2.3-dev to make clear that this git version is under development. Bram Matthys 2019-03-03 17:14:09 +0100
  • 16659de0b2
    Changing set::anti-flood::invite-flood had no effect. It was always 4:60. Reported by Betaman2k in https://bugs.unrealircd.org/view.php?id=5222 Bram Matthys 2019-03-03 14:16:49 +0100