Commit graph

  • 8cabbcb59b
    DNS: add negative caching of unresolved hosts (60 seconds) Mostly to avoid repeated lookups for like clients that reconnect rapidly. Bram Matthys 2023-05-06 10:34:26 +0200
  • e04bde003c
    DNS: don't use "search domains" to avoid silly lookups for like 4.3.2.1.dnsbl.dronebl.org.mydomain.org which is a waste (and is compounded if you have multiple search domains and multiple DNSBL's) Bram Matthys 2023-05-06 09:47:09 +0200
  • 16531e53db
    Performance tweak to dbufs: 512 bytes -> 4K Bram Matthys 2023-05-06 09:23:54 +0200
  • 63c7fd604d
    Fourth attempt at fixing 3+ JSON-RPC connections causing the error "Too many unknown connections from your IP". Bram Matthys 2023-05-06 09:11:49 +0200
  • e66824b8a6
    Fix some typo or massreplace error in Failed OPER attempt message. [skip ci] Bram Matthys 2023-05-06 09:02:38 +0200
  • 0444a192bb
    Don't show REMOTE_CLIENT_JOIN for users on a server that is syncing. Was an overshight. We don't show REMOTE_CLIENT_CONNECT either in such a case. Bram Matthys 2023-05-05 16:57:21 +0200
  • 2a70a35f13
    Propagate blacklist hit message globally. For snomask 'B', but also for remote logging and JSON-RPC logging purposes. [skip ci] Bram Matthys 2023-05-05 16:24:12 +0200
  • 4ec2815d0c
    JSON-RPC: log.list now has a sources argument which allows filtering. Uses the same filter as log.subscribe. Bram Matthys 2023-05-05 15:08:02 +0200
  • 45342c2d33
    Don't log join/part/kick by default if memory log is on via conf/rpc.modules.default.conf. This because: 1) It matches the default in example.conf for ircd.log 2) It is a more privacy-friendly setting 3) The log entries are spammy / fill the memory log buffer quickly Bram Matthys 2023-05-05 14:50:28 +0200
  • 4f632125fb
    JSON-RPC: add log.list call to fetch old(er) log entries from memory. Bram Matthys 2023-05-05 12:17:18 +0200
  • d48ccb1ec8
    When rpc.modules.default.conf is loaded, remember last 1000 lines of log entries for a maximum of 7 days, in memory. [skip ci] Bram Matthys 2023-05-05 12:16:10 +0200
  • 1dcef57970
    Add safe_json_decref() which sets pointer to NULL after decref. Bram Matthys 2023-05-05 09:51:09 +0200
  • 95074410a5
    Set version to 6.1.1-git [skip ci] Bram Matthys 2023-05-05 09:49:42 +0200
  • 5d3319d662
    Whoops.. fix windows compile issue :D. Let's not add a random x there. Bram Matthys 2023-05-05 07:46:21 +0200
  • 1317784de1
    ** UnrealIRCd 6.1.0 ** Bram Matthys 2023-05-05 07:32:22 +0200
  • c400e9282e
    Remove CCM ciphers, which are likely unavailable anyway. Bram Matthys 2023-04-27 13:16:15 +0200
  • af6d93f584
    Fix small memory leak when using JSON-RPC timers. Bram Matthys 2023-04-27 09:14:58 +0200
  • 215869b421
    Fix memory leak in whowasdb Caused by fix a01862bf05 which no longer assigns but duplicates string values. Bram Matthys 2023-04-26 18:12:31 +0200
  • 9e80487270
    JSON-RPC: server_ban.del: more fixes for previous two commits (done) Bram Matthys 2023-04-25 15:41:40 +0200
  • 30ed59617e
    Additional fix for previous: deletion didn't work either, let's move this fiddling up one layer. Though i should really check if .get works. Bram Matthys 2023-04-25 15:28:38 +0200
  • 5ec2701e9d
    JSON-RPC: server_ban.add: fix softbans not working. Actually two issues: * passed the wrong 'type' so it rejected all softbans. * and fix bans being added with %% instead of %. Bram Matthys 2023-04-25 15:22:42 +0200
  • 2e6f3a50d2
    Fix-for-fix of remote includes crash of yesterday (2922a8ae5a) Bram Matthys 2023-04-23 07:44:00 +0200
  • f467c031c1
    Fix memory leak when an outgoing TLS_connect() fails. Reported by immibis in https://bugs.unrealircd.org/view.php?id=6263 Bram Matthys 2023-04-22 14:36:21 +0200
  • 2922a8ae5a
    Fix crash if there is a parse error in an included file and there are other remote included files still being downloaded. This issue exists both with and without cURL, so in both url interfaces. Bram Matthys 2023-04-22 14:06:47 +0200
  • 17e2a17e81
    Remove library before 'make install'. Possibly fix a bug. Bram Matthys 2023-04-19 18:52:59 +0200
  • 8ddc9bd69c
    More chgs to last commits: use listener->options & LISTENER_NO_CHECK_CONNECT_FLOOD as that is the same method we use in connect-flood. Bram Matthys 2023-04-17 09:43:46 +0200
  • a01862bf05
    whowasdb: fix double free issues Bram Matthys 2023-04-17 08:32:55 +0200
  • 172554abd4
    Make previous commit actually work Bram Matthys 2023-04-17 08:19:22 +0200
  • 76b87ed880
    Don't count RPC for set::max-unknown-connections-per-ip. This fixes you no longer being able to get on to the IRC network if you also run the webpanel from your same source IP (and other similarly weird errors, of course) Bram Matthys 2023-04-17 08:09:54 +0200
  • ebcfe6a6bc
    Add sendtaggednumeric/sendtaggednumericfmt (#250) Val Lorentz 2023-04-15 16:34:38 +0200
  • 50e5cb7cbe
    Bleh, fix a warning... Bram Matthys 2023-04-15 14:52:06 +0200
  • 2b1fad89be
    ** UnrealIRCd 6.1.0-rc2 ** Bram Matthys 2023-04-15 14:07:06 +0200
  • 4b448f2aaa
    New option listen::spoof-ip, only valid when using UNIX domain sockets (so listen::file). This way you can override the IP address that users come online with when they use the socket (default was and still is 127.0.0.1). Bram Matthys 2023-04-15 10:36:03 +0200
  • eca416fdc6
    Update release notes a bit [skip ci] Bram Matthys 2023-04-15 10:13:12 +0200
  • f1e70fa06c
    whowasdb: work around -Waddress warning for W_SAFE_PROPERTY() [skip ci] Bram Matthys 2023-04-15 09:44:14 +0200
  • 88e028246e
    JSON-RPC and JSON Logging: expose client.creation_time for remote clients too if the information is available (is communicated since UnrealIRCd 6.0.4 in server to server traffic). [skip ci] Bram Matthys 2023-04-15 09:30:10 +0200
  • 0d2ca78ed8
    JSON-RPC: whowas.get: name -> nick rename [skip ci] Bram Matthys 2023-04-15 09:27:50 +0200
  • 7ad160f57a
    JSON-RPC: WHOWAS fetching is now whowas.get, also expose not only logon_time/logoff_time but also connected_since. Bram Matthys 2023-04-15 09:22:44 +0200
  • 2184f38e7e
    Expose more WHOWAS fields in JSON-RPC and change add_history() to take a reason for the add, like: nick-change, quit, server terminating. Add logon time. Bram Matthys 2023-04-15 08:57:15 +0200
  • e2320cb506
    Update release notes a bit [skip ci] Bram Matthys 2023-04-15 08:31:06 +0200
  • e7e2a5a275
    whowasdb: write currently online users as well, as if they already left. This so, if we die, there is still a history of them. Bram Matthys 2023-04-15 08:17:54 +0200
  • f0cd1c59c5
    JSON-RPC: initial work on user.get_whowas (work in progress) Bram Matthys 2023-04-15 07:59:13 +0200
  • 45201fffe7
    New module 'whowasdb': persistent WHOWAS history (preserved between reboots) Bram Matthys 2023-04-14 19:27:43 +0200
  • 2fd7c9cfc4
    Set loop.terminating for RESTART also (so channeldb etc write the db) Bram Matthys 2023-04-14 19:22:22 +0200
  • 8aa004271f
    Ban exempt 127.0.0.1 instead of whole 127.* Bram Matthys 2023-04-14 07:31:22 +0200
  • 66b8259234
    JSON-RPC: don't do filtering on low ASCII like we do for JSON logging. This way things like the TOPIC will keep their color codes if they have it. Bram Matthys 2023-04-13 18:51:06 +0200
  • dec834c193
    Fix for previous fix (unmasked packets) Bram Matthys 2023-04-12 13:17:13 +0200
  • 68171b5582
    Websocket: apparently PONG frames are sometimes unmasked, even though RFC6455 clearly says: Defines whether the "Payload data" is masked. If set to 1, a masking key is present in masking-key, and this is used to unmask the "Payload data" as per Section 5.3. All frames sent from client to server have this bit set to 1. Bram Matthys 2023-04-12 12:27:20 +0200
  • 57c90496e8
    JSON-RPC: add rpc.add_timer and rpc.del_timer so you can run a command every <xyz> msec (minimum: 250). Can be useful to schedule an rpc.stats call every 1000msec for instance. Of course timers are destroyed if the client exits. Bram Matthys 2023-04-12 10:08:26 +0200
  • 9f569078ed
    Fix bug where a REHASH would cause us to loose track of remote RPC's (RRPC). Like REHASHing while a module.list is in progress. Bram Matthys 2023-04-12 09:06:48 +0200
  • cd3b3ec15d
    JSON-RPC: Change to previous, don't name it "top_countries" but "countries" and sort descending so the country with the most users comes first. (Using silly negative priority tricks, but you won't see that :D) Bram Matthys 2023-04-12 08:25:32 +0200
  • 431d2b54c4
    JSON-RPC: stats.get now returns "top_countries" (top geo country codes). It also has an object_detail_level like some other calls. The "top_countries" are included from object_detail_level 1 and above. The default object_detail_level is actually 1, so it is included by default. You can use object_detail_level if you don't want it. Bram Matthys 2023-04-12 08:04:20 +0200
  • bea1bb6b94
    Add some more warnings/explanations if specifying a custom SSLDIR. Reported and suggested by Le_Coyote in https://bugs.unrealircd.org/view.php?id=5980 Bram Matthys 2023-04-10 19:12:48 +0200
  • 3538b944de
    Fix missing client info from TLS handshake flood log message. Reported by musk in https://bugs.unrealircd.org/view.php?id=6251 Bram Matthys 2023-04-10 18:51:19 +0200
  • 197fd0ca51
    Update help.conf on +F and integrate +f/+F CHMODEF helpop docu. Bram Matthys 2023-04-09 16:08:10 +0200
  • 78e10e0128
    /helpop chmodes: Show channelmode +d (#249) Valerie Pond 2023-04-09 14:53:53 +0100
  • 7c22f37a9f
    JSON-RPC: add log.subscribe and log.unsubscribe https://www.unrealircd.org/docs/JSON-RPC:Log Bram Matthys 2023-04-08 17:20:50 +0200
  • 4945ac9f7e
    Minor update of release notes [skip ci] Bram Matthys 2023-04-07 16:12:24 +0200
  • 447ce57009
    +F: fixes for if you change the default-profile or unset it, so these changes are set for all channels without +F. Bram Matthys 2023-04-07 15:20:05 +0200
  • 93d825abe5
    +F: set default profile if asked to do so via REHASH [skip ci] Bram Matthys 2023-04-07 15:00:24 +0200
  • ec7077f4a1
    ** UnrealIRCd 6.1.0-rc1 ** Bram Matthys 2023-04-07 14:54:43 +0200
  • f9b986f3c7
    Windows build: now that they are compiled, actually install the RPC modules too.. [skip ci] Bram Matthys 2023-04-07 14:48:59 +0200
  • a3efb70d31
    Fixes for Windows build: add extbans/flood and all the RPC modules. [skip ci] Bram Matthys 2023-04-07 14:37:00 +0200
  • 290c5d4b72
    Fix Windows makefile. [skip ci] Bram Matthys 2023-04-07 14:27:14 +0200
  • 854c5976d1
    Chanmode +F: re-apply profiles on REHASH (in case anything changed) TODO: ideally we would only do this if there was a change at all, but ah well. Bram Matthys 2023-04-07 14:07:25 +0200
  • 3538ca9547
    Fix bug in unrl_utf8_make_valid() where on invalid UTF8 it would use the replacement character (good) but then stop processing the rest of the string (bad). This only happened if called with strict=0, which only happens in the JSON and logging routines. So not in user-exposed stuff like the websocket code. Bram Matthys 2023-04-05 09:40:10 +0200
  • 4de91d49df
    Forgot 'git add' Bram Matthys 2023-04-05 08:07:18 +0200
  • 254afbb9c6
    Make set::hide-ban-reason not affect opers (eg. show full gline reason). Suggested by Chris_dc in https://bugs.unrealircd.org/view.php?id=6252 Bram Matthys 2023-04-05 07:24:31 +0200
  • e8aef70f03
    Fix crash on +f modes merging (SJOIN) due to the 6.1.0 +f/+F changes. Reported by Valware. Bram Matthys 2023-04-05 07:21:52 +0200
  • c5a763de06
    mask vs match in webirc Bram Matthys 2023-04-04 19:37:07 +0200
  • b07c739fa7
    Add new +e ~flood:<floodtype(s)>:<mask> to exempt from +f/+F checks. For example: +e ~flood:*:~account:TrustedBot Bram Matthys 2023-04-02 19:19:15 +0200
  • a19b2aebf6
    New cmode.flood_type_action which can be used to indicate a channel mode can be used from +f/+F as an action. You need to specify for which flood type your mode is, eg cmode.flood_type_action = 'j'; for joinflood. Bram Matthys 2023-04-02 18:14:45 +0200
  • a9b71b58cb
    Add RPC 'issuer' logging in CHGIDENT, CHGHOST, CHGNAME, SVSMODE for user.set_username, user.set_vhost, user.set_realname, user.set_mode. And some early work for other stuff that doesn't work yet. Bram Matthys 2023-04-02 16:18:34 +0200
  • 1e315bb953
    Add and use command_issued_by_rpc() helper function for internal logging of commands issued by JSON-RPC. Bram Matthys 2023-04-02 16:03:50 +0200
  • e67f5b6c39
    Prepare all user.* with mtag_add_issued_by() for unrealircd.org/issued-by. The code further up still needs to be changed, though. Bram Matthys 2023-04-02 15:56:48 +0200
  • d25d2a23be
    Minor cleanup: use kick_user() from channel.kick call instead of emulating an IRC command through do_cmd(). Function was added earlier in a8534a6063 Bram Matthys 2023-04-02 12:14:52 +0200
  • 9eac6797c6
    Add unrealircd.org/issued-by for KICK from JSON-RPC Bram Matthys 2023-04-02 12:12:16 +0200
  • 50c3ed2c24
    Add unrealircd.org/issued-by if using RPC call channel.set_mode This also changes the set_channel_mode() function to have an extra arguments MessageTag *mtags (2nd parameter). Bram Matthys 2023-04-02 12:06:52 +0200
  • 0b8f0deb05
    SAPART: add unrealircd.org/issued-by, and add RPC-specific logging Bram Matthys 2023-04-02 12:01:29 +0200
  • 6ee941fa4c
    SAJOIN: add unrealircd.org/issued-by, and add RPC-specific logging (some code will probably be moved to a helper function later) Bram Matthys 2023-04-02 11:52:24 +0200
  • f007933348
    Document mtag_add_issued_by() and allow for some future case we don't use yet. [skip ci] Bram Matthys 2023-04-02 11:51:09 +0200
  • 4a5b8b3639
    +F: the no-flood-limit profile is called "off" now (was: "none") Bram Matthys 2023-04-02 11:02:59 +0200
  • cd3cf7e97c
    Chanmode +F: Lower nick change limit in profiles, now that only real nick changes are counted and not forced ones like SVSNICK. Bram Matthys 2023-04-02 10:59:52 +0200
  • fa4d86009c
    Move set::modef-boot-delay to set::anti-flood::channel::boot-delay and the new set::modef-split-delay to set::anti-flood::channel::split-delay. See https://www.unrealircd.org/docs/Channel_anti-flood_settings#config Bram Matthys 2023-04-02 10:25:25 +0200
  • 22a632fb88
    Fix memory leak in RPC module on server disconnect. The "rrpc" moddata was not freed, which contained the list of RPC modules on a remote server. Bram Matthys 2023-04-02 08:32:51 +0200
  • b914997a1c
    Update cmode.free_param definition to fix memleak due to yesterdays commit. And update release notes technical note so it actually refers to the correct channel mode function :D Bram Matthys 2023-04-02 08:24:00 +0200
  • 8ea50d38a3
    Change a character and force rebuild Bram Matthys 2023-04-01 18:55:08 +0200
  • 8776557b3d
    JSON-RPC: make server.list use a default max detailed level, the same one as server.get. This list is likely to be small, anyway. This is how it was with <6.0.8. Reported by Lord255. Bram Matthys 2023-04-01 18:16:10 +0200
  • cab472e480
    Merge branch 'unrealircd:unreal60_dev' into piss60 angryce 2023-04-01 17:54:48 +0200
  • b093ba5375
    Set version to 6.1.0-git. Bram Matthys 2023-04-01 17:29:48 +0200
  • ce75ddd167
    Bump UNREAL_VERSION_TIME (been a while) [skip ci] Bram Matthys 2023-04-01 17:05:33 +0200
  • 8f1dc52c20
    Mention that cmode.put_param has an API change [skip ci] Bram Matthys 2023-04-01 17:04:43 +0200
  • 7b7d436bba
    Add support for set::anti-flood::channel::default-profile https://www.unrealircd.org/docs/Channel_anti-flood_settings#Default_profile Bram Matthys 2023-04-01 16:56:37 +0200
  • 2f7bb2e72d
    Some reformatting of release notes [skip ci] Bram Matthys 2023-04-01 13:37:50 +0200
  • 22691a458b
    Don't count forced nick changes in floodtype 'n' in chanmode +f/+F. These were already not counted for set::anti-flood::xx::nick-flood and it makes sense. Benefit of this is that limits for floodtype 'n' can be set tighter, as now it is really only about manual (voluntarily) nick changes. Bram Matthys 2023-04-01 13:25:12 +0200
  • e4cdc4c0dd
    Update release notes a bit on JSON request logging and unrealircd.org/issued-by [skip ci] Bram Matthys 2023-04-01 13:20:11 +0200
  • a83cd474af
    Change RPC logging format for rpc.RPC_CALL: From: [rpc] Client RPC:adminpanel (Syzop): RPC call channel.set_mode: channel='#test', modes='+b', parameters='some!silly@ban' To: [rpc] RPC call channel.set_mode by RPC:adminpanel (Syzop): channel='#test', modes='+b', parameters='some!silly@ban' Bram Matthys 2023-04-01 13:01:35 +0200
  • 1bf34ae01b
    Log parameters in rpc.RPC_CALL: [rpc] Client RPC:adminpanel (Syzop): RPC call channel.set_mode: channel='#test', modes='+b', parameters='some!silly@ban' Bram Matthys 2023-04-01 12:59:20 +0200
  • 2b39777815
    Logging: Log the issuer in rpc.RPC_CALL, when it is available. [rpc] Client RPC:adminpanel (Syzop): RPC call channel.set_mode Bram Matthys 2023-04-01 12:39:16 +0200
  • 7d7974f800
    Get rid of unneeded buffer copying, if Jansson library >= v2.1 Bram Matthys 2023-04-01 12:29:59 +0200