Shivaram Lingamneni
6b8265fb17
fix validation of web push URLs
...
They are validated by test message, but it would have been possible
to add an http url.
If an http url was added, it's still possible to remove it via
NS PUSH DELETE.
2025-10-26 00:55:30 -04:00
Shivaram Lingamneni
92f069846c
Merge pull request #2290 from slingamn/goupgrade
...
upgrade to go 1.25
2025-08-17 21:11:02 -07:00
Shivaram Lingamneni
8913bd7fa9
upgrade to go 1.25
2025-08-18 00:07:11 -04:00
Shivaram Lingamneni
064291e902
add an explicit note covering #2289
2025-08-12 16:23:36 -04:00
Shivaram Lingamneni
65295cbafa
Merge pull request #2283 from slingamn/makefile
...
refactor makefile to label individual targets phony
2025-06-26 22:17:06 -04:00
Shivaram Lingamneni
f0b1f34da7
refactor makefile to label individual targets phony
2025-06-26 22:14:19 -04:00
Shivaram Lingamneni
f918e28513
bump irctest
2025-06-26 01:31:51 -04:00
Shivaram Lingamneni
8798676ae9
update metadata corresponding to spec edits ( #2282 )
...
* spec update: metadata keys are lowercase
* add batch parameter to metadata batches
* fix: connecting clients receive METADATA, not RPL_KEYVALUE
* spec update: send RPL_METADATASUBS in a metadata-subs batch
* move some helpers
* bump irctest to forked hash
This is https://github.com/progval/irctest/pull/314 but I don't want to
couple the merges
* fix: empty value is valid
* fix: deleting a nonexistent key gets a FAIL
2025-06-22 18:59:42 -04:00
Shivaram Lingamneni
cca400de73
fix: actually broadcast prereg updates to subscribers
...
Missed in #2281 , needs a test presumably :-)
2025-06-22 13:59:36 -04:00
Shivaram Lingamneni
73e51333ad
implement metadata before-connect ( #2281 )
...
* metadata spec update: disallow colon entirely
* refactor key validation
* implement metadata before-connect
* play the metadata in reg burst to all clients with the cap
* bump irctest
* remove all case normalization for keys
From spec discussion, we will most likely either require keys to be lowercase,
or else treat them as case-opaque, similar to message tag keys.
2025-06-22 13:57:46 -04:00
Shivaram Lingamneni
a5e435a26b
bump irctest
2025-06-21 22:04:33 -04:00
Shivaram Lingamneni
17ed01c1ed
Merge pull request #2279 from slingamn/doc
...
fix some documentation
2025-06-19 13:29:08 -04:00
Shivaram Lingamneni
8f18454e8f
fix help string for HISTORY
2025-06-19 13:25:34 -04:00
Shivaram Lingamneni
23844d4103
update documentation for globalUtf8EnforcementSetting
2025-06-19 13:22:07 -04:00
Shivaram Lingamneni
3b7db7fff7
round 1 of follow-up for metadata ( #2277 )
...
* refactoring
* send an empty batch if necessary, as per spec
* don't broadcast no-op updates
* don't trim spaces before validating the key
* bump irctest to cover metadata
* replay existing metadata to reattaching always-on clients
* use canonicalized name everywhere
* use utils.SafeErrorParam in FAIL lines
* validate key names for sub
* fix error for METADATA CLEAR
* max-keys is enforced for channels as well
* remove unlimited configurations
* maintain the limit exactly without off-by-one cases
* add final channel registration check
2025-06-18 00:22:49 -04:00
thatcher-gaming
4dcbc48159
metadata-2 ( #2273 )
...
Initial implementation of draft/metadata-2
2025-06-15 04:06:45 -04:00
Shivaram Lingamneni
0f5603eca2
bump irctest to upstream master
2025-06-09 02:20:49 -04:00
Shivaram Lingamneni
7d4f5e4adf
Merge pull request #2271 from slingamn/register
...
fix #2270
2025-06-09 02:19:55 -04:00
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 )
...
* 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
7828218bc7
Merge pull request #2264 from slingamn/cutprefix
...
fix #2147
2025-05-26 01:56:06 -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 )
...
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
4da6511674
Merge pull request #2262 from slingamn/constant
...
clean up constant redefinition
2025-05-23 00:36:46 -04:00
Shivaram Lingamneni
253972a9d2
clean up constant redefinition
2025-05-23 00:18:36 -04:00
Shivaram Lingamneni
a1c46a4be7
clarify channel registration instructions
2025-05-19 00:02:04 -04:00
Shivaram Lingamneni
7718081440
Merge pull request #2258 from slingamn/deps
...
upgrade dependencies for 2.17 release cycle
2025-05-18 02:07:40 -04:00
Shivaram Lingamneni
e7501ef847
upgrade go-msgauth
2025-05-18 01:28:48 -04:00
Shivaram Lingamneni
e404942d83
upgrade x dependencies
2025-05-18 01:27:52 -04:00
Shivaram Lingamneni
0a947115d6
set up new development version
2025-05-18 01:15:11 -04:00
Shivaram Lingamneni
9b9c39ddd4
changelog entry for API config
2025-05-18 01:09:13 -04:00
Shivaram Lingamneni
e200e9fd8f
bump version and changelog for v2.16.0
v2.16.0
2025-05-18 00:37:21 -04:00
Shivaram Lingamneni
66a7a488b7
bump version and changelog for v2.16.0-rc1 ( #2255 )
v2.16.0-rc1
2025-05-11 01:07:13 -04:00
Shivaram Lingamneni
28ed16261c
Merge pull request #2254 from ergochat/shivaram_alwaysonbug.1
...
fix #2252
2025-05-08 00:14:51 -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
808799b100
Merge pull request #2253 from slingamn/batchname
...
fix isupport batch name
2025-05-01 22:18:08 -04:00
Shivaram Lingamneni
e382036ddb
fix isupport batch name
2025-05-01 14:43:06 -04:00
Shivaram Lingamneni
43fe72f83e
clean up redundant caching ( #2251 )
2025-04-28 00:52:40 -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 )
...
* 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
2cf569c5d9
Merge pull request #2249 from slingamn/targetspanic
...
validate that CHATHISTORY limit parameters are nonnegative
2025-04-24 23:37:32 -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 )
...
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 )
...
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 )
...
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
f5bb5afdd6
bump CI to noble ( #2235 )
2025-03-30 02:48:51 -04:00