Commit graph

  • 4a9dcc6511
    Fix mode +d (post delayed +D) not showing invisible users partially. Or, "invisible_user_in_channel() function doesn't return 1 when channel has +d" Reported by westor in https://bugs.unrealircd.org/view.php?id=6118 Bram Matthys 2023-03-17 12:12:20 +0100
  • 2a98802d09
    Fix compile warning due to latest additions. Bram Matthys 2023-03-17 11:06:12 +0100
  • 395a9dfc41
    Update release notes [skip ci] Bram Matthys 2023-03-17 10:54:16 +0100
  • 9a08e39bca
    Fix modulemanager not working on FreeBSD (./unrealircd module install ...) and other systems where 'make' was not GNU Make. It now uses the same detection mechanism as in ./Config, which should be known to work. Bram Matthys 2023-03-17 10:44:10 +0100
  • 5e57228dfb
    In the FLOOD_BLOCKED log message, add the target of the flood. Suggested by ComputerTech in https://bugs.unrealircd.org/view.php?id=6148 Bram Matthys 2023-03-17 09:56:56 +0100
  • 16d6c0efd6
    Fix crash if unrealircd.org/json-log is used and a module calls config_warn() during MOD_INIT, while an IRCOp is listening. Or any log call, really. This causes the code path: config_warn() -> do_unreal_log_opers() -[..]-> sendto_one() -[..]-> client_accepts_tag() for a client tag handler that is no longer loaded. Bram Matthys 2023-03-15 13:42:17 +0100
  • 96fe6d0fda
    Fix Windows compile problem with current git Bram Matthys 2023-03-14 18:32:48 +0100
  • e767dc5e0e
    Silence warning on clang 15+ (such as in upcoming Ubuntu 23.04) with regard to RunHook() and direct hook calls. Bram Matthys 2023-03-13 13:55:18 +0100
  • 10b481f2c7
    ./Config: don't use 'more doc/Config.header' but use 'cat', it's short enough. Bram Matthys 2023-03-13 09:09:42 +0100
  • c43753cd4b
    Support NO_COLOR environment variable, as per https://no-color.org Bram Matthys 2023-03-11 17:57:19 +0100
  • 2609022502 Merge branch 'unrealircd-unreal60_dev' into piss60 angryce 2023-02-15 10:08:22 -0500
  • 6fbdf923cc Merge branch 'unreal60_dev' of github.com:unrealircd/unrealircd into unrealircd-unreal60_dev angryce 2023-02-15 10:04:10 -0500
  • e4571a5bf7
    Make the documentation of ulines { } in example.conf more explicit about ulines for services needing to be added on every UnrealIRCd server in a network. [skip ci] Bram Matthys 2023-02-08 18:07:28 +0100
  • b80d89dbb2
    Update main docs link in example.*conf. Reported by DeviL. [skip ci] Bram Matthys 2023-02-08 17:55:21 +0100
  • c935c97963
    Mention ulines { } verification in release notes [skip ci] Bram Matthys 2023-02-08 17:52:43 +0100
  • 2f5fa09187
    Mention the last couple of changes in the release notes already. [skip ci] Bram Matthys 2023-02-08 10:51:57 +0100
  • 977c4b433a
    Make it so services can CHGHOST/CHGIDENT in the SASL / registration phase. This so users can come online directly with the correct vhost set, and not first with a standard (usually cloaked) host while auto-(re-)joining followed by a CHGHOST later. Bram Matthys 2023-02-08 10:39:36 +0100
  • 47c8a9c1b8
    Use find_server_by_uid() in SREPLY so it can deliver during pre-auth/unregistered stage Bram Matthys 2023-02-08 10:11:54 +0100
  • c6c8bba311
    Add find_server_by_uid() which hunts a server for the SID-portion of A UID. Not sure if this is the best name, maybe I come up with a better one later. Bram Matthys 2023-02-08 10:10:27 +0100
  • 61970d12b2
    Load 'sreply' module by default, fix a compile issue casused by myself and some minor subjective style changes. Bram Matthys 2023-02-08 09:57:20 +0100
  • 2cf6e9ef19
    Add S2S command SREPLY for handling IRCv3 standard replies (#236) Valerie Pond 2023-02-08 08:43:41 +0000
  • 14035d4dc0
    Make qlines for channels work (#247) Valerie Pond 2023-02-08 08:21:19 +0000
  • dd830261db
    Reject a link for anope or atheme if there is no ulines { } for it. This is checked for both local and remote services linking in. Bram Matthys 2023-02-08 08:57:43 +0100
  • b370b89545
    Bump version to 6.0.7-git Bram Matthys 2023-02-08 08:08:11 +0100
  • 63ad18391f
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-02-03 07:38:48 +0100
  • cde37246ba
    Mention the magic ./unrealircd upgrade command, like last time :p [skip ci] Bram Matthys 2023-02-03 07:01:19 +0100
  • 01fd2da627
    ** UnrealIRCd 6.0.6 ** Bram Matthys 2023-02-03 06:56:16 +0100
  • aaec953497
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-01-19 06:01:22 +0100
  • 2417ed0a46
    And my last rls note update of the day [skip ci] Bram Matthys 2023-01-18 19:18:16 +0100
  • b98fa77bbd
    Update release notes a bit more [skip ci] Bram Matthys 2023-01-18 19:14:55 +0100
  • ba49a130bb
    Update release notes a bit. [skip ci] Bram Matthys 2023-01-18 18:55:18 +0100
  • 3666d1d728
    JSON-RPC: Add some more sanity checking on the 'id' (Mainly because the id might be used in RRPC) Bram Matthys 2023-01-16 11:10:47 +0100
  • b1139769e1
    Do some basic filtering on the request by default. This ensures that strings are of maximum 510 characters in length and do not contain \n or \r. Solves a lot of theoretical problems in many modules that .add things or do other non-list/non-get actions. Bram Matthys 2023-01-16 10:59:41 +0100
  • bdb5541def
    minor code cleanup (do things the libjansson way..) Bram Matthys 2023-01-16 10:38:37 +0100
  • 9e887ea728
    Add LoadPersistentLongLong() / SavePersistentLongLong() Bram Matthys 2023-01-15 14:40:04 +0100
  • 1d1766a895
    Send buildid in server version in EAUTH/SINFO and in server.* JSON-RPC. This reveals the full git version. Bram Matthys 2023-01-15 10:13:16 +0100
  • 497a19e7e2
    Accept more connections in each listener run. Bram Matthys 2023-01-14 20:49:12 +0100
  • 462ce7fcfa
    JSON-RPC: add stats.get call which can be used in "Network Overview" in UnrealIRCd Admin panel and for other statistical purposes. This can be expanded when needed. Bram Matthys 2023-01-14 18:48:18 +0100
  • 2fcddd1655
    JSON-RPC: Send 401 error response on invalid auth (instead of lingering the connection). Bram Matthys 2023-01-14 17:17:40 +0100
  • 194a0b42f7
    JSON-RPC: don't log the RPC calls if they are just for listing/getting, since these are rather noisy and generally not very interesting to log. Of course, DO log them if they are like add/delete/etc. Bram Matthys 2023-01-14 16:38:32 +0100
  • 58db5b0845
    Fix crash in JSON-RPC. Reported by multiple people past few days, including Lord255, armyn and others. The issue was not there when running with ASan, which is why it was non-reproducible for so long. Valgrind picked it up correctly. Bram Matthys 2023-01-14 10:34:59 +0100
  • 53150c0e68
    Fix double-wrapping of JSON reply for remote RPC (RRPC) calls such as server.module_list and server.rehash for remote servers. Reported by Valware. Bram Matthys 2023-01-14 09:10:08 +0100
  • 405b59eb07
    JSON-RPC: server.list/server.add: new property server->features->rpc_modules This is an array with name/version elements, eg server.list or.get look like: { "name": "testlink.test.net", "server": { "features": { "rpc_modules": [ { "name": "rpc", "version": "1.0.2" }, { "name": "user", "version": "1.0.5" }, etc. etc. Bram Matthys 2023-01-13 19:40:05 +0100
  • a1800f01e9
    JSON-RPC / RRPC: Announce all RPC modules and their versions over the wire via moddata. Needed for rrpc_supported() at a later point, so one can require certain versions etc :p Bram Matthys 2023-01-13 18:19:55 +0100
  • b9fcdcdb19
    Make server.rehash for remote servers use two possible code paths: * If the remote server (and all servers in-between) support RRPC then forward the RPC request as RRPC and let remote handle the response. The response will be the verbose rehash response. * If not supported, then simply return boolean true as a response, and use oldskool :source_server REHASH dest_server over the wire Bram Matthys 2023-01-13 18:09:12 +0100
  • c7f9dadb68
    Add JSON_RPC_ERROR_REMOTE_SERVER_NO_RPC error which indicates that the remote server does not have the JSON-RPC module(s) loaded. Bram Matthys 2023-01-13 17:42:53 +0100
  • a3ed1eabd9
    Make client->flags 64 bit on all platforms. We just reached the 32th bit so it is not a problem yet, but better bump it now since I will forget otherwise :D Bram Matthys 2023-01-13 16:55:26 +0100
  • b8cbe63915
    Support server.rehash for remote servers with full detailed response. (Required RPC modules to be loaded on the remote server, tho) Bram Matthys 2023-01-13 16:51:22 +0100
  • e2ef83bd6e
    Fix crash on REHASH Bram Matthys 2023-01-13 15:57:45 +0100
  • cbdde31c1d
    Move client->local->rpc to client->rpc Bram Matthys 2023-01-13 15:49:41 +0100
  • 16e4990f83
    Fix memory leaks created in commit from 15 minutes ago Bram Matthys 2023-01-13 15:44:56 +0100
  • bed40ccdab
    JSON-RPC: RPC-over-net: track requests and handle timeouts and SQUITs. Inform the RPC client that the request timed out / server is gone. The timeout is fixed at 15 seconds, which is fine, I think. Bram Matthys 2023-01-13 15:27:42 +0100
  • 6a4ae9d9ec
    Support RPC calls to remote servers, where the RPC request/response is sent over the IRC network. This makes it possible to fetch information from remote servers that is not known locally, and also it makes it possible to do more things, or do it easier. Bram Matthys 2023-01-13 12:34:28 +0100
  • 07d2b6745b
    JSON-RPC: add server.module_list - only works for locally connected server atm Bram Matthys 2023-01-13 09:46:02 +0100
  • 00e278c802
    Add $tkl->set_in_config property, which is true for config-based TKL entries. So, ones that cannot be deleted. [skip ci] Bram Matthys 2023-01-13 09:14:20 +0100
  • 6bde7475df
    JSON-RPC: add new $server->server->ulined property for u-lines (services) [skip ci] Bram Matthys 2023-01-13 09:05:29 +0100
  • a024a17e87
    Add strtoken_noskip() and use it from the PROTOCTL EAUTH= code so we can deal with empty fields that get sent f.e. by anope, like EAUTH=services.test.net,,,Anope-2.0.11 Bram Matthys 2023-01-13 08:55:10 +0100
  • 73e1dbca05
    JSON-RPC: Add missing client.server.features for &me Bram Matthys 2023-01-11 17:42:02 +0100
  • aa2d3c026e
    JSON-RPC: add server.disconnect Bram Matthys 2023-01-11 17:08:34 +0100
  • d6833ae298
    JSON-RPC: add server.connect API call (directly connected server only at the moment) This also cleans up the linking procedure (now) at 3 places, to use find_link() and check_deny_link() everywhere. Bram Matthys 2023-01-11 16:54:22 +0100
  • 0578346b12
    Make server.rehash work for remote servers too, just no real status atm. Bram Matthys 2023-01-11 16:24:50 +0100
  • a5bdf317fb
    JSON-RPC: begin with a server.* API, also fill client->local->rpc for RPC clients with the RPC user and such. Bram Matthys 2023-01-11 15:42:57 +0100
  • 1c87882d3e
    Add missing config.RELOAD logging when using ./unrealircd rehash (via control socket) Bram Matthys 2023-01-11 14:00:08 +0100
  • c5d8bc5d9b
    Fix ~account:* matching both logged in and logged out users (so quite useless). This bug exists since 5.2.1 already, so i guess the functionality is not used much ;). Makes sense, since for simple ~account:* you have +R already, so it is only useful in stacked bans such as +e ~nickchange:~account:* Bram Matthys 2023-01-09 08:58:10 +0100
  • 5897ce3aad
    Version bump various modules. [skip ci] Bram Matthys 2023-01-08 15:50:25 +0100
  • 35c49108df
    JSON-RPC: Add optional "set_by" field when adding/removing TKL's, so in name_ban, server_ban, server_ban_exception and spamfilter. Bram Matthys 2023-01-08 15:43:00 +0100
  • ed8a3f0336
    JSON-RPC add server_ban_exception.* API calls Docs: https://www.unrealircd.org/docs/JSON-RPC:Server_ban_exception Bram Matthys 2023-01-08 15:35:08 +0100
  • d0ad776e93
    Minor code cleanup (move error out of params into local vars, as it didn't belong there..) [skip ci] Bram Matthys 2023-01-08 15:03:18 +0100
  • 0244c31742
    Split of some code from cmd_eline() into server_ban_exception_parse_mask(), similar to how *LINE commands use server_ban_parse_mask(). Now used by ELINE and for JSON-RPC later... Bram Matthys 2023-01-08 14:56:56 +0100
  • c95e3f249e
    JSON-RPC: add name_ban.list, name_ban.get, name_ban.add, name_ban.del Bram Matthys 2023-01-08 09:56:41 +0100
  • 5db86cb442
    Fix crash in server_ban.* when using non-serverban types such as qlines and exceptions (for which no interface exists yet, btw :D). Bram Matthys 2023-01-08 09:19:44 +0100
  • 9d04710e3a
    In DEBUGMODE allow for verbose rpc logging with request/responses. (And also fix a logging statement that had the wrong category) Bram Matthys 2023-01-08 09:02:01 +0100
  • 20d1487922
    JSON-RPC: add channel.kick, update struct initalization, and use REQUIRE_PARAM_* and OPTIONAL_PARAM_* everywhere in the channel.* API handlers. Bram Matthys 2023-01-07 19:01:45 +0100
  • 191553e403
    Update early release notes a bit. [skip ci] Bram Matthys 2023-01-07 18:38:04 +0100
  • 998687bf13
    Bump version to 6.0.6-git Bram Matthys 2023-01-07 18:15:11 +0100
  • 243958f85a
    Add REQUIRE_PARAM_STRING(), REQUIRE_PARAM_BOOLEAN(), OPTIONAL_PARAM_STRING, OPTIONAL_PARAM_BOOLEAN() and use it everywhere in the user.* API calls. Much cleaner now :) Bram Matthys 2023-01-07 17:54:52 +0100
  • fb96e4581b
    JSON-RPC: add user.part and slightly change user.join the option is now called 'force':true for consistency. Bram Matthys 2023-01-07 17:38:38 +0100
  • 046c8654c6
    JSON-RPC: add user.join, which uses SVSJOIN (normal join) or SAJOIN (bypass all channel restrictions). See https://www.unrealircd.org/docs/JSON-RPC:User#user.join Bram Matthys 2023-01-07 17:24:00 +0100
  • 884cc7f04d
    JSON-RPC: add user.quit. The difference between that and user.kill is explained at https://www.unrealircd.org/docs/JSON-RPC:User Bram Matthys 2023-01-07 16:57:48 +0100
  • 6a2a8e798b
    JSON-RPC: add user.kill Bram Matthys 2023-01-07 16:48:41 +0100
  • 9d65b8a4ed
    Use better defaults in user.set_oper Already documented at https://www.unrealircd.org/docs/JSON-RPC:User#user.set_oper Bram Matthys 2023-01-07 16:41:52 +0100
  • aef8611f91
    Change SVSO to use the prefix "remote:<name>" instead of "services:<name>" because it can be used by JSON-RPC now and this fits for both :D. Bram Matthys 2023-01-07 16:19:17 +0100
  • e7615210a7
    JSON-RPC: add user.set_oper [skip ci] Bram Matthys 2023-01-07 16:18:30 +0100
  • 541eba0670
    JSON-RPC: add user.set_mode & user.set_snomask Bram Matthys 2023-01-07 15:55:22 +0100
  • 619282397e
    Add json_object_get_boolean(): int json_object_get_boolean(json_t *j, const char *name, int default_value) [skip ci] Bram Matthys 2023-01-07 15:54:49 +0100
  • 9898d332ab
    JSON-RPC: add user.set_vhost Bram Matthys 2023-01-07 15:30:08 +0100
  • 318d183f23
    JSON-RPC: add user.set_username and user.set_realname Bram Matthys 2023-01-07 15:23:34 +0100
  • 18d7e98d35
    Return true from ValidatePermissionsForPath() for &me. Bram Matthys 2023-01-07 15:20:48 +0100
  • 4378979ad5
    Add valid_username() so we can use it at multiple places. This gets rid of duplicate code in SETIDENT, CHGIDENT, and soon in the RPC call. It does not get rid of make_valid_username() in src/modules/nick.c which does something slightly different. Bram Matthys 2023-01-07 15:11:52 +0100
  • a9d0c6fd1a
    JSON-RPC: make channel.set_mode and channel.set_topic return just result:true. I don't think it should return the whole channel struct here as if it was a channel.get. Only thing is that, especially or only with set_mode, it may actually be 100% success... eg if your mode line is wrong :D. Bram Matthys 2023-01-07 14:56:36 +0100
  • 5589a78255
    JSON-RPC: add user.set_nick This also makes the "forced nick change" message a bit more generic, leaving out the "by services" or "due to Services", since it is now possible to do it via JSON-RPC. Bram Matthys 2023-01-07 14:52:44 +0100
  • 7d9dcb5e0a
    Allow SVS* commands to be sent by non-ulined servers by default, this is needed by various future JSON-RPC calls. See https://www.unrealircd.org/docs/Set_block#set::limit-svscmds Bram Matthys 2023-01-07 14:17:27 +0100
  • 62d62c4e88
    channel.set_mode: mode->modes, parameter->parameters Bram Matthys 2023-01-07 10:24:26 +0100
  • b2a6f3cfee
    JSON-RPC: add channel.set_mode Bram Matthys 2023-01-07 10:21:19 +0100
  • 14107d88be
    Add set_channel_topic() and use it from cmd_topic (TOPIC) Bram Matthys 2023-01-07 10:16:18 +0100
  • 66d7fb804d
    JSON-RPC: add channel.set_mode Bram Matthys 2023-01-07 09:41:01 +0100
  • 141c4bc64d
    Use consts in set_channel_mode() [skip ci] Bram Matthys 2023-01-07 09:39:44 +0100
  • 5a32333360
    JSON-RPC: show +vhoaq in "channels" in user.* and in "members" in channel.* as requested in https://bugs.unrealircd.org/view.php?id=6206 And also for channel.get, in "members", include the UID in "id". Bram Matthys 2023-01-05 17:44:46 +0100
  • bef2f428f4
    JSON-RPC: Really show *all* channels a user in. This because for JSON-RPC you expect all accurate data, while in contrast with JSON logging the channels are just there for convenience and only show the first X channels, since otherwise the data gets too long and gets truncated (JSON logging uses channel detail level 0). Bram Matthys 2023-01-05 16:52:56 +0100
  • 143b7262cc
    JSON-RPC: add channel.get which also includes members and +beI lists. Documented at https://www.unrealircd.org/docs/JSON-RPC:Channel under "When using the channel.get API call, more details are available" Bram Matthys 2023-01-05 16:39:59 +0100