Commit graph

  • b710fb188b Add get_nvplist() function. Requested by westor in https://bugs.unrealircd.org/view.php?id=6125 Bram Matthys 2022-06-08 16:13:30 +02:00
  • 5e81a6ee67 Add listener->start_handshake function pointer. This is start_of_normal_client_handshake() by default, but is start_of_control_client_handshake() for the control channel (for './unrealircd rehash' and such). Previously that was hardcoded. Bram Matthys 2022-06-08 15:59:35 +02:00
  • 2bf41a47d2 Don't check for connect-flood on RPC connections. Bram Matthys 2022-06-08 13:58:54 +02:00
  • 46588db89a Fix rehash crash since adding RPC code. Bram Matthys 2022-06-08 13:08:50 +02:00
  • 2c8fc5e641 Move special handling of control socket to procio_server.c. Things like setting the client->status to CLIENT_STATUS_CONTROL and list_add(&client->lclient_node, &control_list); Bram Matthys 2022-06-08 12:48:46 +02:00
  • df8c5cfd76 Add ability to skip connect-flood and zlined checks via listener->options with LISTENER_NO_CHECK_CONNECT_FLOOD and LISTENER_NO_CHECK_ZLINED. Bram Matthys 2022-06-08 12:29:41 +02:00
  • 29eb89a528 Attach client->local->listener to a client very early, now that it is safe. This makes other code safer as well since they can assume that if the client is local (client->local) that the listener (client->local->listener) is non-NULL and safe to access until the client is completely destroyed. Bram Matthys 2022-06-08 12:26:35 +02:00
  • 1d613a592c Remove freeing of client->local->listener and refdec from exit_client() to free_client(). Bram Matthys 2022-06-08 12:25:22 +02:00
  • 60c83b4ba1 Move connect-flood and max-unknown-connections-per-ip into their own module. These deal with set::anti-flood::everyone::connect-flood and set::max-unknown-connections-per-ip respectively. Bram Matthys 2022-06-08 12:04:05 +02:00
  • a09d4a7e88 Add CLIENT_STATUS_RPC and add SetRPC() and IsRPC(). Bram Matthys 2022-06-08 10:54:25 +02:00
  • 6b30482c04 Don't apply registration timeout to *NIX domain socket connections. May want to reconsider this but.. for now.. Bram Matthys 2022-06-08 09:03:59 +02:00
  • 1830f3e53f Add RPC channel.list call to show list of channels (with all details) Bram Matthys 2022-06-06 17:26:18 +02:00
  • 61ba3727df JSON-RPC: Use proper error response with error codes according to the official specification (one of JSON_RPC_ERROR_*). Bram Matthys 2022-06-06 17:18:22 +02:00
  • 4cd520d327 Make user.list() RPC API return a list of all users with details. This is the 1st RPC API call that actually works :D Bram Matthys 2022-06-06 16:47:09 +02:00
  • 31fc2843a2 Add "rpc" module. Supports parsing from *NIX domain sockets for starters. Bram Matthys 2022-06-06 12:08:43 +02:00
  • 53732e0f78 Warn if 'websocket' module is loaded without 'webserver' (= won't work). Bram Matthys 2022-06-06 12:08:05 +02:00
  • b9d1af8fa0 Call config run hooks for CONFIG_LISTEN and CONFIG_LISTEN_OPTIONS also for unix domain sockets. Bram Matthys 2022-06-06 11:51:07 +02:00
  • 0134c435d5 Don't apply handshake-delay to any *NIX domain socket connections, instead of only exempting *NIX domain socket control channels. Bram Matthys 2022-06-06 10:36:25 +02:00
  • cbfcfa1428 Create src/modules/rpc directory Bram Matthys 2022-06-06 09:18:05 +02:00
  • 97c8274695 Add RPC API (the beginning..) Bram Matthys 2022-06-06 08:41:20 +02:00
  • 2397fb8a49 Split 'websocket' module up in 'webserver' and 'websocket' Bram Matthys 2022-06-06 07:51:05 +02:00
  • 5615ef0449
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-06-18 17:54:48 +02:00
  • 0c32151be1
    Sort modes returned by "MODE #channel" (request) Bram Matthys 2022-06-18 15:08:45 +02:00
  • 4b72f375f8
    Update help.conf to include ~security-group extban (#220) alice 2022-06-17 16:06:01 +01:00
  • 3a354c3410
    Fix some typos in markdown of release notes. [skip ci] Bram Matthys 2022-06-17 13:59:27 +02:00
  • 88190d08c4
    ** UnrealIRCd 6.0.4 ** Bram Matthys 2022-06-17 13:29:42 +02:00
  • 7fb747dcbf
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-06-08 18:24:08 +02:00
  • 8ea7fcfc9f
    Fix tld::mask not working with the new form. Reported by musk. Bram Matthys 2022-06-08 08:22:14 +02:00
  • b5f35dfff5
    Fix regular users being able to -o a service bot (that has umode +S). Reported by ComputerTech in https://bugs.unrealircd.org/view.php?id=6126 Bram Matthys 2022-06-08 07:35:27 +02:00
  • 8fe7b1bc41
    Fix wrong security-group example in release notes for auto oper up. This should be: security-group Syzop { certfp "1234etc."; } As this is wrong: security-group Syzop { mask { certfp "1234etc."; } } Bram Matthys 2022-06-05 08:42:05 +02:00
  • 28d3875aa9
    Make variables in set::reject-message and other buildvarstring() usage no longer expand shorter versions of a variable. It previously had some unintended form of magic autocomplete where $serv was handled the same way as if it was $server. This could cause issues in the long run when variables are added and the meaning of the short form changes. Bram Matthys 2022-06-05 08:15:00 +02:00
  • f91da796c2
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-06-04 08:16:27 +02:00
  • 020c3d1fa3
    ** UnrealIRCd 6.0.4-rc2 ** Bram Matthys 2022-06-03 18:48:52 +02:00
  • 1311c8a963
    Fix connthrottle message when throttling (bug introduced in 6.0.4-rc1). Reported by westor in https://bugs.unrealircd.org/view.php?id=6121 Bram Matthys 2022-06-01 08:49:35 +02:00
  • d5989695e8
    Remove last global 'buf' variables. This was already done a lot in time but it seems there were still a couple left. These are now gone as well. There seem to be no issues with the ones that were left, but it is just too easy to get it wrong. Declaring buf in function now. This should be faster anyway, since it is located on nearby memory (stack). Bram Matthys 2022-06-01 08:32:07 +02:00
  • d3f655cb63
    Fix space stripping at end of connect and disconnect message, in the "extended_client_info". Was a typo, 'buf' vs 'retbuf'. Reported by westor in https://github.com/unrealircd/unrealircd/pull/217 Bram Matthys 2022-06-01 08:18:55 +02:00
  • cfde4f1efa
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-06-01 00:54:13 +02:00
  • 731adb308d
    set::restrict-commands: better error message if you use the same command twice (or more) Bram Matthys 2022-05-30 13:05:04 +02:00
  • 6ef1a6a708
    Update set::antirandom example in modules.optional.conf. Use the new options in the new ::except block, fix broken English and trim down the text a bit. This also lowers the threshold from 7 to 6. It was already 5 in the example block on the wiki, now the wiki and this are the same again. Bram Matthys 2022-05-30 12:56:22 +02:00
  • b4f6c83821
    Fix multiline log messages not working, they showed up as single lines with their content added together. Bram Matthys 2022-05-30 08:59:44 +02:00
  • 2f22d2d1a7
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-05-29 20:56:44 +02:00
  • c8ef9b2740
    Fix set::restrict-commands::except not working. Reported by Rain. Bram Matthys 2022-05-29 15:13:12 +02:00
  • cb9ffd9e17
    Update example.fr.conf (#216) musk 2022-05-29 14:27:29 +02:00
  • dc5a7326cd
    Update example.es.conf (#215) musk 2022-05-29 08:23:34 +02:00
  • b183a3ea7a
    Add -Wno-format-overflow as unfortunately this option is too dumb. Eg it warns on sprintf() usage even if there is a strlen() check right above it. Bram Matthys 2022-05-28 18:12:24 +02:00
  • 965bfa441b
    Crash reporter: use fclose() and not pclose() since this particular file descriptor was opened by fopen() and not popen(). Fixes compile warning on Ubuntu 22.04 / GCC 11. [skip ci] Bram Matthys 2022-05-28 17:59:11 +02:00
  • 2f31a8800b
    Add missing blacklist { } blocks to example.fr.conf copy-paste from the English one, pending translation by... someone. [skip ci] Bram Matthys 2022-05-28 08:05:55 +02:00
  • 0495953f55
    Update example.tr.conf with 6.0.4 example.conf. Note that set::conthrottle::except needs a new translation, and CHANNEL HISTORY needs translation too. [skip ci] Bram Matthys 2022-05-28 08:00:54 +02:00
  • 54a2645f21
    Update example.fr.conf with 6.0.4 example.conf. Note that various parts are now in English, pending translation to French. [skip ci] Bram Matthys 2022-05-28 07:58:47 +02:00
  • a18316a737
    Update example.es.conf with 6.0.4 example.conf. Note that set::conthrottle::except needs a new translation, and CHANNEL HISTORY needs translation too. Bram Matthys 2022-05-28 07:54:43 +02:00
  • 25e7142716
    Re-indent this monster (example.es.conf) [skip ci] Bram Matthys 2022-05-28 07:47:43 +02:00
  • bd7b90354d
    Remove .asc file after ./unrealircd upgrade (#212) ZarTek @ CREOLE 2022-05-27 16:35:10 +02:00
  • 9c8cd52057
    Add the oper auto-login example to release notes [skip ci] Bram Matthys 2022-05-26 21:15:56 +02:00
  • d47fdbede4
    Add oper::auto-login. When set to yes, opers are automatically logged in if the oper block permits, the user does not have to send "OPER xyz". Bram Matthys 2022-05-26 20:57:03 +02:00
  • c183c06d06
    Move HOOKTYPE_LOCAL_CONNECT slightly further down. [skip ci] Bram Matthys 2022-05-26 20:56:36 +02:00
  • 96897289e0
    Allow oper block without password, now that you can use security-group and other selectors in 'mask'. This allows for things like: Bram Matthys 2022-05-26 19:41:26 +02:00
  • a4902e121c
    Fix crash when using 'account' in 'except ban'. Bram Matthys 2022-05-26 17:31:45 +02:00
  • 960c3cc1c1
    And a similar fix for multi account, eg security-group xyz { account { a; b; c; } } Bram Matthys 2022-05-26 17:21:30 +02:00
  • fba0249ec3
    Fix for when using security-group xyz { security-group { a; b; c; } } Bram Matthys 2022-05-26 17:11:47 +02:00
  • c9f8c42281
    Fix CIDR not working in match { ip ....; } Bram Matthys 2022-05-26 17:03:17 +02:00
  • 6802156c02
    Document channel history in example.conf as persistent history is likely something people would want to enable, and perhaps the limits tweaked too. Suggested by ZarTek-Creole in https://github.com/unrealircd/unrealircd/pull/211 Bram Matthys 2022-05-26 08:25:34 +02:00
  • 82063a48ec
    Use single quotes in set::webredir::url example. Suggested by ZarTek-Creole in https://github.com/unrealircd/unrealircd/pull/208 Bram Matthys 2022-05-26 07:36:11 +02:00
  • fe11f77be6
    Fix +H not working in set::modes-on-join. Reported by ZarTek-Creole in https://bugs.unrealircd.org/view.php?id=6114 Bram Matthys 2022-05-26 07:14:12 +02:00
  • 1548137e31
    Document SVSO being back again :) Bram Matthys 2022-05-25 20:29:09 +02:00
  • a7b3f61e13
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-05-25 19:13:18 +02:00
  • d1311a124b
    Make ./Config import settings from 6.0.3 Bram Matthys 2022-05-25 18:27:10 +02:00
  • 3936059768
    ** UnrealIRCd 6.0.4-rc1 ** Bram Matthys 2022-05-25 17:14:32 +02:00
  • c86e5a3c2d
    Fix memory leak on REHASH when using parameter modes in set::modes-on-join Bram Matthys 2022-05-25 16:52:41 +02:00
  • 4deeec015b
    Fix small memory leak in extban API (when unloading module) Bram Matthys 2022-05-25 16:46:34 +02:00
  • ce6be5df61
    Reputation was synced correctly on IP basis (and thus the databases) across servers if they differed, however the individual IP of users was not updated until next add_scores() run. So, there would be an up to 5 minute delay during which scores for individual users were possibly too low, with all the effects that it could possibly have nowadays such as restrict-commands, more stringent flood limits, etc. Bram Matthys 2022-05-25 16:28:45 +02:00
  • 9ed38c437a
    Fix crash on Windows when using the "Rehash" GUI option. Reported by CaoS in https://bugs.unrealircd.org/view.php?id=6087 [skip ci] Bram Matthys 2022-05-25 16:00:22 +02:00
  • b28d8aecd7
    Add "ip" to mask item and security-group for easy matching on IP. So you can just use mask { ip { 127.*; 192.168.*; } } without having to worry about hostnames like 127.example.net. (Of course you could also have used CIDR notation) Bram Matthys 2022-05-25 08:34:22 +02:00
  • 7ff4a3e897
    Add the promised support of security group functionality in except ban { } Bram Matthys 2022-05-25 07:49:11 +02:00
  • d8ff86e739
    Fix for compiling on Windows [skip ci] Bram Matthys 2022-05-23 18:48:10 +02:00
  • 3ee199fb6f
    Makefile.windows: add securitygroup.obj [skip ci] Bram Matthys 2022-05-23 17:42:26 +02:00
  • b6843488a9
    Update release notes [skip ci] Bram Matthys 2022-05-23 14:27:05 +02:00
  • b4ac25fba6
    Update release notes with all the work that has been done. [skip ci] Bram Matthys 2022-05-23 14:25:40 +02:00
  • e8fbe461f0
    Document JSON logging changes of today [skip ci] Bram Matthys 2022-05-23 12:56:06 +02:00
  • 35b2579dcb
    Fix compiler warning Bram Matthys 2022-05-23 12:55:48 +02:00
  • 60eba7c501
    Add to JSON logging output, for users: "channels" Bram Matthys 2022-05-23 12:09:57 +02:00
  • 66e97580c1
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-05-23 12:44:16 +02:00
  • 7280ffdc57
    Add to JSON logging output, for users: "idle_since". Suggested by westor in https://bugs.unrealircd.org/view.php?id=6083 Bram Matthys 2022-05-23 11:53:32 +02:00
  • af8418fb3e
    Add to JSON logging output, for users: "vhost" and "cloakedhost" Suggested by westor in https://bugs.unrealircd.org/view.php?id=6083 Bram Matthys 2022-05-23 11:25:52 +02:00
  • c04ad96357
    Add to JSON logging output: "geoip" with subitem "country_code". Suggested by westor in https://bugs.unrealircd.org/view.php?id=6083 Bram Matthys 2022-05-23 11:19:40 +02:00
  • 0f7555e4c5
    Add to JSON logging output: "tls" with subitems "cipher" and "certfp". Suggested by westor in https://bugs.unrealircd.org/view.php?id=6083 Bram Matthys 2022-05-23 11:07:08 +02:00
  • 16264e944f
    Add HOOKTYPE_JSON_EXPAND_CLIENT etc. so modules can add more fields when clients etc. are expanded in the logging routines. Bram Matthys 2022-05-23 11:02:05 +02:00
  • 7740d64042
    Limit individual JSON strings to 512 bytes and call StripControlCodes() on each string. Note that the entire JSON dump may still be much larger, this is just about each individual string item within an object. Bram Matthys 2022-05-23 10:12:18 +02:00
  • 3fbdb7fd4b
    Move StripControlCodes() from message.c to misc.c. Because I need in the core (again) due to early calls / calls during rehashes / etc... Bram Matthys 2022-05-23 10:10:47 +02:00
  • 8c1a858d2e
    Fix crash on empty set::default-ipv6-clone-mask in config file. set { default-ipv6-clone-mask; } Bram Matthys 2022-05-23 08:36:25 +02:00
  • 111ab9fada
    Show [shunned] in connect oper notice (#206) westor 2022-05-22 23:18:49 -07:00
  • 047cfe196f
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-05-17 14:46:05 +02:00
  • 9075e2fa70
    Move all the security group and mask code to src/securitygroup.c Bram Matthys 2022-05-16 13:49:17 +02:00
  • 5d9a201df8
    Don't show security-groups of ulines like NickServ (since it is irrelevant anyway). Reported by Lord255. Bram Matthys 2022-05-16 11:21:58 +02:00
  • 5443dff327
    Clarify in release notes that the country value is a country code Reported by westor [skip ci] Bram Matthys 2022-05-16 10:46:54 +02:00
  • c09d2e40a3
    Update release notes a bit: better markdown, improve TLD example, mention the 5 modules that now have an ::except which is also a mask item. [skip ci] Bram Matthys 2022-05-16 10:36:05 +02:00
  • 2108bb48fa
    Run labeled-response through the quick path. Bram Matthys 2022-05-16 09:53:23 +02:00
  • 519d027a62
    Fix geoip_base_unserialize() check being the wrong way around. Could have caused a memory leak but likely did not happen at all in practice. Bram Matthys 2022-05-15 19:34:46 +02:00
  • c037486263
    Add blacklist::except for exempting users from individual blacklists, this is a https://www.unrealircd.org/docs/Mask_item so very flexible. Bram Matthys 2022-05-15 15:13:19 +02:00
  • 8802fcaec8
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2022-05-15 10:25:30 +02:00
  • fc79cbb3f0
    Fix memory leak in new security group code from past 48hrs Bram Matthys 2022-05-15 07:50:40 +02:00