Commit graph

  • ad9ca5e449
    Add support for checking IPv6 addresses in blacklists. Suggested by k4be (#5040). Bram Matthys 2018-04-22 08:30:02 +0200
  • 9b1a79a191
    And again a Windows compile fix (hm how did this happen.. :D) Bram Matthys 2018-04-21 20:35:54 +0200
  • 4e1e7d6674
    Fix windows compile problem due to previous changes. Bram Matthys 2018-04-21 20:31:41 +0200
  • f0092fef4e
    Properly report failure of fork(). Reported by mbw (#5087). Bram Matthys 2018-04-21 20:27:53 +0200
  • 74009b88ba
    Cleanup of init_sys(): remove old stuff for ancient OS's. On *NIX now always redirect stdin, stdout and stderr to /dev/null for safety and to prevent any ssh hanging as reported by mbw (#5087). This code needs some testing on non-Linux though it should be all POSIX, unless I missed something... :) Bram Matthys 2018-04-21 20:12:23 +0200
  • 894491fa32
    Change numeric 008 format which reports snomask. This is for easier parsing of the "MODE yournick" response. From: :maintest.test.net 008 testuser :Server notice mask (+kcfjvGqSso) To: :maintest.test.net 008 testuser +kcfjvGqSso :Server notice mask Reported by emerson in #5079. Bram Matthys 2018-03-25 13:45:59 +0200
  • 2f4baddf0e
    Upd relnotes Bram Matthys 2018-03-25 13:42:32 +0200
  • 15bf82d3c1
    Fix segfault on set { hide-ban-reason; }; reported by Skizzerz (#5052) Bram Matthys 2018-03-25 13:41:57 +0200
  • 8f2b77bb2e
    It's +e ~m:censor and not ~m:filter. Reported by acidvegas (#5054). Bram Matthys 2018-03-25 13:31:06 +0200
  • 9f18118f76
    Fix './unrealircd reloadtls' not reloading certificates/keys if listen::ssl-options, sni::ssl-options or link::outgoing::ssl-options are used. In short: it only reloaded the ones from set::ssl until now. Bug reported by Mr_Smoke (#5072) Bram Matthys 2018-03-25 13:22:19 +0200
  • 54947ed9b5
    Add some initial release notes for 4.0.18 (not much..). Bram Matthys 2018-03-07 10:40:03 +0100
  • 41b7e1b735
    'set::cloak-method ip' not working properly with DNS resolving. Reported by The_Myth (#5064). Bram Matthys 2018-03-07 10:22:24 +0100
  • 386d2aaf8b
    Disable timesynch by default. Built-in time synchronization was added in 2006 when many computers did not do time synchronization by default. Nowadays nearly all operating systems, including many Linux distro's, Windows and OS X have time synchronization enabled out-of-the box. You can still re-enable the built-in timesynch feature via: set { timesynch { enable yes; }; }; ..but you should really use NTP instead. Bram Matthys 2018-03-07 09:40:13 +0100
  • afad280a1d
    Make NTP packet (used by timesynch) more in-line with existing implementations. Bram Matthys 2018-03-07 09:39:20 +0100
  • f4b864c7b8
    Update list of time servers Bram Matthys 2018-03-07 09:38:19 +0100
  • 2bbdf22d76
    Set git version to 4.0.18-devel Bram Matthys 2017-12-29 09:29:03 +0100
  • 12848b7dae
    dead_link() was not sending the error message to the user. This affected the following errors: * Max SendQ exceeded * Excess Flood * Flood from unknown connection * SSL Handshake flood detected * Rejected link without SSL/TLS * Various errors from the websocket module * Other errors generated by 3rd party modules Bram Matthys 2017-12-29 09:15:11 +0100
  • 6c1918bb77
    Relnotes reflect 4.0.16.1->4.0.17. Bram Matthys 2017-12-22 10:54:21 +0100
  • 3a67809140
    Archive 4.0.16.1 release notes. Bram Matthys 2017-12-22 10:16:28 +0100
  • 107424de9e
    Running ./autogen.sh helps when updating versions :D Bram Matthys 2017-12-22 10:13:41 +0100
  • 3aa13d2bc3
    UnrealIRCd 4.0.17 Bram Matthys 2017-12-22 09:52:24 +0100
  • 5609b36850
    Fix crash with OperOverride Bram Matthys 2017-12-22 09:48:42 +0100
  • 7808330176
    Use ::mask style in example (even though the previous method still works) Bram Matthys 2017-12-17 10:07:54 +0100
  • 0a9306ca5b
    CIDR support in set::antirandom::except-hosts Or, to be more precise: converted code to use match_user() framework. Bram Matthys 2017-12-17 10:06:39 +0100
  • 888b4f549c
    Be a bit more liberal, used for antirandom backward-compatible. Bram Matthys 2017-12-17 10:06:09 +0100
  • 33ec662205
    Remove a junk notice regarding SJOIN Bram Matthys 2017-12-17 09:26:19 +0100
  • dc7cb17eff
    Fix linking problem if only using link::outgoing (and not link::incoming) which is perfectly legal but caused a confusing error message about a 'server name mismatch'. Bram Matthys 2017-12-13 09:02:32 +0100
  • 079963cdc6
    Set prio for HOOKTYPE_CHANNEL_DESTROY to -1mln so other hooks are called later. Bram Matthys 2017-12-06 17:53:26 +0100
  • 847d7d9f7d
    UnrealIRCd 4.0.17-rc1 Bram Matthys 2017-12-01 10:06:43 +0100
  • e4ce20466e
    Bump proto version to 4017. Bram Matthys 2017-12-01 10:03:45 +0100
  • a07411217f
    Apparently individual PROTOCTL tokens were limited at 128 chars. This posed a limitation with utf8 PROTOCTL NICKCHARS=... and potentially PROTOCTL SERVERS=... if having more than 32 servers. The limitation has now been removed (buffer length = 512) Bram Matthys 2017-12-01 10:00:15 +0100
  • c603cc52b3
    Reject link if we have any utf8 charset enabled and other side doesn't. Bram Matthys 2017-12-01 09:56:08 +0100
  • 82659cfecc
    '/SPAMFILTER del <id>' was not working across servers. This was actually a read-after-free bug (IRCOp-only) Bram Matthys 2017-11-30 21:59:30 +0100
  • fa2afa8d0b
    vs2012.bat/vs2017.bat: Apparently %* should work on Windows.. Bram Matthys 2017-11-27 19:42:44 +0100
  • cc6d7757fa
    Fix hang when linking servers. Reported by k4be and acidvegas. Bram Matthys 2017-11-27 19:36:30 +0100
  • be0b499d94
    Add ability to use vs2012/vs2017 command with CUSTOMMODULE: Visual Studio 2012: call extras/build-tests/windows/compilecmd/vs2012.bat CUSTOMMODULE MODULEFILE=xyz Visual Studio 2017: call extras/build-tests/windows/compilecmd/vs2017.bat CUSTOMMODULE MODULEFILE=xyz Bram Matthys 2017-11-27 17:57:57 +0100
  • 7851742bc5
    Does this work? ;) Bram Matthys 2017-11-27 17:19:20 +0100
  • 40293aaaa7
    Move charsys definitions from .h to charsys.c & add some fwd decl Bram Matthys 2017-11-27 12:32:14 +0100
  • b923b57b35
    Yeah, we need more room. Bram Matthys 2017-11-27 12:22:42 +0100
  • 24a1f5ba9f
    Be more explicit about visually looking characters in Cyrillic script Bram Matthys 2017-11-27 12:08:48 +0100
  • 62277dbccf
    Add note regarding CASEMAPPING and "visually identical character" checks. Also call the UTF8 charsys support experimental. Not so much because of issues in UnrealIRCd that are unique to utf8 but because of the many "but's" such as lack of services support. And people suddenly waking up and realizing there never was improved CASEMAPPING and "visually identical character checks" in original charsys either. Bram Matthys 2017-11-27 12:03:53 +0100
  • 330498c467
    Update makefile.win32 for charsys move. Bram Matthys 2017-11-27 11:50:36 +0100
  • abaacb6643
    Permit 0xa0, if it appears inside UTF8 (via set::allowed-nickchars). This is the "non breaking space" outside UTF8 and thus was previously blacklisted. Keeping it blacklisted even if it appears in UTF8 is not really an option as it means some UTF8 characters can never be used, like the letter "nun" in Hebrew, and likely others. Bram Matthys 2017-11-27 11:41:07 +0100
  • b5b01c5263
    Modularize charsys (set::allowed-nickchars). It's still a mandatory module but at least the code can be updated on the fly (or replaced with some other secondary alternative module in the future). src/charsys.c -> src/modules/charsys.c This also means everyone needs to load the modules/charsys module. Bram Matthys 2017-11-27 11:24:25 +0100
  • 05e289fc59
    Make Windows version compile again? Bram Matthys 2017-11-27 10:38:47 +0100
  • fb12e1beeb
    set::allowed-nickchars: added "hebrew-utf8". Supplied by Lion-O. Bram Matthys 2017-11-27 10:30:32 +0100
  • e3b91f8b94
    Added UTF8 support in set::allowed-nickchars See https://www.unrealircd.org/docs/Nick_Character_Sets Example: set { allowed-nickchars { latin-utf8; }; }; Important remarks: * All your servers must be on UnrealIRCd 4.0.17 (or later) * Most(?) services do not support this, so users using UTF8 nicknames won't be able to register at NickServ. * In set::allowed-nickchars you must either choose an utf8 language or a non-utf8 character set. You cannot combine the two. * You also cannot combine multiple scripts/alphabets, such as: latin, greek, cyrillic and hebrew. You must choose one. * If you are already using set::allowed-nickchars on your network (eg: 'latin1') then be careful when migrating (to eg: 'latin-utf8'): * Your clients may still assume non-UTF8 * If users registered nicks with accents or other special characters at NickServ then they may not be able to access their account after the migration to UTF8. Bram Matthys 2017-11-25 21:12:41 +0100
  • 2a040b40a5
    Improve "non-SSL client on SSL port" detection. Bram Matthys 2017-11-25 16:01:56 +0100
  • 668e1241b0
    Show additional information in SSL errors. Such as: "SSL_accept(): Internal OpenSSL error or protocol error: tls_process_client_hello: unsupported protocol" rather than just "SSL_accept(): Internal OpenSSL error or protocol error" Perhaps it can be shortened in a later version if this is acceptable. Bram Matthys 2017-11-25 15:48:28 +0100
  • f7df81fd24
    Add AppArmor profile in extras/security/apparmor/unrealircd See: https://www.unrealircd.org/docs/Using_AppArmor_with_UnrealIRCd Bram Matthys 2017-11-25 09:54:47 +0100
  • 0d99670391
    Update changelog Bram Matthys 2017-11-23 07:56:11 +0100
  • 12df5a96ff
    Fix crash if using anope with old unreal32 mod w/SSL on non-localhost. Sounds rare and you should really use a more recent version of anope with the unreal4 protocol module. But, of course, we shouldn't crash. Bram Matthys 2017-11-21 11:40:07 +0100
  • e68f31ba34
    Update relnotes Bram Matthys 2017-11-20 18:57:40 +0100
  • b7bdb1dc40
    Move 4.0.16 release notes to doc/RELEASE-NOTES.old Bram Matthys 2017-11-20 18:55:38 +0100
  • 87a42edd4b
    extbans/timedban automatic -e/-I fix (duh) Should add a testcase for it, but the test would take 1 minute. Hmmm. Bram Matthys 2017-11-20 18:50:02 +0100
  • 0cc5eddce2
    extbans/timedban (~t): fix unset not working for +e/+I and reduce load by spreading the unset event over multiple events (process roughly a quarter each time). Not important for small networks but for big ones.. Bram Matthys 2017-11-20 16:48:48 +0100
  • e67d49112e
    Re-indent src/modules/m_mode.c (yuck...) Bram Matthys 2017-11-20 13:48:18 +0100
  • e16dfdc6a6
    Add release notes entry for timed bans support in +f. Bram Matthys 2017-11-20 09:48:25 +0100
  • aa093f3e2b
    Timedban support in +f [5t#b2]:10 (set 2 minute ban on text flood). Naturally this is only available if the extbans/timedban module is loaded and you should do so on all your servers on the same network if you want to avoid confusion/desynchs. Bram Matthys 2017-11-20 09:44:25 +0100
  • d63bc7e187
    Module API: New function is_module_loaded("name"): return 1 / 0 Bram Matthys 2017-11-20 09:43:43 +0100
  • 92afdb56b5
    Timed bans: ~t:duration:mask These are bans that are automatically removed by the server. The duration is in minutes and the mask can be any ban mask. => Note that you need to load the extbans/timedban module! Some examples: * A 5 minute ban on a host: +b ~t:5:*!*@host * A 5 minute quiet ban on a host (unable to speak): +b ~t:5:~q:*!*@host * An invite exception for 1440m/24hrs +I ~t:1440:*!*@host * A temporary exempt ban for a services account +e ~t:1440:~a:Account * Allows someone to speak through +m for the next 24hrs: +e ~t:1440:~m:moderated:*!*@host * And any other crazy ideas you can come up with... Bram Matthys 2017-11-20 09:16:03 +0100
  • 8b0fd74c37
    Bug: set::restrict-extendedbans did not have effect in stacked bans. For example if you had: set { restrict-extendedbans "a"; }; Then this would be rejected: MODE #chan +b ~a:Account However, you could still set: MODE #chan +b ~q:~a:Account Now this is properly rejected as well. Bram Matthys 2017-11-19 20:43:15 +0100
  • 2e1e9a0b91
    Load extbans/msgbypass from modules.optional.conf Bram Matthys 2017-11-19 17:19:35 +0100
  • eb205e04cc
    Make types future-proof. Fix ~m case for +M. BypassMessageRestrictionType -> BypassChannelMessageRestrictionType BYPASS_MSG_* -> BYPASS_CHANMSG_* Bram Matthys 2017-11-19 17:12:28 +0100
  • 1b2b28e6c6
    New ban exception ~m:type:mask - allows bypassing of message restrictions. Valid types are: 'external' (bypass +n), moderated (bypass +m/+M), 'filter' (bypass +G), 'color' (bypass +S/+c) and 'notice' (bypass +T). Some examples: * Let LAN users bypass +m: +e ~m:moderated:*!*@192.168.* * Make GitHub commit bot bypass +n: +e ~m:external:*!*@ipmask * Allow a services account to use color: +e ~m:color:~a:ColorBot Bram Matthys 2017-11-19 16:40:39 +0100
  • dd6f67a266
    Send errors regarding invalid bans (if available). Fix case where conv_param() returns NULL (ban rejected) causing is_ok() function not to be called so the user never sees the error. We now try to call the is_ok after conv_param returns NULL. So not really an API change, more like a fix. Bram Matthys 2017-11-18 19:15:44 +0100
  • b046b86a6e
    Way to customize the reject connection messages. Bram Matthys 2017-11-17 11:13:11 +0100
  • e1af5ae6c5
    Move AllowClient/check_client/check_init to m_nick module (apparently one of the previous commits was partial) Bram Matthys 2017-11-17 10:45:54 +0100
  • d13c7b20d0
    Code cleanups in AllowClient and register_user Bram Matthys 2017-11-17 10:37:45 +0100
  • 7b7f492b71
    Move AllowClient/check_client/check_init to m_nick module Bram Matthys 2017-11-17 10:06:44 +0100
  • cb6a118c4d
    antirandom sample conf: remove confusing phrase that doesn't apply Bram Matthys 2017-11-15 11:49:46 +0100
  • 3c0db9c72f
    Move HOOKTYPE_SECURE_CONNECT hook and mode setting up a bit. Bram Matthys 2017-11-13 17:02:05 +0100
  • cd7d3f0cc6
    Rephrase. Still too long, though. Bram Matthys 2017-11-13 17:00:36 +0100
  • 527fa9818c
    UnrealIRCd will no longer give +z to users on WEBIRC gateways, unless the WEBIRC gateway gives us some assurance that the client<->webirc gateway connection is also secure (eg: https). Bram Matthys 2017-11-13 16:47:22 +0100
  • 512c8fb000
    Move the place where we set umode +z (secure). Needed for next. Bram Matthys 2017-11-13 15:54:18 +0100
  • 31688fbae8
    Update version to 4.0.17-devel to reflect development status. Bram Matthys 2017-11-13 08:25:00 +0100
  • 07f056c1a4
    Add reference to https://www.unrealircd.org/docs/IRCOp_guide Bram Matthys 2017-11-13 08:17:28 +0100
  • d8470bb902
    AppVeyor: needs both unrar and unzip Bram Matthys 2017-11-12 08:08:41 +0100
  • f86cf68548
    UnrealIRCd 4.0.16 Bram Matthys 2017-11-12 07:59:11 +0100
  • 1425583bed
    Zip file now. Does this work? Bram Matthys 2017-11-11 11:06:48 +0100
  • 1070e43141
    Windows: update dependencies (libs). Bram Matthys 2017-11-11 11:04:51 +0100
  • 7d6d33a5bc
    Update c-ares to 1.13.0 (20-jun-2017) Bram Matthys 2017-11-11 09:57:35 +0100
  • 67396c808d
    Update release notes Bram Matthys 2017-11-10 19:48:32 +0100
  • 69264175e7
    Update conf/ssl/curl-ca-bundle.crt (Wed Sep 20 03:12:05 2017 GMT) Bram Matthys 2017-11-10 19:12:39 +0100
  • 1e059ca0e4
    Update to PCRE2 10.30 (14-August-2017) Bram Matthys 2017-11-10 19:05:36 +0100
  • 6b35aa35a8
    Delete UnrealIRCd 3.2.x changelogs (they are in git anyway) Bram Matthys 2017-11-10 18:58:21 +0100
  • c5e38b9272
    UnrealIRCd 4.0.16-rc1 Bram Matthys 2017-10-29 12:16:43 +0100
  • 704487e124
    Fix numerous crash bugs in server to server code. In 3.2.x we didn't fix these bugs since servers are trusted and should send correct commands. In 4.0.x we changed this so we would fix them when we come across such issues at normal priority (not consider them security issues). I now took it a step further and actively checked/looked for these issues and a bunch of them were found. Almost all are NULL pointer dereferences, with some exceptions. * S2S: MODE: check conv_param return value (NULL ptr crash) * S2S: MODE: floodprot: More checks (NULL ptr crash) * S2S: MODE: OOB write of NULL (write NULL past last element in an array) * S2S: NICK: old compat fixes (NULL ptr crash) * S2S: PROTOCTL: Check for double SID= * S2S: SERVER: require at least 3 parameters (NULL ptr crash) * S2S: SJOIN: require at least 3 parameters (NULL ptr crash) * S2S: SJOIN: Fix OOB read (read 1 byte past buffer) * S2S: TKL: validate set_at and expire_at (NULL ptr crash) * S2S: TKL: require at least 9 parameters for spamf, not 8 (NULL ptr crash) * S2S: TKL: ignore invalid spamfilter matching type (remove abort() call) * S2S: TOPIC: querying for topic is not permitted (NULL ptr crash) * S2S: UID: require 12 parameters (NULL ptr crash) * S2S: WATCH: this is not a server command (NULL ptr crash) * Fix OOB read (1 byte beyond string) for timevals. This was reachable from config code, TKL (S2S) and /*LINE (Oper). In practice no crash. * MODE: make code less confusing (effectively no change) * TRACE: remove strange output in case of 0 lines of output * Fix unimportant memory leak on boot (#4713, reported by dg) * Fix small memory leak upon 'DNS i' (oper only command) * Always work on a copy in clean_ban_mask(). This fixes a bug that could result in a strlcpy(buf, buf, sizeof(buf)). So, overlapping strings, which is undefined behavior. Bram Matthys 2017-10-29 11:20:52 +0100
  • d574183825
    Travis-CI: Use CPPFLAGS instead of CFLAGS Bram Matthys 2017-10-23 16:52:28 +0200
  • 0dadba5482
    Travis-CI: Use -DFAKELAG_CONFIGURABLE for tests. From 300 to 30s. Bram Matthys 2017-10-23 16:37:22 +0200
  • 52a7478bd0
    Comment it out like this so we can use -D Bram Matthys 2017-10-23 16:37:00 +0200
  • 1dfcac9794
    Travis-CI: Blah. Bram Matthys 2017-10-23 14:14:58 +0200
  • 0318edbad0
    Reinstall git during run-tests (may have been removed earlier in 'local-curl' test) Bram Matthys 2017-10-23 13:42:16 +0200
  • cec74b0208
    Use MAKE="make -j3" to make ./Config run faster as well. Bram Matthys 2017-10-23 12:38:57 +0200
  • 13740a7d13
    Travis-CI: Generate TLS certificate during test build (needed for testing further on) Bram Matthys 2017-10-23 12:34:41 +0200
  • 821ad6ec06
    Add some clear marker between compile tests and other tests Bram Matthys 2017-10-23 12:05:33 +0200
  • 5f3f6aa827
    Travis-CI: run-tests: install 'rake' Bram Matthys 2017-10-23 12:02:52 +0200
  • e1590fc8bc
    Run make with -j3. Add +x to extras/build-tests/nix/run-tests (:D) Bram Matthys 2017-10-23 11:53:50 +0200
  • 866a060533
    Use 'set -e' and try to run test framework Bram Matthys 2017-10-23 11:49:06 +0200
  • b23a3ff7b9
    Travis-CI: path changes Bram Matthys 2017-10-23 11:16:05 +0200