Commit graph

  • 94c718dc3d
    Travis-CI: show 'ldd' output in build logs Bram Matthys 2018-04-26 10:36:23 +02:00
  • def588917a
    Travis-CI OS X improvements: * Enable system curl, system c-ares and local curl tests * Disable IRC test framework for now Bram Matthys 2018-04-26 09:52:30 +02:00
  • 40b0a5a9b2
    Travis-CI: OS X build test attempt 101 Bram Matthys 2018-04-26 09:17:11 +02:00
  • f615b6fa54
    Travis-CI: more adjustments for OSX Bram Matthys 2018-04-25 21:55:08 +02:00
  • 64367d5d4c
    OSX: try find right packages to run test framework Bram Matthys 2018-04-25 21:40:57 +02:00
  • 568a808dbe
    temporarily disable -Werror to see OS X warnings Bram Matthys 2018-04-25 21:21:13 +02:00
  • d1d87d4d42
    Apparently you need to use -Wl,-rpath,xx and not -Wl,-rpath=xx. Fix OSX compile problem? Bram Matthys 2018-04-25 21:09:01 +02:00
  • 7fe86ac1d8
    Travis-CI: Show config.log on failure to trace osx build issue Bram Matthys 2018-04-25 20:57:31 +02:00
  • 3a97bc29da
    Fix bug 2 due to code cleanup yesterday... Bram Matthys 2018-04-23 08:50:34 +02:00
  • c342b432d1
    OpenSSL detection: also check /usr/local/opt/openssl Bram Matthys 2018-04-22 20:01:50 +02:00
  • 34ae2cb0db
    OS X build-test: +brew install openssl Bram Matthys 2018-04-22 19:49:43 +02:00
  • 47e2975f01
    Fix crash number 1 due to latest changes (TOPIC). Bram Matthys 2018-04-22 19:38:29 +02:00
  • 52b785cf4e
    Let's build (and fail) OS X via Travis-CI. Bram Matthys 2018-04-22 18:58:41 +02:00
  • 47bfcf7587
    -Wno-format-zero-length Bram Matthys 2018-04-22 18:58:30 +02:00
  • d8c6201fbb
    Enable -Werror (via --enable-werror) in build tests Bram Matthys 2018-04-22 18:36:49 +02:00
  • 821a0464c7
    Add --with-werror to enable -Werror Bram Matthys 2018-04-22 18:35:50 +02:00
  • 31409b19a5
    Removed useless/unused * (pointer dereference) in increment Bram Matthys 2018-04-22 18:06:10 +02:00
  • 255223b308
    -Wno-invalid-source-encoding: +dnl This is purely for charsys.c... I like it so we can easily read +dnl this for non-utf8. We can remove it once we ditch non-utf8 some day +dnl of course, or decide to ignore me and encode them. Bram Matthys 2018-04-22 17:44:11 +02:00
  • ecf260dfc2
    Only use -Wl,-export-dynamic while linking unrealircd or modules. Bram Matthys 2018-04-22 17:36:04 +02:00
  • 1c2da25573
    Handle return value for truncate() - only for debugging anyway.. Bram Matthys 2018-04-22 17:35:36 +02:00
  • 33db0bf73e
    Get rid of a number of clang warnings. Bram Matthys 2018-04-22 17:06:31 +02:00
  • f535860670
    Make check for -fno-strict-aliasing / -Wno-pointer-sign work with clang. Bram Matthys 2018-04-22 16:50:51 +02:00
  • 9e2f16db9e
    warn_unused was a good idea once, but doing more harm than good at this point. Too many useless warnings and no easy way to ignore the result. Bram Matthys 2018-04-22 16:11:27 +02:00
  • 992bed3c7a
    Similar to previous commit, change: alter HOOKTYPE_MODE_DEOP function: -int hooktype_mode_deop(aClient *sptr, aClient *victim, aChannel *chptr, u_int what, char modechar, long my_access, char **badmode); +int hooktype_mode_deop(aClient *sptr, aClient *victim, aChannel *chptr, u_int what, int modechar, long my_access, char **badmode); .. this to get rid of a compiler warning and potential problem. Bram Matthys 2018-04-22 16:09:10 +02:00
  • 4f0f8478cc
    Update HOOKTYPE_CHANNEL_SYNCED to get rid of compiler warning. Can't safely use shorts with variable argument functions I think, or maybe only with reduced type checking which is not what we want. -void hooktype_channel_synced(aChannel *chptr, unsigned short merge, unsigned short removetheirs, unsigned short nomode); +void hooktype_channel_synced(aChannel *chptr, int merge, int removetheirs, int nomode); Bram Matthys 2018-04-22 16:02:13 +02:00
  • bb4758f321
    Add strldup() and safestrldup(), reducing ridiculous amount of code in m_pass and m_topic.c when duplicating strings with a length limit. +/* strldup(str,max) copies a string and ensures the new buffer + * is at most 'max' size, including nul byte. The syntax is pretty + * much identical to strlcpy() except that the buffer is newly + * allocated. + * If you wonder why not use strndup() instead? + * I feel that mixing code with strlcpy() and strndup() would be + * rather confusing since strlcpy() assumes buffer size including + * the nul byte and strndup() assumes without the nul byte and + * will write one character extra. Hence this strldup(). -- Syzop + */ Bram Matthys 2018-04-22 15:40:21 +02:00
  • 6990b7d9a6
    Mass-replace MyMalloc with MyMallocEx, even if it's unnecessary. Replace century-old custom functions with C standard funcs, such as AllocCpy -> strdup. Bram Matthys 2018-04-22 14:55:07 +02:00
  • 61f40a59a7
    Remove unused events.h Bram Matthys 2018-04-22 14:36:21 +02:00
  • 9a1a4f13a4
    Remove sjoin.h (was included but contents were unused) Bram Matthys 2018-04-22 14:32:28 +02:00
  • d5d446c38d
    More code cleanups to get rid of useless casts and other useless structures such as: - lp->value.cp = (char *)MyMalloc(strlen(mask) + 1); - (void)strcpy(lp->value.cp, mask); + lp->value.cp = strdup(mask); Bram Matthys 2018-04-22 14:28:22 +02:00
  • 680715b1b5
    Partially rewrite send_channel_modes() (+helper functions). Although this is only used by servers lacking SJOIN/SJOIN3 so is of limited use. Still.. got rid of the most ridiculous casts. Bram Matthys 2018-04-22 13:51:37 +02:00
  • 147ae3012b
    Get rid of about a million (now) useless casts and some re-indenting. Bram Matthys 2018-04-22 10:29:36 +02:00
  • 8d7d6d7c4c
    Get rid of compiler warning Bram Matthys 2018-04-22 09:50:13 +02:00
  • 6ef9a83c97
    Surely this can use the generic #include "unrealircd.h" instead? Avoids sendto_realops() warning. Bram Matthys 2018-04-22 09:48:12 +02:00
  • 5044013dd5
    Make m_ircops use RPL_TEXT rather than conflicting numeric. The output of /IRCOPS isn't meant to be client parsable anyway (which can be seen by the use of bold text and such), so using a generic numeric rather than wasting two others seems sensible. Reported by The_Myth in #5066. Bram Matthys 2018-04-22 09:42:14 +02:00
  • a7bcb637b7
    Fix small memory leak if not passing the weak cipher config test (DES/3DES..) Reported by Sky-Dancer (#5078). Bram Matthys 2018-04-22 09:37:06 +02:00
  • a235b35633
    This code can be a lot simpler, duh. Reported by Sky-Dancer (#5078). Bram Matthys 2018-04-22 09:35:05 +02:00
  • 04ca88cc1e
    Fix bug in blacklist module with multiple replies for the same IP. We only parsed the first A record reply, so if the blacklist returned multiple results /and/ you would not have all those types in your blacklist { } block then you could miss a hit (false negative). Bram Matthys 2018-04-22 09:04:14 +02:00
  • ad9ca5e449
    Add support for checking IPv6 addresses in blacklists. Suggested by k4be (#5040). Bram Matthys 2018-04-22 08:30:02 +02:00
  • 9b1a79a191
    And again a Windows compile fix (hm how did this happen.. :D) Bram Matthys 2018-04-21 20:35:54 +02:00
  • 4e1e7d6674
    Fix windows compile problem due to previous changes. Bram Matthys 2018-04-21 20:31:41 +02:00
  • f0092fef4e
    Properly report failure of fork(). Reported by mbw (#5087). Bram Matthys 2018-04-21 20:27:53 +02:00
  • 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 +02:00
  • 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 +02:00
  • 2f4baddf0e
    Upd relnotes Bram Matthys 2018-03-25 13:42:32 +02:00
  • 15bf82d3c1
    Fix segfault on set { hide-ban-reason; }; reported by Skizzerz (#5052) Bram Matthys 2018-03-25 13:41:57 +02:00
  • 8f2b77bb2e
    It's +e ~m:censor and not ~m:filter. Reported by acidvegas (#5054). Bram Matthys 2018-03-25 13:31:06 +02:00
  • 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 +02:00
  • 54947ed9b5
    Add some initial release notes for 4.0.18 (not much..). Bram Matthys 2018-03-07 10:40:03 +01:00
  • 41b7e1b735
    'set::cloak-method ip' not working properly with DNS resolving. Reported by The_Myth (#5064). Bram Matthys 2018-03-07 10:22:24 +01:00
  • 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 +01:00
  • afad280a1d
    Make NTP packet (used by timesynch) more in-line with existing implementations. Bram Matthys 2018-03-07 09:39:20 +01:00
  • f4b864c7b8
    Update list of time servers Bram Matthys 2018-03-07 09:38:19 +01:00
  • 2bbdf22d76
    Set git version to 4.0.18-devel Bram Matthys 2017-12-29 09:29:03 +01:00
  • 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 +01:00
  • 6c1918bb77
    Relnotes reflect 4.0.16.1->4.0.17. Bram Matthys 2017-12-22 10:54:21 +01:00
  • 3a67809140
    Archive 4.0.16.1 release notes. Bram Matthys 2017-12-22 10:16:28 +01:00
  • 107424de9e
    Running ./autogen.sh helps when updating versions :D Bram Matthys 2017-12-22 10:13:41 +01:00
  • 3aa13d2bc3
    UnrealIRCd 4.0.17 Bram Matthys 2017-12-22 09:52:24 +01:00
  • 5609b36850
    Fix crash with OperOverride Bram Matthys 2017-12-22 09:48:42 +01:00
  • 7808330176
    Use ::mask style in example (even though the previous method still works) Bram Matthys 2017-12-17 10:07:54 +01:00
  • 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 +01:00
  • 888b4f549c
    Be a bit more liberal, used for antirandom backward-compatible. Bram Matthys 2017-12-17 10:06:09 +01:00
  • 33ec662205
    Remove a junk notice regarding SJOIN Bram Matthys 2017-12-17 09:26:19 +01:00
  • 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 +01:00
  • 079963cdc6
    Set prio for HOOKTYPE_CHANNEL_DESTROY to -1mln so other hooks are called later. Bram Matthys 2017-12-06 17:53:26 +01:00
  • 847d7d9f7d
    UnrealIRCd 4.0.17-rc1 Bram Matthys 2017-12-01 10:06:43 +01:00
  • e4ce20466e
    Bump proto version to 4017. Bram Matthys 2017-12-01 10:03:45 +01:00
  • 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 +01:00
  • c603cc52b3
    Reject link if we have any utf8 charset enabled and other side doesn't. Bram Matthys 2017-12-01 09:56:08 +01:00
  • 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 +01:00
  • fa2afa8d0b
    vs2012.bat/vs2017.bat: Apparently %* should work on Windows.. Bram Matthys 2017-11-27 19:42:44 +01:00
  • cc6d7757fa
    Fix hang when linking servers. Reported by k4be and acidvegas. Bram Matthys 2017-11-27 19:36:30 +01:00
  • 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 +01:00
  • 7851742bc5
    Does this work? ;) Bram Matthys 2017-11-27 17:19:20 +01:00
  • 40293aaaa7
    Move charsys definitions from .h to charsys.c & add some fwd decl Bram Matthys 2017-11-27 12:32:14 +01:00
  • b923b57b35
    Yeah, we need more room. Bram Matthys 2017-11-27 12:22:42 +01:00
  • 24a1f5ba9f
    Be more explicit about visually looking characters in Cyrillic script Bram Matthys 2017-11-27 12:08:48 +01:00
  • 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 +01:00
  • 330498c467
    Update makefile.win32 for charsys move. Bram Matthys 2017-11-27 11:50:36 +01:00
  • 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 +01:00
  • 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 +01:00
  • 05e289fc59
    Make Windows version compile again? Bram Matthys 2017-11-27 10:38:47 +01:00
  • fb12e1beeb
    set::allowed-nickchars: added "hebrew-utf8". Supplied by Lion-O. Bram Matthys 2017-11-27 10:30:32 +01:00
  • 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 +01:00
  • 2a040b40a5
    Improve "non-SSL client on SSL port" detection. Bram Matthys 2017-11-25 16:01:56 +01:00
  • 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 +01:00
  • 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 +01:00
  • 0d99670391
    Update changelog Bram Matthys 2017-11-23 07:56:11 +01:00
  • 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 +01:00
  • e68f31ba34
    Update relnotes Bram Matthys 2017-11-20 18:57:40 +01:00
  • b7bdb1dc40
    Move 4.0.16 release notes to doc/RELEASE-NOTES.old Bram Matthys 2017-11-20 18:55:38 +01:00
  • 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 +01:00
  • 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 +01:00
  • e67d49112e
    Re-indent src/modules/m_mode.c (yuck...) Bram Matthys 2017-11-20 13:48:18 +01:00
  • e16dfdc6a6
    Add release notes entry for timed bans support in +f. Bram Matthys 2017-11-20 09:48:25 +01:00
  • 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 +01:00
  • d63bc7e187
    Module API: New function is_module_loaded("name"): return 1 / 0 Bram Matthys 2017-11-20 09:43:43 +01:00
  • 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 +01:00
  • 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 +01:00