Commit graph

  • 006b7e5a7c Hide serveropts from normal users. i 2019-07-12 01:09:33 +03:00
  • ca094f0a75 New set::ping-warning option (how fast the server should reply to PING before sending a warning to opers). i 2019-07-11 16:47:02 +03:00
  • 876758b73e Fix Custom OpenSSL binary path was ignored. i 2019-07-11 14:20:01 +03:00
  • a601f565e1 Do not override all libs. i 2019-07-11 03:06:28 +03:00
  • 57f6718086 Update configure script for previous commit. i 2019-07-11 02:36:51 +03:00
  • 4feba3edd5 Check whether linking with OpenSSL functions requires -ldl or -lpthread or both i 2019-07-11 02:33:11 +03:00
  • dbbcc6918a Fix Custom OpenSSL library path was ignored i 2019-07-11 00:53:41 +03:00
  • 60ebc1375e Support channel status prefixes for SAJOIN. i 2019-07-10 17:42:46 +03:00
  • 769955eab5
    Require at least one SSL/TLS port to be open. In other words, change https://www.unrealircd.org/docs/FAQ#Your_server_is_not_listening_on_any_SSL_ports from a warning to an error. Bram Matthys 2019-07-10 06:53:01 +02:00
  • 3cff80ad8d
    Use SSL_CTX_set_min_proto_version() in a more inteligent way. It shouldn't matter now, but if OpenSSL some day deprecates the old way then at least it won't have silent disastrous effects. Bram Matthys 2019-07-09 20:24:00 +02:00
  • dc2c2c3f89
    Re-indent ssl.c Bram Matthys 2019-07-09 20:13:02 +02:00
  • d09b9d53a4
    Make SSL/TLS mandatory for UnrealIRCd to run. Previously you could get around this by simply having no certs etc. I doubt anyone used it and that was not a recommended configuration. (More to come) Bram Matthys 2019-07-09 20:06:11 +02:00
  • 657985bf53
    Make Debian 10 compile with -Werror. Add -Wno-cast-function-type Bram Matthys 2019-07-07 18:17:32 +02:00
  • efe73de70d
    -Wno-unused-but-set-parameter [skip ci] Bram Matthys 2019-07-07 18:11:54 +02:00
  • 79bd78c0f3
    Make it so UnrealIRCd has full control over the SSL/TLS versions in use and not just the operating system. This makes us use SSL_CTX_set_min_proto_version(), which unfortunately is a less fine-grained control for disabling specific SSL/TLS versions. However, after that we use SSL_CTX_set_options with SSL_OP_NO_xxx. The latter is deprecated though. Will revisit this change before U5 release.. Bram Matthys 2019-07-07 10:22:29 +02:00
  • 73bbf10170
    Build tests: --enable-werror Bram Matthys 2019-07-07 09:54:40 +02:00
  • fa39bafe99
    tls-tests: Check not only against baseline but against all [skip ci] Bram Matthys 2019-07-07 09:34:30 +02:00
  • 6a44b002da
    Add cipherscan profile for openssl 1.0.1, as used by Debian 8 (jessie). Main difference is that the curve used for ECDHE is fixed at prime256v1 rather than a list of multiple choices (this due to an openssl 1.0.1 limitation). [skip ci] Bram Matthys 2019-07-07 09:26:30 +02:00
  • 0235c6f233
    Remove 2 cipherscan profiles (only to reintroduce them later) [skip ci] Bram Matthys 2019-07-07 09:24:33 +02:00
  • 3b3f63b990
    Add HAVE_EXPLICIT_BZERO. Fix compile problems on Debian and other older systems without explicit_bzero. Current usage is only in the PRNG which is not very important anyway. We can re-visit later by attempting to provide a fallback portable version, but from what I've seen this is pretty ugly. Bram Matthys 2019-07-07 09:18:34 +02:00
  • 7ac11973d0
    Fix crash in TOPIC with certain remote server traffic. And make sure we don't change topic text if it comes from a remote link. Bram Matthys 2019-07-06 17:48:20 +02:00
  • 74325280dd
    Due to new defaults, the baseline for the SSL/TLS changed as well. Bram Matthys 2019-07-01 07:45:48 +02:00
  • 74cf811759
    Failed to initialize a variable in changes last week. Not caught by tests due to lack of -O2, we should add a buildbot for that.. Bram Matthys 2019-07-01 07:40:49 +02:00
  • fea09b6659
    Switch from RSA 4096 to ECC secp384r1 Bram Matthys 2019-06-30 10:53:58 +02:00
  • d3d9b499a7
    Move src/ssl.cnf -> extras/ssl.cnf [skip ci] Bram Matthys 2019-06-30 10:25:19 +02:00
  • e90f6e0446
    Remove 'make encpem'. Nobody uses this as it would mean you always need to enter the private key password when UnrealIRCd is (re)started. Similarly, remove all references to it on Windows as well, where people thought clicking "Encrypt private key" was a good idea. Can't blame them, it sounds good on first sight :D [skip ci] Bram Matthys 2019-06-30 10:18:16 +02:00
  • 696c06b6a6
    Load authprompt module by default. Bram Matthys 2019-06-29 19:17:52 +02:00
  • f0f69bfe48
    Change set::ident::read-timeout from 30 to 15 seconds since otherwise it exceeds set::handshake-timeout which would be very unfortunate for those (few) poor users that are affected by this. Bram Matthys 2019-06-29 18:51:02 +02:00
  • 60a89b8c3f
    Change set::outdated-tls-policy::server and ::oper to deny. Both servers and IRCOps must not use outdated SSL/TLS protocols or ciphers. Bram Matthys 2019-06-29 18:34:27 +02:00
  • 94faf02c70
    Change set::plaintext-policy::oper to deny. IRCOps really must use SSL/TLS. Bram Matthys 2019-06-29 18:31:37 +02:00
  • 375b03c132
    Fix (just created) bug in extcmode unloading (with param). Update slot/param mapping. Now unloading should work well... otherwise it crashed after destroying the channel. Bram Matthys 2019-06-29 09:51:23 +02:00
  • bbbdba1083
    Make chanmodes/link module un-PERM. Thanks due to previous change. Bram Matthys 2019-06-29 09:11:20 +02:00
  • b605b7fd86
    Use delayed module unloading not only for modules with moddata but also for modules which have extended channelmodes with parameters, since they have the same problem. Bram Matthys 2019-06-29 09:10:18 +02:00
  • 96ad3e8f71
    Nothing special. Add a comment to blacklist module, in case someone things it would be wise to make it unPERM ;) [skip ci] Bram Matthys 2019-06-29 08:55:36 +02:00
  • 5d6f0a79ad
    Make jumpserver module non-PERM, thanks to LoadPersistentPointer etc. Bram Matthys 2019-06-29 08:52:52 +02:00
  • fbf4946777
    Update tkldb to use new LoadPersistentInt/SavePersistentInt functions. And before that, I fixed these functions so they actually work :D Bram Matthys 2019-06-29 08:44:12 +02:00
  • e03fa760ef update makefile.win32 for extbans/partmsg i 2019-06-29 00:53:41 +03:00
  • 780d9e95a2 extbans/partmsg: remove unused leftovers i 2019-06-29 00:41:23 +03:00
  • 7c4bd691fe fix modules.default loadmodule directive for partmsg i 2019-06-29 00:39:23 +03:00
  • cf3d01da06 extban ~p for hiding part/quit message i 2019-06-29 00:30:10 +03:00
  • 5182c664d1
    Easier API for just-commited persistent variables. Example: LoadPersistentPointer(modinfo, removefld_list, floodprot_free_removefld_list); SavePersistentPointer(modinfo, removefld_list); Bram Matthys 2019-06-28 22:08:45 +02:00
  • 0920967cc4
    New module_load_variable / module_save_variable functions and made floodprot to use these functions. TODO: 1) Different functions for pointer/int/long, 2) macro? Bram Matthys 2019-06-28 21:02:29 +02:00
  • c720417487
    MOD_UNLOAD() was always called with an invalid modinfo argument. Bram Matthys 2019-06-28 21:01:43 +02:00
  • 7fe1848340
    Make floodprot no longer PERM so it can be reloaded. Useful if we ever make a mistake in the module so we can upgrade it on-the-fly. Or if someone wants to get rid of it. TODO: consider abstracting the saving/restoring of vars. Bram Matthys 2019-06-28 20:14:32 +02:00
  • 8686bf978e
    Support for unloading channel modes with parameters (w/o MOD_OPT_PERM) Bram Matthys 2019-06-28 20:07:21 +02:00
  • 1757abf31a
    Duh.. Bram Matthys 2019-06-28 19:16:21 +02:00
  • 1f5acd852b
    Update tkldb to use (new) MODDATATYPE_LOCALVAR. Bram Matthys 2019-06-28 19:11:34 +02:00
  • 2a7fc8042d
    Add new moddata types: MODDATA_LOCALVAR and MODDATA_GLOBALVAR. Untested. Code using it will soon follow (and then it will be tested :D) Bram Matthys 2019-06-28 18:35:37 +02:00
  • 38e9c100d4
    Get rid of include/threads.h (unused) Bram Matthys 2019-06-26 17:27:45 +02:00
  • a2510a5dca
    Delete sock.h, isn't even used anymore. [skip ci] Bram Matthys 2019-06-26 17:25:34 +02:00
  • 70cca778cd
    Test compile w/o sock.h Bram Matthys 2019-06-26 17:19:10 +02:00
  • c673e5bbc6
    Get rid of now meaningless include/hash.h Bram Matthys 2019-06-26 17:17:20 +02:00
  • 8e44d4d5ab
    Get rid of weird NullChn, which is now just NULL :D Bram Matthys 2019-06-26 17:13:45 +02:00
  • ded4a65a60
    u_int16_t -> uint16_t and u_int32_t -> uint32_t, remove typedefs for these types and others, that should no longer be needed thanks to stdint.h. Bram Matthys 2019-06-26 17:06:46 +02:00
  • e8f336622a
    u_int64_t -> uint64_t Bram Matthys 2019-06-26 17:03:07 +02:00
  • 709c84fff9
    Remove stupid hash table layer for channels that only eats 256k+ extra memory and causes unnecessary slowdown. Stupid ->hits and ->links. And get rid of "return (xyz)", must be "return xyz" :D Bram Matthys 2019-06-26 16:56:17 +02:00
  • f1b0b6b76e
    Make throttling code (connect-flood) use SipHash and increase the hash table size from 1019 to 8192 to have fewer collisions. Bram Matthys 2019-06-26 16:46:28 +02:00
  • d5395848b7
    Double the size of hash tables to reduce collisions. Bram Matthys 2019-06-26 16:16:56 +02:00
  • c75a1ebb25
    Make src/modules/history_backend_mem.c use SipHash. And also, make the module permanent.. which is probably a good idea :D Bram Matthys 2019-06-26 15:49:54 +02:00
  • d2f4f53a4a
    Document functions in src/random.c Bram Matthys 2019-06-26 15:41:47 +02:00
  • 000fa08aee
    Remove FIXME. As there's no need to fix that. [skip ci] Bram Matthys 2019-06-26 15:38:57 +02:00
  • 12511940d6
    src/random.c: remove rs_stir_pid, since we don't fork anyway. (or at least not in a way that matters...) Bram Matthys 2019-06-26 15:12:43 +02:00
  • a843567b70
    Update src/random.c to use the ChaCha based random generator. Bram Matthys 2019-06-26 15:02:25 +02:00
  • 0d7f9e219e
    Update reputation module to use SipHash Bram Matthys 2019-06-26 14:13:12 +02:00
  • eafd929e24
    Update DNS code to use SipHash Bram Matthys 2019-06-26 14:08:03 +02:00
  • 703be7eb29
    Move some functions from parse.c to hash.c and add documentation for various functions, such as find_person, find_client, etc. Bram Matthys 2019-06-26 13:57:06 +02:00
  • f6eac29592
    hash_nick_name -> hash_client_name, hash_find_nickserver -> hash_find_nickatserver Both were confusing :) Bram Matthys 2019-06-26 13:45:55 +02:00
  • d5b643ceee
    Rewrite hash table code to use SipHash (more to follow) Bram Matthys 2019-06-26 13:24:02 +02:00
  • df7bcc1326
    Remove temporary FreeBSD workaround. (reverts adf56ad8fd) Bram Matthys 2019-06-26 07:14:35 +02:00
  • 2894681c4f
    Cleanup m_topic. Handle the if's in a smart way rather than indenting X levels. Bram Matthys 2019-06-26 06:55:01 +02:00
  • e17ba624c7
    Fix crash in new get_access(). This crash happens in case of (malicious) server traffic. Also seems we have a behvior change here: has_voice and such returned 1 for servers, now it returns 0. I can live with that, but may cause more issues. Bram Matthys 2019-06-24 16:24:01 +02:00
  • 849d57be40
    Fix msgid inconsistency in KICK. Thank you, new test framework :] Bram Matthys 2019-06-24 14:00:47 +02:00
  • 4213ca9ab1
    Add MyClient() call in QUIT for set::part-instead-of-quit-on-comment-change handling. Since we shouldn't PART remote users.. ;) Bram Matthys 2019-06-23 17:14:35 +02:00
  • 6fab82124a
    Call is_banned with BANCHK_LEAVE_MSG from both PART and QUIT. The latter only if iConf.part_instead_of_quit_on_comment_change. Bram Matthys 2019-06-23 17:10:41 +02:00
  • c507db9005
    Get rid of Windows compile warning regarding abort(). Bram Matthys 2019-06-23 08:57:39 +02:00
  • 7875fc9d7d
    Compile fixes for Windows due to cleanup from yesterday. Bram Matthys 2019-06-23 08:03:33 +02:00
  • 7161f33311
    Code cleanup: make src/*.c use the generic #include "unrealircd.h" file (with only a few exceptions) Now, we'll find out later if Windows still compiles, I guess ;) Bram Matthys 2019-06-22 21:18:08 +02:00
  • e8ff5d77c7
    Remove weird option set::snomask-on-connect. Doubt anyone uses it. Bram Matthys 2019-06-22 19:36:54 +02:00
  • 74586e7ecd
    Make all snomasks oper only (was just one: +s +k). Maybe an API change later? Bram Matthys 2019-06-22 19:34:04 +02:00
  • f9b589d0c6
    Remove almost 1000 lines, all functions that are (now) unused. Also, drop support for snomasks to non-ircops (TODO: more) Bram Matthys 2019-06-22 19:32:11 +02:00
  • b8d033f11e
    The blacklist module is missing a call to blacklist_quit. Bug? Bram Matthys 2019-06-22 19:11:16 +02:00
  • f0f0a93cc5
    Makefile: makes no sense to create modules/cap only to remove it later [skip ci] Bram Matthys 2019-06-22 17:57:42 +02:00
  • e03c8135a9
    CHFL_CHANPROT -> CHFL_CHANADMIN, is_chanprot -> is_chanadmin These are just remnants of the past, when +a was called channel protection. It is called channel admin since as long as I can remember, and in 90% of the code and documentation it is called that way. Bram Matthys 2019-06-22 17:32:57 +02:00
  • cf29aa8feb
    Replace various 90% identical functions with some macro's instead. Bram Matthys 2019-06-22 17:29:03 +02:00
  • 19af2c6b5c
    Fix return value in can_send() and add tracing for modules that don't behave. Bram Matthys 2019-06-22 17:21:57 +02:00
  • 05202dd2a4
    Move can_send() function from core to m_message. Bram Matthys 2019-06-22 16:03:06 +02:00
  • bf4d96e991
    can_send() now returns 0 (false) or 1 (true), rather than magic values. Also, the HOOKTYPE_CAN_SEND prototype changed so you can communicate the error message in a flexible way, similar to what I just did with extbans. Bram Matthys 2019-06-22 15:57:32 +02:00
  • f08557f2fd
    Propagate is_banned() errmsg to m_message layer. Bram Matthys 2019-06-22 15:36:21 +02:00
  • 7fd794c563
    Make /VERSION send 005 properly. Bram Matthys 2019-06-22 15:16:16 +02:00
  • be49ef0bb8
    More extban API changes... fun... Bram Matthys 2019-06-22 15:11:16 +02:00
  • 383f54a6c9
    Fix bug caused last few weeks where user would receive a privmsg with a SID/UID rather than server-/nickname. Bram Matthys 2019-06-22 14:21:07 +02:00
  • 086d370704
    Change extban API: pass 'msg' in BANCHK_MSG and (new) BANCHK_LEAVE_MSG. Bram Matthys 2019-06-17 20:19:34 +02:00
  • 1cfebcf05e
    Add new set::part_instead_of_quit_on_comment_change to convert QUIT to PART in case of a change in the quit comment, such as color stripping / blocking. The default is 'no', but some users may like this to be 'yes' so things like +S only affect the channel and not the quit for all channels. This hereby also lays the groundwork for some next commits of 'i' :) The configuration item name may still change if I think of a better one.... Bram Matthys 2019-06-17 08:20:42 +02:00
  • b8cdb21754
    Fix crash on "TKL" command without parameters. Due to rewrites from yesterday. Bram Matthys 2019-06-17 07:44:50 +02:00
  • c2ba6b40b8
    Silently force a 'make clean' as otherwise part (or whole) of the compiled source could be using different settings than the user just requested when re-running ./Config. Bram Matthys 2019-06-16 10:13:57 +02:00
  • 7b42c252ea
    Some documentation updates, nothing important [skip ci] Bram Matthys 2019-06-16 10:08:50 +02:00
  • 1d046b6f61
    Move ban [nick|user|ip] { } block parsing to m_tkl. Bram Matthys 2019-06-16 09:33:30 +02:00
  • d106609d89
    Move all spamfilter { } block parsing to m_tkl. Bram Matthys 2019-06-16 09:21:39 +02:00
  • 36808a60ac
    Remove all tk->flags & TKL_FLAG_CONFIG entries on rehash. Make local spamfilter blocks use this too. Already did so for ban xxx types that will cause kline/gline/zline and qline. This also simplifies handling in the tkldb module. Bram Matthys 2019-06-16 09:09:09 +02:00
  • d0d454f696
    Fix 100% CPU loop problem on REHASH due to bug in history backend (deja-vu). Bram Matthys 2019-06-16 08:44:57 +02:00