Commit graph

  • c79cc6f430
    Add ModuleSetOptions(modinfo->handle, MOD_OPT_UNLOAD_PRIORITY, priority); so modules can indicate if they wish to be unloaded before or after others. This is used by the channel and history modules so they can save their databases before the chanmodes modules are unloaded. Bram Matthys 2021-05-17 11:43:46 +02:00
  • 74083d7440
    In AddListItemPrio() explicitly set item->priority to prio. Bram Matthys 2021-05-17 11:39:45 +02:00
  • 4fa468bd4f
    on DelListItem set prev/next to NULL on the item itself (not the list) Bram Matthys 2021-05-17 11:31:55 +02:00
  • d7bf35e0d9
    Set loop.ircd_terminating when IRCd is terminating (signal 15, /DIE, etc) Bram Matthys 2021-05-17 11:08:54 +02:00
  • 61e0ed3d03
    Give UnrealIRCd 10 seconds to terminate insteads of just 1, now that we may have more database writing to do on terminate. Bram Matthys 2021-05-17 09:02:04 +02:00
  • 263593634e
    Flush any dirty history log files to disk on terminate (eg: ./unrealircd stop) Bram Matthys 2021-05-17 08:47:39 +02:00
  • cb3c0b48ca
    Don't call hbm_delete_db() if not running in persistent mode. Bram Matthys 2021-05-17 08:10:51 +02:00
  • ae873ab25a
    Compile fixes for Windows Bram Matthys 2021-05-16 19:13:03 +02:00
  • f79fec62f1
    Add CAP unrealircd.org/history-backend which declares the policy/ configuration on how history is stored (in memory and/or on disk). This is similar to other disclosing policies like unrealircd.org/link-security and unrealircd.org/plaintext-policy. The reason for this cap (and similarly the other caps) is that the user can make an informed decision on whether it finds the policy/safety/privacy of an acceptable level or not. Bram Matthys 2021-05-16 17:49:39 +02:00
  • e58b22c45d
    Write some early release notes. [skip ci] Bram Matthys 2021-05-16 17:26:35 +02:00
  • 011cc9e1d5
    Persistent channel history: prevent mixing of .db files from elsewhere. Bram Matthys 2021-05-16 17:25:36 +02:00
  • 5e4d9cdc61
    Delete persitent history immediately when channel goes -P. And also handle -P+P. Bram Matthys 2021-05-16 17:18:52 +02:00
  • 5c8752dfc6
    Get rid of various warnings/errors due to recent work. Bram Matthys 2021-05-16 16:57:01 +02:00
  • 14a99d755e
    UnrealDB history: Use SHA256 with pre- and post- hashsecret for the file names, instead of MD5. Bram Matthys 2021-05-15 20:53:12 +02:00
  • 13f9afeaf4
    Add sha256hash() function for convenience. Bram Matthys 2021-05-15 20:48:04 +02:00
  • 05dd788dab
    Add support for secret::password-prompt (entering on console) This is one of the 3 currently supported methods. Documentation will follow later. Bram Matthys 2021-05-15 18:52:01 +02:00
  • 1752afee44
    Move running_interactively() from crashreport.c to misc.c Bram Matthys 2021-05-15 18:28:21 +02:00
  • 55b0422dd0
    Bail out sooner, otherwise confusing. Bram Matthys 2021-05-15 18:28:03 +02:00
  • 3bf0c9e653
    Add support for persistent channel history, if the channel is +P and +H. This is not enabled by default and requires additional configuration, documentation will follow later. Bram Matthys 2021-05-15 15:43:07 +02:00
  • 95cfafcd51
    Include dirent.h by default. Bram Matthys 2021-05-15 15:42:34 +02:00
  • 73ae7ccbef
    Mod API: Add CONFIG_SET_HISTORY_CHANNEL so chanmodes/history can delegate configuration to history_backend_mem. Bram Matthys 2021-05-15 15:39:58 +02:00
  • ff84f17f72
    Move strtolower_safe() from antirandom to support.c Bram Matthys 2021-05-15 15:38:57 +02:00
  • 7fa0e07487
    UnrealDB: Oops, previous commit broke unrealdb_write_str() w/NULL strings. Bram Matthys 2021-05-05 19:20:33 +02:00
  • 8783280a68
    Make UnrealDB big-endian-proof. Rather rare, but you never know on what hardware people end up running UnrealIRCd. Bram Matthys 2021-05-05 18:59:09 +02:00
  • df3bb510a1
    Windows: Ignore compiler warning C6029 in unrealdb.c as it is a false positive. Bram Matthys 2021-05-05 13:44:33 +02:00
  • 623745d274
    Fix Windows BuildBot [skip ci] Bram Matthys 2021-05-05 11:23:42 +02:00
  • bd11d06a39
    Windows compile fixes for unrealdb and libsodium. Bram Matthys 2021-05-05 10:49:15 +02:00
  • 214a98addb
    Add libsodium to Windows build [skip ci] Bram Matthys 2021-05-05 09:48:17 +02:00
  • deffc908e3
    Document UnrealDB API and get rid of unrealdb_write_data/unrealdb_read_data. API users must use specific size/type functions instead, otherwise it is simply too dangerous / too easy to overlook issues. Bram Matthys 2021-05-04 10:47:03 +02:00
  • cc348701a2
    UnrealDB: check for write errors in all conditions (not just some) And set the error message/code properly. Didn't set it before because of 'c' being freed, but we have unrealdb_get_error_code() and unrealdb_get_error_string() now that can (and should) still be used in such cases. Bram Matthys 2021-05-04 09:07:37 +02:00
  • a349fa2ae4
    UnrealDB: Fix for short read / final end of file (for unencrypted files) Bram Matthys 2021-05-04 09:01:04 +02:00
  • 4f8ac3c6cf
    UnrealDB: Fix reading final end of file (crypto-side) Bram Matthys 2021-05-04 08:55:08 +02:00
  • 282162b4aa
    Various small UnrealDB fixes Bram Matthys 2021-05-04 08:36:45 +02:00
  • 576f8b1aae
    Fix bug with unrealdb caching Bram Matthys 2021-05-03 18:25:59 +02:00
  • 2a29c2f3b3
    Update tkldb to use UnrealDB functions Bram Matthys 2021-05-03 18:06:05 +02:00
  • 2340f14973
    Fix unrealdb reading due to last-minute change earlier today Bram Matthys 2021-05-03 18:04:56 +02:00
  • 1606f28555
    Add unrealdb_write_char() / unrealdb_read_char() Bram Matthys 2021-05-03 17:48:23 +02:00
  • 6860046b20
    Make the "UnrealIRCd 4 is no longer supported" section a bit shorter in the release notes. [skip ci] Bram Matthys 2021-05-03 15:33:41 +02:00
  • eb4d7fb3f0
    Set version to 5.0.10-git with disclaimer not to use it yet. Bram Matthys 2021-05-03 15:25:30 +02:00
  • 30d64f2ebe
    Use UnrealDB functions in channeldb. Bram Matthys 2021-05-03 15:15:25 +02:00
  • 40ace27e7d
    Add UnrealDB reading capability to reputation module. We still write the old format, unless encryption is enabled. Bram Matthys 2021-05-03 15:14:56 +02:00
  • dde3e0ccb2
    Add unrealdb and secrets API. Documentation and more information will follow in later commits. Bram Matthys 2021-05-03 15:07:10 +02:00
  • dd33b38264
    Fix extended server ban ~a:accname not working for shun and also not always kicking in on *line either. We now check for shuns/*lines in user_account_login(), so upon SASL or NS IDENTIFY etc. This also means that the client could now be killed in that function, so callers should take extra care and take that into account. We check for IsDead() in our calls now (if it's our client anyway). Bram Matthys 2021-04-17 14:37:44 +02:00
  • d6b0981433
    Module coders: Update HOOKTYPE_LOCAL_NICKCHANGE and HOOKTYPE_REMOTE_NICKCHANGE. I forgot to include message tags earlier, so this is a breaking change: -int hooktype_local_nickchange(Client *client, char *newnick); -int hooktype_remote_nickchange(Client *client, char *newnick); +int hooktype_local_nickchange(Client *client, MessageTag *mtags, char *newnick); +int hooktype_remote_nickchange(Client *client, MessageTag *mtags, char *newnick); Bram Matthys 2021-04-17 10:34:33 +02:00
  • 85d20e8bd5
    Optimize libsodium for current CPU (just like libargon2 does) Is about 5x speed improvement in practice. Bram Matthys 2021-04-10 12:38:20 +02:00
  • e497feef24
    Add c-ares and libsodium version output to boot screen and /VERSION. OpenSSL, PCRE2 and cURL were already there. Bram Matthys 2021-04-09 19:30:53 +02:00
  • 5daf7e7ebe
    Compile with system libsodium, fallback to shipped version. This library provides easy to use functions for encryption/decryption among other things. There is some overlap with things that OpenSSL also provides but not all. Bram Matthys 2021-04-09 13:44:10 +02:00
  • e596b730af
    Move channel history sending from one layer to the other. This so for example history_backend_mem() does not do any sending. Less efficient but needed for later when things get more complex. Bram Matthys 2021-04-07 09:42:18 +02:00
  • 4dc999d2b6
    Update some API doc Bram Matthys 2021-04-07 09:16:52 +02:00
  • 5cddc8d212
    If a user answers the curl path manually at the final ./Config question about curl, then verify that it is actually a correct answer by checking for <prefix>/bin/curl-config. Bram Matthys 2021-03-29 19:23:51 +02:00
  • f04697ba7c
    Add disclaimer to config.settings. Bram Matthys 2021-03-29 19:09:37 +02:00
  • 775c00c096
    Add displaying of reputation score in WHOX (if IRCOp). The new display field is called 'R', use something like: WHO * %cuhsnfmdaRr Bram Matthys 2021-03-28 18:23:02 +02:00
  • 0ea86fce83
    Forbid using extended server bans in ZLINE/GZLINE as they only work on *@IP. ...and give a hint to use KLINE/GLINE instead. Bram Matthys 2021-03-27 09:11:15 +01:00
  • d9fbb51a33
    Fix error message for /ELINE not working with certain types. Reported by westor in https://bugs.unrealircd.org/view.php?id=5843 Bram Matthys 2021-03-27 09:09:26 +01:00
  • 4725b5547b
    Mention correct tag names (which also happen to be URLs) for unrealircd.org/userip and unrealircd.org/userhost. Reported by Nav|C. Bram Matthys 2021-03-26 15:14:25 +01:00
  • e31755bc7c
    *** UnrealIRCd 5.0.9.1 *** (faster build, lower memory requirements during build) Note: the only change between 5.0.9 and 5.0.9.1 is: * Build improvements on *NIX (faster compiling and lower memory requirements) * Windows version is unchanged and still 5.0.9 Bram Matthys 2021-03-26 08:30:21 +01:00
  • ed50c8fb8c
    Make shipped c-ares build a lot faster (for systems without system c-ares). Bram Matthys 2021-03-22 08:25:59 +01:00
  • 1d0ac57bfa
    Don't try parallel make if less than 750MB memory is available (that is, MemAvailable, not MemFree). The ./Config script with all shipped libs compiled actually has a memory peak of 450M in my tests with -j4, but let's err on the safe side... Bram Matthys 2021-03-22 07:57:26 +01:00
  • 00711f905c
    Actually read security-group::tls from the conf file (fixes #0005836) (#133) LeCoyote 2021-03-21 07:39:49 +01:00
  • 80fbef8b5c
    *** UnrealIRCd 5.0.9 *** Bram Matthys 2021-03-19 20:08:21 +01:00
  • 022ed9ae71
    Remove explicit setting of send/receive buffer as modern OSs don't need this and it slows things down for servers. Bram Matthys 2021-03-14 16:04:43 +01:00
  • a880532ca7
    Update ./Config autodetection of 5.0.8. Bram Matthys 2021-03-12 17:53:40 +01:00
  • 6761cdd66d
    UnrealIRCd 5.0.9-rc1 Bram Matthys 2021-03-12 17:50:52 +01:00
  • 2765eaac26
    Add find_nvplist() Bram Matthys 2021-03-10 17:24:38 +01:00
  • 57a6dd3600
    Fix windows build. Now that we are using c-ares 1.17.1, the include directory has changed that needs to be specified on Windows. [skip ci] Bram Matthys 2021-03-10 14:36:48 +01:00
  • 01bfe5f7a7
    Mention that the Windows build now supports TLSv1.3 too. We moved from LibreSSL 3.1.4 to 3.2.4. Support for TLSv1.3 was added in LibreSSL 3.2.2 from Oct 2020, but it had some issues, hopefully by now they are resolved. [skip ci] Bram Matthys 2021-03-08 17:44:47 +01:00
  • d42147d56c
    Update shipped C-ARES lib to 1.17.1 (19-Nov-2020) Bram Matthys 2021-03-08 11:10:11 +01:00
  • c352dcb8aa
    Update shipped PCRE2 lib to 10.36 (04-Dec-2020) Bram Matthys 2021-03-08 11:07:10 +01:00
  • f4b14330a8
    Update curl-ca-bundle: Certificate data from Mozilla as of: Tue Jan 19 04:12:04 2021 GMT https://curl.se/ca/cacert-2021-01-19.pem [skip ci] Bram Matthys 2021-03-08 11:00:03 +01:00
  • 82af21639c
    Fix for -Werror=unused-result Bram Matthys 2021-03-08 10:42:56 +01:00
  • 1f47cc7824
    Support for dated log files such as log "ircd.%Y-%m-%d.log" { } Suggested by Amiga600 in https://bugs.unrealircd.org/view.php?id=5784 Bram Matthys 2021-03-08 10:33:54 +01:00
  • 28bf68f39b
    More than 100 lines within an if when you can use if ! w/continue.. pff. Bram Matthys 2021-03-08 09:53:28 +01:00
  • 8a16a7392f
    Don't stat() the logfile if user has no log::maxsize Bram Matthys 2021-03-08 09:51:00 +01:00
  • 7b655a5e17
    Merge two identical #ifdef's Bram Matthys 2021-03-08 09:49:44 +01:00
  • 29e8c2c770
    Mention './unrealircd genlinkblock' as it should work in 5.0.8+. Bram Matthys 2021-03-08 09:45:11 +01:00
  • 44f8bea3c4
    Minor crash reporter fixes and add command line crash test to test it. Bram Matthys 2021-03-08 09:12:53 +01:00
  • 636b068062
    New option allow::global-maxperip, defaults to allow::maxperip+1. Suggested by Jobe and PeGaSuS in https://bugs.unrealircd.org/view.php?id=5802 Bram Matthys 2021-03-07 11:30:02 +01:00
  • 4bd0969583
    spamfilter { } blocks caused some confusing whitespace in stats for the spamfilter. Only after a rehash it showed the me::name as the setter. From now on we just display -config- in the setter field, like we do for all the other TKLs as well (ELINE, ban xyz, etc). Bram Matthys 2021-03-07 10:43:47 +01:00
  • 1854bfffd0
    ELINE and except ban for type 'F' (spamfilter) were not working. Reported by armyn in https://bugs.unrealircd.org/view.php?id=5820 Bram Matthys 2021-03-07 08:46:24 +01:00
  • 17bdd6de1e
    Use different temporary filename. Not really important normally but if running multiple ircds from the same directory you sometimes get weird messages otherwise (not that we really support such a thing but i use it while dev'ing). Bram Matthys 2021-03-06 18:53:02 +01:00
  • 94fea88319
    CR+LF->LF conversion for help.nl.conf. [skip ci] Bram Matthys 2021-02-28 07:54:13 +01:00
  • dc40d27cd8
    Move set::anti-flood::unknown-flood-* to set::anti-flood::handshake-data-flood which is a new block, documented at: https://www.unrealircd.org/docs/Set_block#set::anti-flood::handshake-data-flood The reason for this is better naming and allowing to tweak ban-action. Bram Matthys 2021-02-28 07:47:58 +01:00
  • 94b8f6575e
    Just some code cleanup (variable renaming) in tkldb, nothing more... Make it consist tkldb/TKLDB instead of still some tkl_db/TKL_DB. Bram Matthys 2021-02-11 08:19:33 +01:00
  • 9e82f13c54
    Fix bug in tkldb if ircd is rehashed every <300 secs it would never save. Not reported by anyone, but yeah.. who knows there is someone out there that does this :D. Also make it work the same like channeldb by spreading the event. Bram Matthys 2021-02-11 08:16:03 +01:00
  • f1e3b7dcdf
    Tweak channeldb saving to be further apart from tkldb saving. Bram Matthys 2021-02-11 08:02:58 +01:00
  • 06d90a9d46
    Behave better when multiple HOOKTYPE_RAWPACKET_IN modules are active. If a module returns 0 ("UnrealIRCd please do not process this packet") then don't call the next module in line (also because that one might then change the return value to something different, which is bad). Bram Matthys 2021-02-10 14:24:17 +01:00
  • 25f8b8e4c7
    Remove unnecessary include (was merged in sys.h a while back) Bram Matthys 2021-02-10 14:22:30 +01:00
  • eb76ae7c67
    Fix nocodes error message: tell user it blocks color also (#131) westor 2021-02-06 08:45:27 +02:00
  • b22e1c1a43
    Fix call to HOOKTYPE_UMODE_CHANGE in SVSMODE k4bek4be 2021-02-06 07:44:31 +01:00
  • c71214cefe
    Rename nvplist functions to match the rest, fix resource leak, and move the functions to list.c where they belong. nvplist_add() -> add_nvplist() nvplist_add_fmt() -> add_fmt_nvplist() (new) -> free_nvplist Bram Matthys 2021-02-02 18:37:26 +01:00
  • d4e0ee9431
    *NIX: Bump default MAXCONNECTIONS from 8192 to 16384. That is, when in "auto" mode, which is like for 99% of the users. NOTE: the sytem may still limit the actual number of FD's to a lower value, depending on the value of "ulimit -n -H". Bram Matthys 2021-02-01 13:27:08 +01:00
  • d84c820d5a
    Some text changes [skip ci] Bram Matthys 2021-01-31 19:47:01 +01:00
  • 9d85b112dc
    Fix typo [skip ci] Bram Matthys 2021-01-31 18:56:18 +01:00
  • 1baf5f9f7d
    Show reputation score and some other info in "Client connecting" notices to IRCOps and in ircd.log. See the release notes for more details. Bram Matthys 2021-01-31 18:28:28 +01:00
  • 82da314cf4
    Dev docs: document svid better [skip ci] Bram Matthys 2021-01-29 19:12:20 +01:00
  • e90d661e8d
    Fixed typo in ELINE example flags, from f to F (spamfilter) (#130) PeGaSuS 2021-01-29 19:11:36 +01:00
  • a6da4a5823
    Small text fix on Windows for unrealsvc.exe usage instructions. The command is 'unrealsvc' and not 'unreal'. Also update copyright a bit since I have at least been updating this file since 2006 (e679a6760b). Bram Matthys 2021-01-27 17:10:13 +01:00
  • b65584226c
    win_log(): avoid double LF in win_log() caused by previous commit. Bram Matthys 2021-01-23 12:27:05 +01:00
  • 9204939a7f
    Windows: improve logging on-boot, especially when running as a service. Bram Matthys 2021-01-23 12:15:51 +01:00
  • 3a922d6ed5
    Disable handshake delay for users that are exempt from blacklist checking. Bram Matthys 2021-01-17 08:20:50 +01:00