Commit graph

  • 24b3532a83
    Update release notes [skip ci] Bram Matthys 2022-12-05 09:24:37 +01:00
  • 44306b597d
    Update release notes for 6.0.5 Bram Matthys 2022-12-05 09:10:50 +01:00
  • 44394e2f35
    Update README.md Bram Matthys 2022-12-01 17:17:11 +00:00
  • 32aa643b25
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-11-30 15:51:57 +01:00
  • 6fe5630b1c
    BuildBot: update cipherscan profiles (all new baseline now? makes it easy..) Bram Matthys 2022-11-27 17:44:45 +01:00
  • ee1f8d84a0
    Require TLSv1.2 or later and require a modern cipher with forward secrecy. Bram Matthys 2022-11-27 16:59:22 +01:00
  • cfea8b32f0
    BuildBot: install modules after and not before 'make install', and check exit status Bram Matthys 2022-11-27 16:16:06 +01:00
  • 8587105cf2
    Merge branch 'unreal60_dev' into piss60 Ron Nazarov 2022-11-19 14:20:01 +00:00
  • 5ee4c503a7
    Update release notes Bram Matthys 2022-11-18 18:39:51 +01:00
  • 419fff13ec
    Mention that websocket users must now load the webserver module too. Reported by PeGaSuS in https://github.com/unrealircd/unrealircd/pull/234 Bram Matthys 2022-11-18 18:37:37 +01:00
  • c756c87be2
    Update blacklist::reason changing the $variables there. This changes the work of commit 2cf60f66a3. $ip: IP address of the banned user $server: name of the IRC server $blacklist: name of the blacklist block (eg. xyz for blacklist xyz { }) $dnsname: the blacklist::dns::name $dnsreply: DNS reply code Bram Matthys 2022-11-18 12:25:30 +01:00
  • 475fe46d95
    Add 6.0.4.2 release notes. Bram Matthys 2022-11-18 10:34:52 +01:00
  • 4999ae408c Add TLINE command Ron Nazarov 2022-10-30 02:42:11 +00:00
  • 758277922d
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-11-17 23:40:09 +01:00
  • ea5c3922ad
    Update Makefile.windows for src/modules/svslogin.c Related to previous commit 1a4b701776 Bram Matthys 2022-11-14 08:45:09 +01:00
  • 1a4b701776 SVSLOGIN: Move to its own file Valerie Pond 2022-11-12 21:58:09 +00:00
  • b3f0165773 Adjust tkl too broad ban detection to avoid banning too-wide IPv6 masks. alice 2022-07-04 01:45:02 +01:00
  • 2cf60f66a3 Add on blacklist module two extra variables westor 2022-06-07 02:54:11 -07:00
  • b01caa945f Use stable 'extended-monitor' capability name Valentin Lorentz 2022-11-01 09:59:37 +01:00
  • a7716f8981 Add support for the stable 'bot' mtag Valentin Lorentz 2022-07-02 15:02:34 +02:00
  • 382a83fdec
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-11-10 01:13:42 +01:00
  • 2d61cded0d
    Show jansson library version in boot screen and elsewhere IF library version is 2.13 or newer, as this requires jansson_version_str(). Bram Matthys 2022-11-04 14:12:20 +01:00
  • 7a5f83e0b6
    Make REHASH always asynchronous (done in the main loop). This means it is safe to REHASH from modules now, which means issuing a REHASH from a websocket connection is now possible. Bram Matthys 2022-11-04 12:36:36 +01:00
  • c3824ad47d
    Fix potentially sending invalid data over websockets on REHASH. This makes websocket_common unload last (and near-last: rpc & websocket) and makes us call Mod_Init for these three modules first. This way, the period where the websocket handler is unavailable is kept to a minimum. Bram Matthys 2022-11-04 10:37:42 +01:00
  • 8c2e286539
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-11-02 13:13:11 +01:00
  • 02285f468d
    Update Turkish example conf & help conf Provided by Diablo - (Serkan Sepetçi) Bram Matthys 2022-10-21 13:42:24 +02:00
  • 3de3087c95
    Fix read-after-free when linking in a server (that is fully authenticated) when there is already another established link with a server with the same name. For example, when there is a network issue and the "old server" is still waiting to be timed out and the "new server" is already linking in. Bram Matthys 2022-10-01 08:48:44 +02:00
  • 8b0b3d70ff
    Fix crash on REHASH with server linked (6.0.5-git only, due to websocket split) Bram Matthys 2022-09-26 15:17:27 +02:00
  • 23dd3a819a
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-08-30 19:36:09 +02:00
  • 8bed87e369
    Port 6.0.4.1 release notes which is basically cherry picking commit 0e6fc07bd9 and commit 0d139c6e7c from 6.0.5-git Bram Matthys 2022-08-29 10:12:06 +02:00
  • dc55c3ec9f
    Add CALL_CMD_FUNC(cmd_func_name) and use it. This is only for calls within the same module, as otherwise you should use do_cmd(). Bram Matthys 2022-08-28 08:59:46 +02:00
  • 4e5598b6cf
    Create and use new CALL_NEXT_COMMAND_OVERRIDE() instead of CallCommandOverride(). Bram Matthys 2022-08-28 08:52:51 +02:00
  • 24e3d39aea
    Update windows setup.h for last change. [skip ci] Bram Matthys 2022-08-20 14:06:37 +02:00
  • 401ab6f5a1
    Make strlncpy() and strlncat() use strlncat() instead of strlen(). This fixes a possible crash when using RPC with unix domain sockets, reported by Valware. Bram Matthys 2022-08-20 13:46:54 +02:00
  • 3ca99ddd52
    Fix JSON-RPC response, should be in "result" and not in "response". This breaks all the current script(s) that depend on it, of course, but makes us correctly conform to the JSON-RPC specification. Reported by Valware. Bram Matthys 2022-08-17 16:56:33 +02:00
  • 409ee99590
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-08-11 23:46:25 +02:00
  • 0d139c6e7c
    Make /INVITE bypass (nearly) all channel mode restrictions, as it used to be and as it should be IMO. Both for invites by channel ops and for OperOverride. Bram Matthys 2022-08-06 15:42:19 +02:00
  • 55c52c3693
    Log file (log::destination::file) now creates directory structure if needed. You could already have something like: log { source { !debug; all; } destination { file "ircd.%Y-%m-%d.log"; } } But now you can also have: log { source { !debug; all; } destination { file "%Y-%m-%d/ircd.log"; } } Bram Matthys 2022-08-05 10:56:00 +02:00
  • ac69125bfd
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-08-04 12:26:26 +02:00
  • 0e6fc07bd9
    Update verify_link() to return rather than set the link block in a variable. Hopefully this fixes a crash when linking (succesfully authenticated) servers, something which only happens with GCC and only for some people in some cases. Bram Matthys 2022-08-03 14:53:15 +02:00
  • 7267d81278
    RPC: add spamfilter.list and spamfilter.add calls. Bram Matthys 2022-08-02 09:26:58 +02:00
  • 574419a607
    For JSON spamfilter output: add "ban_duration" and "ban_duration_string" Bram Matthys 2022-08-02 09:21:36 +02:00
  • eb9aff4c1c
    RPC: user.get: use JSON_RPC_ERROR_NOT_FOUND if user is not found. Bram Matthys 2022-08-02 08:31:46 +02:00
  • b079aa3498
    RPC: Fix "id" not showing up in error responses. rpc_error() and rpc_error_fmt() were called with a NULL request. This also fixes logging of RPC errors to show the name of the RPC call. Bram Matthys 2022-08-02 08:28:49 +02:00
  • 6749ab4e0c
    RPC: server_ban: add handling of "expire_at". Was previously always setting expiry to 5 seconds as a placeholder/TODO. Bram Matthys 2022-08-02 08:22:28 +02:00
  • 970cd60698
    Use timestamp_iso8601() from server-time module (less duplicate code). Bram Matthys 2022-08-02 08:13:49 +02:00
  • 6ec208a081
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-07-06 10:30:26 +02:00
  • 8fae1d9306
    Show mode parameters when an IRCOp does MODE #channel, that is: for a channel they are not in, if they have the channel:see:mode:remote permission. This permission is included in all operclasses by default, just like how this is already the case for channel:see:mode:remotebanlist and other related permissions. Bram Matthys 2022-07-03 09:05:47 +02:00
  • bfcde12338
    Fix internal function convert_regular_ban() to actually use the buffer that it was provided. Duh! Bram Matthys 2022-07-03 08:58:32 +02:00
  • f621ca3ce4
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-07-02 13:30:02 +02:00
  • 514a1f6430
    Clean up the listener code (code deduplication 3x -> 1x helper) and also fix a small memory leak on rehash due to listener->webserver not being freed. Bram Matthys 2022-07-02 08:26:20 +02:00
  • db85fb13be
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-07-02 00:33:30 +02:00
  • 7371498ffd
    Make auto-expansion work for IPv6 bans as well: +b A:B:C:IP -> *!*@A:B:C:IP. Reported by armyn in https://bugs.unrealircd.org/view.php?id=6147 Bram Matthys 2022-07-01 10:13:57 +02:00
  • 8703d883dd
    Fix crash with ip change vs 'connect-flood' module. Bram Matthys 2022-06-28 17:28:44 +02:00
  • a3fb6bc07b
    Remove leftover of a copypaste in json_expand_tkl() causing a memory leak. Bram Matthys 2022-06-27 10:51:15 +02:00
  • c85f666fed
    Fix server_ban_parse_mask() returning with variables set to local storage. More precise, for extended server bans, usermask/hostmask was set to a local variable that was not defined as static char[]. This would lead to corrupt data and/or crashes. Bram Matthys 2022-06-27 10:47:58 +02:00
  • 1d701cb7d4
    Remove old "TODO" item in conf file. [skip ci] Bram Matthys 2022-06-25 09:52:15 +02:00
  • 29dc2e1e47
    Fix REMOTE_CLIENT_JOIN not showing up for remote joins. There was log code for "JOIN" but not for "SJOIN". Added now. Reported by ComputerTech in https://bugs.unrealircd.org/view.php?id=6141 Bram Matthys 2022-06-25 09:14:43 +02:00
  • c60fdad7eb
    RPC: add server_ban.add Bram Matthys 2022-06-24 19:48:59 +02:00
  • 2c1457ae6b
    RPC: add server_ban.del Bram Matthys 2022-06-24 19:18:39 +02:00
  • 3d9b7e4b70
    RPC: remove tkl, split this up.. starting with server_ban. Currently available: * server_ban.list * server_ban.get with params: name="*@1.2.3.4", type="kline" Bram Matthys 2022-06-24 18:51:14 +02:00
  • 22303e2063
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-06-24 15:54:48 +02:00
  • 6596741638
    Add rpc.modules.default.conf, loads all required modules for JSON-RPC. Bram Matthys 2022-06-24 13:44:41 +02:00
  • d3697b8684
    RPC: add tkl.list Bram Matthys 2022-06-24 13:33:05 +02:00
  • 36946c6c51
    Move JSON stuff from log.c to json.c now that it is more universal. Bram Matthys 2022-06-24 13:21:27 +02:00
  • fa890fb7ab Merge branch 'unrealircd-unreal60_dev' into piss60 angryce 2022-06-23 19:47:01 +02:00
  • 99de2b3cee Merge branch 'unreal60_dev' of github.com:unrealircd/unrealircd into unrealircd-unreal60_dev angryce 2022-06-23 19:46:07 +02:00
  • 14215e1837
    Fix two memory leaks in RPC: * on REHASH rpc-user block name was not freed * temporary construct was not freed (if params was missing) Bram Matthys 2022-06-22 14:54:51 +02:00
  • fdf0d545d7
    Split rpc_client_handshake() into rpc_client_handshake_unix_socket() and rpc_client_handshake_web(). Bram Matthys 2022-06-22 13:53:15 +02:00
  • 25d5ae93e6
    Do some sanity checking in webserver (fixes crash) Bram Matthys 2022-06-22 13:45:54 +02:00
  • faffe7c9a8
    Fix crash in webserver Bram Matthys 2022-06-21 17:56:25 +02:00
  • 7c8918e22d
    Update rpc_error() to use JsonRpcError (enum) and add more error values. Bram Matthys 2022-06-20 19:02:28 +02:00
  • b38b0f5086
    Set loop.config_state to one of CONFIG_STATE_* so modules (and core) can track at what step we are during configuration file and module processing. Bram Matthys 2022-06-20 10:05:19 +02:00
  • 0a4c6e877d
    Fix crash if 'websocket' is loaded without 'websocket_common'. Previously we did show a warning but we could crash a millisecond later so that wasn't particularly helpful. Now, is_module_loaded() can be used from HOOKTYPE_CONFIGPOSTTEST to detect if a module is loaded or not, contrary to us having to do it in MOD_LOAD when it is too late. So now the requirement is really enforced and also works for hot-loading as well as unloading of required modules is now prevented. Bram Matthys 2022-06-20 08:50:18 +02:00
  • a14609f493
    Fix small memory leak in webserver. Bram Matthys 2022-06-20 08:25:46 +02:00
  • 26ab79132b
    Fix memory leak in webserver for HTTPS POST. Bram Matthys 2022-06-19 20:47:48 +02:00
  • bbf9600504
    Mention JSON-RPC documentation in early release notes. https://www.unrealircd.org/docs/JSON-RPC [skip ci] Bram Matthys 2022-06-19 20:28:51 +02:00
  • 1fe6119026
    Make tld::motd and tld::rules optional. Suggested by Jellis in https://bugs.unrealircd.org/view.php?id=6072 Bram Matthys 2022-06-19 20:15:00 +02:00
  • 55387a8aa4
    RPC: Fix strchr() on non-nul-terminated string (leading to OOB read) Bram Matthys 2022-06-19 17:58:28 +02:00
  • 85784e8118
    Bump version to 6.0.5-git Bram Matthys 2022-06-19 16:27:41 +02:00
  • 8b2caf5501
    Make listen::options::rpc implicitly enable TLS, so nobody accidentally allows JSON-RPC over insecure HTTP. Bram Matthys 2022-06-19 15:46:15 +02:00
  • 5301ab5be8 Add some TODO items Bram Matthys 2022-06-19 14:43:58 +02:00
  • 941439a710 Use RPC_CALL_FUNC() just like how we have CMD_FUNC() Bram Matthys 2022-06-19 10:34:20 +02:00
  • c24a8e43e3 Fix outdated doxygen information on CMD_FUNC() Bram Matthys 2022-06-19 10:34:08 +02:00
  • f99085fc03 RPC: add user.get() Bram Matthys 2022-06-19 10:27:16 +02:00
  • 0e60b8bbfb RPC: Add ?username=xyz&password=zzz authentication as well FIXME: move URI parsing to 'webserver' and deal with unescaping %xx Bram Matthys 2022-06-10 09:55:24 +02:00
  • c611f18d56 RPC: Add rpc-user { } block and do authentication Bram Matthys 2022-06-10 09:32:36 +02:00
  • ab999659fc Remove some FIXME's and cleanup code a little bit. Bram Matthys 2022-06-09 18:45:58 +02:00
  • feb2c9c418 Don't print "Link to server [..] closed" for RPC and control sockets. Bram Matthys 2022-06-09 18:41:23 +02:00
  • e718d2021f Make websocket work over RPC Bram Matthys 2022-06-09 18:36:17 +02:00
  • 853f0685ed Split off big chunk of websocket module into websocket_common module. And load the websocket_common module by default (which is just an API). Bram Matthys 2022-06-09 17:50:23 +02:00
  • 7679ec7920 Get rid of cast, do things properly. Bram Matthys 2022-06-09 16:41:07 +02:00
  • 0eb42155dd Limit request body to 4k by default. Bram Matthys 2022-06-09 16:38:46 +02:00
  • 3e35b8e96a Small code cleanup Bram Matthys 2022-06-08 20:03:21 +02:00
  • 467e3d847a Handle chunked encoding in webserver (mostly meant for RPC). Bram Matthys 2022-06-08 19:58:12 +02:00
  • 4a68008b81 Rename some more: * WEB() now has handle_request() and handle_body(), makes more sense. * webserver_handle_body_data() -> webserver_handle_body() * and similar cases Bram Matthys 2022-06-08 17:58:08 +02:00
  • 12f2cd8555 Rename webserver_handle_body_data() -> webserver_handle_request_body() Bram Matthys 2022-06-08 17:52:36 +02:00
  • 9afdcb7ff0 Add request body handler in webserver -- only a beginning, the chunked encoding stuff is copied from the modulemanager and #if'd out. The non-chunked is not OK yet either, as it must check the Content-Length, while we currently assume a single packet == the complete request. Bram Matthys 2022-06-08 17:50:53 +02:00
  • cf60b22b31 Close RPC web connection immediately when all has been sent. Bram Matthys 2022-06-08 16:43:22 +02:00
  • f9794c7ed5 Make RPC API work over HTTP(S). Well, first steps, anyway. * No ACL checking yet * No chunked encoding support * No multi-frame support etc... Bram Matthys 2022-06-08 16:34:30 +02:00