Shivaram Lingamneni
2013beb7c8
fix #1997 (#2088)
* Fix #1997 (allow the use of an external file for the email blacklist)
* Change config key names for blacklist (compatibility break)
* Accept globs rather than regexes for blacklist by default
* Blacklist comparison is now case-insensitive
9 months ago
Shivaram Lingamneni
f77d430d25
use maps.Clone from go1.21
10 months ago
Shivaram Lingamneni
28d9a7ff63
use slices.Contains from go1.21
10 months ago
Shivaram Lingamneni
b3abd0bf1d
use slices.Reverse from go1.21
10 months ago
Shivaram Lingamneni
3f74612e2b
implement draft/no-implicit-names
10 months ago
Shivaram Lingamneni
75bd63d0bc
add channel autojoin feature
See discussion on #2077
1 year ago
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
1 year ago
Shivaram Lingamneni
99d27ff737
initial implementation of draft/persistence
1 year ago
Shivaram Lingamneni
fa3de3e149
fix #1983
TAGMSG should not get automatic RPL_AWAY replies
1 year 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