Shivaram Lingamneni
ad3ad97047
upgrade to irc-go v0.4.0
1 year ago
Shivaram Lingamneni
0f39fde647
remove insecure reattach check
See #2013 ; given that plaintext is deprecated now, it seems like there is no
added value from continuing to police this.
1 year ago
Shivaram Lingamneni
f100c1d0fa
fix incorrect chathistory batch types
This was introduced in 38a6d17ee5
1 year ago
Shivaram Lingamneni
60af8ee491
clean up force-trailing logic
1 year ago
Shivaram Lingamneni
38a6d17ee5
clean up nested batch logic
1 year ago
Shivaram Lingamneni
d082ec7ab9
don't send multiline responses to CAP LS 301 (#2068)
* don't send multiline responses to CAP LS 301
This is more or less explicitly prohibited by the spec:
https://ircv3.net/specs/extensions/capability-negotiation.html#multiline-replies-to-cap-ls-and-cap-list
* switch to whitelist model to be future-proof
* bump irctest to include test
* add a unit test
1 year ago
Val Lorentz
48f8c341d7
Implement draft/message-redaction (#2065)
* Makefile: Add dependencies between targets
* Implement draft/message-redaction for channels
Permission to use REDACT mirrors permission for 'HistServ DELETE'
* Error when the given targetmsg does not exist
* gofmt
* Add CanDelete enum type
* gofmt
* Add support for PMs
* Fix documentation of allow-individual-delete.
* Remove 'TODO: add configurable fallback'
slingamn says it's probably not desirable, and I'm on the fence.
Out of laziness, let's omit it for now, as it's not a regression
compared to '/msg HistServ DELETE'.
* Revert "Makefile: Add dependencies between targets"
This reverts commit 2182b1da69 .
---------
Co-authored-by: Val Lorentz <progval+git+ergo@progval.net >
1 year ago
Shivaram Lingamneni
00cfe98461
fix #2066
CHATHISTORY TARGETS response should not be in a batch unless the client has
explicitly requested the batch cap.
1 year ago
Shivaram Lingamneni
e84793d7ee
fix #2063
In #2058 we introduced two bugs:
* A nil dereference when an outside user attempts to speak
* Ordinary copy of a modes.ModeSet (which should only be accessed via atomics)
This fixes both issues.
1 year ago
Shivaram Lingamneni
eeec481b8d
tweaks to NAMES implementation (#2058)
* tweaks to NAMES implementation
* tweak member caching
* add a benchmark for NAMES
1 year ago
Shivaram Lingamneni
db0910d82d
fix linter error
See #2052
1 year ago
Shivaram Lingamneni
eb83df420b
tweak KILL message
Remove `<no reason supplied>`, make default KILL anonymous
1 year ago
Shivaram Lingamneni
7c53b9430a
support implicit TLS for mail submission agents
Fixes #2048
1 year ago
Shivaram Lingamneni
1da11ae8ae
implement draft/pre-away (#2044)
* implement draft/pre-away
* clean up some subtleties in auto-away aggregation.
* consistently apply auto-away only to always-on
* `AWAY *` should not produce user-visible changes wherever possible
1 year ago
Shivaram Lingamneni
fc89d72045
publish MSGREFTYPES 005 token
https://github.com/ircv3/ircv3-specifications/pull/510
1 year ago
Pratyush Desai
0653f90b4f
update response when killing alwayson targets
1 year ago
Shivaram Lingamneni
abc71684f3
always validate UTF8 from websockets
1 year ago
Shivaram Lingamneni
9439e9b9e1
allow resizing the ws read buffer
1 year ago
Shivaram Lingamneni
5eaf7b37e5
reduce websocket read allocations
See #2037
1 year ago
Shivaram Lingamneni
16e214e4fb
fix #2031
Sanitize the in-band error message from REHASH
1 year ago
Shivaram Lingamneni
46d32520c7
recommended default: advertise SCRAM
Fixes #1782
1 year ago
Shivaram Lingamneni
f72a6fa011
round wait times to the nearest millisecond
1 year ago
Shivaram Lingamneni
3ceff6a8b1
make ReloadableListener lock-free
Also stop attaching the *tls.Config to the wrapped connection,
since this forces it to be retained beyond its natural lifetime.
1 year ago
Shivaram Lingamneni
7ce0636276
refactor of channel persistence to use UUIDs
1 year ago
Shivaram Lingamneni
bceae9b739
add standard-replies capability
1 year ago
Shivaram Lingamneni
f6f7315458
bump version for new development cycle
1 year ago
Shivaram Lingamneni
df8eef5b0a
bump version for stable release
1 year ago
William Rehwinkel
63c08ce537
Fix SAREGISTER short help in SAVERIFY command
1 year ago
Shivaram Lingamneni
d0c01301fd
update version number for v2.11.0-rc1
1 year ago
Shivaram Lingamneni
a052b82c78
don't reference SIGUSR1 on windows (#2018)
1 year ago
Shivaram Lingamneni
d17faf6bcb
fix #1975
Provide a nondestructive stack trace dump option even when the http pprof
listener is disabled
1 year ago
Shivaram Lingamneni
77de026961
persistence broadcast needs a cap check
1 year ago
Shivaram Lingamneni
898f84c613
update persistence spec link
1 year ago
Shivaram Lingamneni
ae1de2554e
add persistence broadcasting
1 year ago
Shivaram Lingamneni
893922afe0
don't report PERSISTENCE STATUS in reg burst for anonymous clients
2 years ago
Shivaram Lingamneni
99d27ff737
initial implementation of draft/persistence
2 years ago
Shivaram Lingamneni
fa3de3e149
fix #1983
TAGMSG should not get automatic RPL_AWAY replies
2 years ago
Shivaram Lingamneni
825cdab67d
fix #1850
Add WHO responses for services
1 year ago
Shivaram Lingamneni
35b5613349
re-add draft/CHATHISTORY 005
Kiwi expects it due to https://github.com/kiwiirc/kiwiirc/pull/1244 , but
the corresponding spec change only altered the cap name, not the 005 name.
1 year ago
Shivaram Lingamneni
e40f550af8
fix CHATHISTORY 005 token name
Unclear where we got draft/CHATHISTORY from, it looks like the merged drafts
have always used unprefixed CHATHISTORY as the token name.
1 year ago
Shivaram Lingamneni
e20c983b57
fix #2002 (#2003)
* fix #2002
`CS AMODE #channel +f nickname` is invalid, but was being accepted
incorrectly.
* simplify logic
1 year ago
Valentin Lorentz
dd8073208c
Use ratified extended-monitor cap name
https://github.com/ircv3/ircv3-specifications/pull/508
1 year ago
Shivaram Lingamneni
4e0d2d65e8
fix #1996
According to the de facto standard, `AWAY :\r\n` is equivalent to `AWAY\r\n`.
Our behavior was inconsistent before, now it consistently matches the de facto
standard.
1 year ago
Shivaram Lingamneni
746309e386
replace some utils.Semaphore with (*sync.Mutex).TryLock
See #1994
1 year ago
Shivaram Lingamneni
7ad31497c2
exempt a configurable number of MARKREAD commands from fakelag
1 year ago
Shivaram Lingamneni
68bd2d87e0
fix #1991
WHO <nickname> should not respect +i
1 year ago
Pratyush Desai
df234b842e
uban list explicitly shows indefinite durations
1 year ago
Shivaram Lingamneni
35128bfc23
use new aligned atomic types everywhere
See 69448b13a1 / #1969 ; the compiler can now ensure that a uint64
intended for atomic access is always aligned to a 64-bit boundary.
Convert atomic operations on uint32s and pointers as well.
1 year ago
Shivaram Lingamneni
a99c8a42f9
remove utils.ConfigStore in favor of atomic.Pointer[T]
1 year ago
Shivaram Lingamneni
5b72cd8622
apply go1.19 gofmt
1 year ago