Shivaram Lingamneni
16568c5ab7
fix #2270
...
REGISTER should strip the guest format when applicable, same as NS REGISTER.
2025-06-08 16:50:34 -04:00
Shivaram Lingamneni
9a186f8e54
Fix invalid FAIL codes in REGISTER ( #2269 )
...
build / build (push) Waiting to run
ghcr / Build (push) Waiting to run
* nickserv.go: Update FAIL codes to match spec
* handlers.go: Fix FAIL code
* use ACCOUNT_EXISTS for errNameReserved
* bump irctest to development version
---------
Co-authored-by: Valerie Liu <79415174+ValwareIRC@users.noreply.github.com>
2025-06-08 01:43:43 -04:00
Shivaram Lingamneni
7138e76151
fix #2147
...
use strings.CutPrefix when possible
2025-05-25 01:59:55 -04:00
Sarah Rose
e4aac56bda
API enhancements ( #2261 )
...
build / build (push) Waiting to run
ghcr / Build (push) Waiting to run
Fixes #2257 and #2260
* add `/v1/status` endpoint
* add `/v1/account_list` endpoint
* add fields to `/v1/account_details` response
2025-05-25 00:47:20 -04:00
Shivaram Lingamneni
253972a9d2
clean up constant redefinition
2025-05-23 00:18:36 -04:00
Shivaram Lingamneni
0a947115d6
set up new development version
2025-05-18 01:15:11 -04:00
Shivaram Lingamneni
e200e9fd8f
bump version and changelog for v2.16.0
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
2025-05-18 00:37:21 -04:00
Shivaram Lingamneni
66a7a488b7
bump version and changelog for v2.16.0-rc1 ( #2255 )
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
2025-05-11 01:07:13 -04:00
Shivaram Lingamneni
686ce4d5b2
fix #2252
...
Fix SAREGISTER creating always-on clients with no user modes.
Also fix UNREGISTER/ERASE not deleting the stored push subscriptions.
2025-05-07 22:09:08 -04:00
Shivaram Lingamneni
e382036ddb
fix isupport batch name
2025-05-01 14:43:06 -04:00
Shivaram Lingamneni
4ab1a10eec
clean up redundant caching
2025-04-28 00:29:40 -04:00
Shivaram Lingamneni
54b17b0700
improve robustness of timestamp parsing ( #2250 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
* Clamp CHATHISTORY timestamp selectors to be in [0, MaxInt64]
* Convert everything to UTC up front (probably a no-op)
2025-04-24 23:37:48 -04:00
Shivaram Lingamneni
a4194c38d8
validate that CHATHISTORY limit parameters are nonnegative
...
See #2248 . Reported by @prdes
2025-04-24 12:33:53 -04:00
Shivaram Lingamneni
5bab190d33
fix #2244 ( #2247 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
Fix #2244
Produce an explicit error on receiving the UTF-8 BOM
2025-04-21 22:37:53 -04:00
Shivaram Lingamneni
68cee9e2cd
use emersion/go-msgauth for DKIM ( #2242 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
Fixes #1041 (support ed25519-sha256 for DKIM)
2025-04-07 00:24:08 -04:00
Shivaram Lingamneni
9c3173f573
safer 005 length limits ( #2241 )
...
* Limit the payload to 380 bytes instead of 400
* Don't translate the final parameter
This leaves about 60 bytes for the server name.
2025-04-06 02:59:03 -04:00
Shivaram Lingamneni
98e04c10a8
fix #2220 ( #2240 )
...
Allow publishing arbitrary ISUPPORT via the config file
2025-04-06 01:41:03 -04:00
Shivaram Lingamneni
a6df370bd9
block HTTP DoS attacks ( #2239 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
Block uses of the JS Fetch API to send HTTP message bodies that are also valid
IRC. The constraint on such messages is that they must begin with a valid HTTP
verb; we can detect this and reject them immediately.
2025-03-30 21:33:06 -04:00
Shivaram Lingamneni
9791606f62
allow customizing the NPC and SCENE nickmasks ( #2237 )
...
See #2229
2025-03-30 21:32:55 -04:00
Shivaram Lingamneni
7256d83ff0
implement command aliases ( #2236 )
...
See #2229
2025-03-30 21:32:37 -04:00
Shivaram Lingamneni
19dbe10c99
fix panic on KILL ( #2234 )
...
build / build (push) Waiting to run
ghcr / Build (push) Waiting to run
Introduced by #2218 , reported by knolle
2025-03-26 21:21:05 -04:00
Shivaram Lingamneni
467df24914
fix #2228 ( #2233 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
If the server is UTF8ONLY, validate that the MOTD is UTF8
2025-03-22 23:13:31 -04:00
Shivaram Lingamneni
ea81ec86e1
MVP for HTTP API ( #2231 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
Co-authored-by: Klaas Tammling <klaas@tammling.hamburg>
2025-03-18 23:13:03 -04:00
Shivaram Lingamneni
4bcd008416
fix CHATHISTORY TARGETS from MySQL backend using server local TZ ( #2224 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
time.Unix() returns a time.Time with the Location populated to the server's
timezone. Such times will format incorrectly with IRCv3TimestampFormat unless
they are manually converted to UTC.
2025-03-17 02:22:25 -04:00
Shivaram Lingamneni
23b65e225b
add SAFERATE to 005
...
See discussion at https://github.com/ircv3/ircv3-specifications/pull/556
2025-03-06 13:30:17 -05:00
Shivaram Lingamneni
ec3417be79
fix #2218
...
The client's own QUIT line should respect server-time
2025-02-16 01:33:24 -05:00
Shivaram Lingamneni
7e18362d35
upgrade to go 1.24 ( #2217 )
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
2025-02-12 21:15:21 -05:00
Shivaram Lingamneni
d50f1471eb
fix #2215
...
Hide the message-redaction capability if allow-individual-delete is disabled.
(Technically REDACT can still be used, but only by ircops, so advertising it
is misleading in the most common case).
2025-02-06 01:36:02 -05:00
Shivaram Lingamneni
e1b5a05c27
refactor service help sorting
2025-02-05 00:47:23 -05:00
Shivaram Lingamneni
a850602bcc
refactor 005 token generation
2025-02-05 00:47:23 -05:00
Shivaram Lingamneni
d1126b53eb
return constant strings in 004/005
2025-02-05 00:47:23 -05:00
Shivaram Lingamneni
4851825d4f
use slices.SortFunc for modes
2025-02-05 00:47:23 -05:00
Shivaram Lingamneni
8fa6e19c2e
fix #2213
...
We intended to suppress 324 and 329 when there is no valid mode change, only
unknown modes. Fix these checks.
2025-02-03 21:35:51 -05:00
Shivaram Lingamneni
07669f9eb4
remove hashset from mode parsing
2025-02-03 21:29:34 -05:00
Shivaram Lingamneni
4dfb7cc7ae
use slices.Contains in irc/modes
2025-02-03 21:29:34 -05:00
Shivaram Lingamneni
b6a8cc20c2
add conn ID to SASL auth logline
2025-02-03 21:29:34 -05:00
Shivaram Lingamneni
e60afda556
set up new development version
build / build (push) Waiting to run
ghcr / Build (push) Waiting to run
2025-01-26 00:55:31 -05:00
Shivaram Lingamneni
c92f23b0cb
bump version and changelog for v2.15.0
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
2025-01-25 22:55:19 -05:00
Shivaram Lingamneni
7b71839615
fix buggy persistence of push timestamps
...
getPushSubscriptions() could have a stale view of the latest subscription
renewal and successful push times. We don't want to rebuild on every renewal
or every push, so add a boolean refresh argument that controls rebuilding.
2025-01-16 00:06:11 -05:00
Shivaram Lingamneni
799e1b14f4
delete services debug line
2025-01-15 22:12:40 -05:00
Shivaram Lingamneni
2163d96348
add connID to another logline
2025-01-15 22:12:40 -05:00
Shivaram Lingamneni
e520ba7e0e
list push subscription times as well
2025-01-15 22:12:40 -05:00
Shivaram Lingamneni
92e2aa987e
move debug log ID within NS CLIENTS LIST output
2025-01-15 22:12:40 -05:00
Shivaram Lingamneni
ab2d842b27
changelog and version updates for v2.15.0-rc1 ( #2209 )
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
2025-01-13 22:57:04 -05:00
Shivaram Lingamneni
21ee867ebb
fix #2198 ( #2199 )
...
Add require-sasl support to KLINE / UBAN on NUH masks
2025-01-13 22:20:47 -05:00
Shivaram Lingamneni
36e5451aa5
implement draft/webpush ( #2205 )
2025-01-13 21:47:21 -05:00
Shivaram Lingamneni
efd3764337
add unique connection ID to debug logs ( #2207 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
Fixes #2206
2025-01-11 23:07:04 -05:00
Shivaram Lingamneni
eddd4cc723
fix incorrect batch parameter in draft/extended-isupport ( #2197 )
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
2024-10-26 22:11:20 -04:00
Shivaram Lingamneni
726d997d07
advertise SAFELIST ( #2196 )
...
build / build (push) Has been cancelled
ghcr / Build (push) Has been cancelled
LIST is implemented via blocking (*ResponseBuffer).Send, so it can never
exceed the sendq limit.
2024-10-06 12:11:34 -04:00
Shivaram Lingamneni
7586520032
implement draft/extended-isupport ( #2184 )
2024-09-27 00:40:56 -04:00