1
0
Fork 0
forked from External/ergo

master #2

Open
Failure wants to merge 133 commits from External:master into master
Owner
No description provided.
`pwd` is case sensitive on linux
Add missing `--name ergo`
Improve Docker "Persisting Data" Section
Fixes #2206
Add require-sasl support to KLINE / UBAN on NUH masks
tweaks to logging and NS PUSH LIST
fix download link
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.
fix buggy persistence of push timestamps
upgrade dependencies for v2.16 release cycle
We intended to suppress 324 and 329 when there is no valid mode change, only
unknown modes. Fix these checks.
minor refactoring
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).
fix #2215
The client's own QUIT line should respect server-time
fix #2218
See discussion at https://github.com/ircv3/ircv3-specifications/pull/556
add SAFERATE to 005
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.
Co-authored-by: Klaas Tammling <klaas@tammling.hamburg>
Bumps [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](https://github.com/golang-jwt/jwt/compare/v5.2.1...v5.2.2)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2
If the server is UTF8ONLY, validate that the MOTD is UTF8
Introduced by #2218, reported by knolle
See #2229
See #2229
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.
Allow publishing arbitrary ISUPPORT via the config file
* Limit the payload to 380 bytes instead of 400
* Don't translate the final parameter

This leaves about 60 bytes for the server name.
Fixes #1041 (support ed25519-sha256 for DKIM)
Fix #2244

Produce an explicit error on receiving the UTF-8 BOM
See #2248. Reported by @prdes
validate that CHATHISTORY limit parameters are nonnegative
* Clamp CHATHISTORY timestamp selectors to be in [0, MaxInt64]
* Convert everything to UTC up front (probably a no-op)
fix isupport batch name
Fix SAREGISTER creating always-on clients with no user modes.

Also fix UNREGISTER/ERASE not deleting the stored push subscriptions.
fix #2252
upgrade dependencies for 2.17 release cycle
clean up constant redefinition
Fixes #2257 and #2260

* add `/v1/status` endpoint
* add `/v1/account_list` endpoint
* add fields to `/v1/account_details` response
use strings.CutPrefix when possible
fix #2147
* 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>
REGISTER should strip the guest format when applicable, same as NS REGISTER.
fix #2270
Initial implementation of draft/metadata-2
* 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
fix some documentation
* 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.
Missed in #2281, needs a test presumably :-)
* 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
refactor makefile to label individual targets phony
upgrade to go 1.25
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.
fix validation of web push URLs
* Impose a throttle on OPER attempts regardless of whether they caused a
  password check.
* Never disconnect the client on a failed attempt, even if there was a
  password check.
* Change error numeric to ERR_NOOPERHOST
* Explicit information about the failure in the server log (copying Insp)

Fixes #2296.
Fixes #2292
changes to OPER command
configurable idle timeouts
more metadata follow-ups
Fix inconsistent behavior when history.enabled is set but
history.chathistory-maxmessages is not
* Upgrade the production image from 3.19 to 3.22 (3.19 went EOL
  2025-11-01)
* Downgrade the build image to 3.22 (3.23 is buggy, see #2305)
If bob is monitoring alice, bob should get METADATA lines for alice
even if bob doesn't have extended-monitor.

This implementation also removes the check for extended-monitor
when sending account-notify, away-notify, chghost, setname
(which are explicitly mentioned in the extended-monitor spec)
on the grounds that nothing bad will happen if clients who support
the cap receive notifications for users they're not explicitly tracking.
Validate bcrypt-cost config value to prevent silent errors
Makes it easier to read diffs with other database backends
Send a configurable NOTICE on first connection that hopm can
detect via target_string
REDACT without a reason parameter was being relayed with an
empty reason parameter instead; fix this.
* abstract history DB interface

* make mysql error logging consistent

Consistently propagate database errors to the client, making the client
responsible for logging them.

* move ListCorrespondents from Sequence to Database/Buffer
* Consistently return UNKNOWN_MSGID for unknown or invalid msgids
* If both client's DMs are stored in persistent history, a single
  server.DeleteMessage will delete the single canonical copy of the message.
  So the second call will fail, which is fine.
Validate user limit parameter
Rename the constants only; no functional change
This pull request has changes conflicting with the target branch.
  • default.yaml
  • go.mod
  • go.sum
  • irc/caps/defs.go
  • irc/client.go
  • irc/handlers.go
  • irc/mysql/history.go
  • irc/mysql/serialization.go
  • irc/server.go
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u master:External-master
git switch External-master

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff External-master
git switch External-master
git rebase master
git switch master
git merge --ff-only External-master
git switch External-master
git rebase master
git switch master
git merge --no-ff External-master
git switch master
git merge --squash External-master
git switch master
git merge --ff-only External-master
git switch master
git merge External-master
git push origin master
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
CEF/ergo!2
No description provided.