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.
2023-05-22 12:29:55 -04:00
Shivaram Lingamneni
eeec481b8d
tweaks to NAMES implementation ( #2058 )
...
* tweaks to NAMES implementation
* tweak member caching
* add a benchmark for NAMES
2023-04-14 02:15:56 -04:00
Shivaram Lingamneni
295a567eda
Merge pull request #2041 from mogad0n/killresponseupdate
...
Update response string when killing always on clients
2023-03-04 23:31:11 -08:00
Shivaram Lingamneni
db0910d82d
fix linter error
...
See #2052
2023-03-04 23:29:16 -08:00
Shivaram Lingamneni
eb83df420b
tweak KILL message
...
Remove `<no reason supplied>`, make default KILL anonymous
2023-02-27 03:34:38 -05:00
Shivaram Lingamneni
7c53b9430a
support implicit TLS for mail submission agents
...
Fixes #2048
2023-02-17 00:07:21 -05:00
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
2023-02-05 00:50:14 -05:00
Shivaram Lingamneni
fc89d72045
publish MSGREFTYPES 005 token
...
https://github.com/ircv3/ircv3-specifications/pull/510
2023-02-02 14:28:37 -05:00
0653f90b4f
update response when killing alwayson targets
2023-01-31 13:27:02 +05:30
Shivaram Lingamneni
abc71684f3
always validate UTF8 from websockets
2023-01-22 14:45:16 -05:00
Shivaram Lingamneni
9439e9b9e1
allow resizing the ws read buffer
2023-01-21 19:10:25 -05:00
Shivaram Lingamneni
5eaf7b37e5
reduce websocket read allocations
...
See #2037
2023-01-21 19:10:17 -05:00
Shivaram Lingamneni
4317016a09
Merge pull request #2028 from slingamn/channels_taketwo.1
...
refactor of channel persistence to use UUIDs
2023-01-15 08:01:37 -08:00
Shivaram Lingamneni
b2087977d0
Merge pull request #2032 from slingamn/scram.1
...
recommended default: advertise SCRAM
2023-01-15 04:16:28 -08:00
Shivaram Lingamneni
177133a96f
Merge pull request #2033 from slingamn/rehash
...
fix #2031
2023-01-15 04:13:53 -08:00
Shivaram Lingamneni
16e214e4fb
fix #2031
...
Sanitize the in-band error message from REHASH
2023-01-12 06:58:18 -05:00
Shivaram Lingamneni
46d32520c7
recommended default: advertise SCRAM
...
Fixes #1782
2023-01-11 09:21:47 -05:00
Shivaram Lingamneni
f72a6fa011
round wait times to the nearest millisecond
2023-01-08 06:36:04 -05:00
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.
2023-01-05 20:18:14 -05:00
Shivaram Lingamneni
7ce0636276
refactor of channel persistence to use UUIDs
2023-01-04 05:06:21 -05:00
Shivaram Lingamneni
bceae9b739
add standard-replies capability
2023-01-01 07:08:44 -08:00
Shivaram Lingamneni
f6f7315458
bump version for new development cycle
2022-12-25 03:17:21 -05:00
Shivaram Lingamneni
df8eef5b0a
bump version for stable release
2022-12-25 02:09:51 -05:00
William Rehwinkel
63c08ce537
Fix SAREGISTER short help in SAVERIFY command
2022-12-24 13:13:38 -05:00
Shivaram Lingamneni
d0c01301fd
update version number for v2.11.0-rc1
2022-12-18 00:25:50 -05:00
Shivaram Lingamneni
a052b82c78
don't reference SIGUSR1 on windows ( #2018 )
2022-12-18 00:15:55 -05:00
Shivaram Lingamneni
d17faf6bcb
fix #1975
...
Provide a nondestructive stack trace dump option even when the http pprof
listener is disabled
2022-12-10 22:15:37 -08:00
Shivaram Lingamneni
77de026961
persistence broadcast needs a cap check
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
898f84c613
update persistence spec link
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
ae1de2554e
add persistence broadcasting
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
893922afe0
don't report PERSISTENCE STATUS in reg burst for anonymous clients
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
99d27ff737
initial implementation of draft/persistence
2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
fa3de3e149
fix #1983
...
TAGMSG should not get automatic RPL_AWAY replies
2022-12-10 21:01:28 -08:00
Shivaram Lingamneni
825cdab67d
fix #1850
...
Add WHO responses for services
2022-12-02 07:23:29 -05:00
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.
2022-12-02 01:30:46 -05:00
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.
2022-11-30 04:10:47 -05:00
Shivaram Lingamneni
e20c983b57
fix #2002 ( #2003 )
...
* fix #2002
`CS AMODE #channel +f nickname` is invalid, but was being accepted
incorrectly.
* simplify logic
2022-11-06 14:41:29 -05:00
Valentin Lorentz
dd8073208c
Use ratified extended-monitor cap name
...
https://github.com/ircv3/ircv3-specifications/pull/508
2022-11-01 07:41:55 +01:00
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.
2022-09-11 04:09:26 -04:00
Shivaram Lingamneni
746309e386
replace some utils.Semaphore with (*sync.Mutex).TryLock
...
See #1994
2022-09-02 04:25:39 -04:00
Shivaram Lingamneni
7ad31497c2
exempt a configurable number of MARKREAD commands from fakelag
2022-08-22 23:23:17 -04:00
Shivaram Lingamneni
68bd2d87e0
fix #1991
...
WHO <nickname> should not respect +i
2022-08-22 23:03:17 -04:00
Shivaram Lingamneni
8ff5a048f3
Merge pull request #1989 from slingamn/atomic_uint64.1
...
use new aligned atomic types everywhere
2022-08-21 10:02:06 -07:00
df234b842e
uban list explicitly shows indefinite durations
2022-08-11 03:04:20 +05:30
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.
2022-08-10 02:47:39 -04:00
Shivaram Lingamneni
a99c8a42f9
remove utils.ConfigStore in favor of atomic.Pointer[T]
2022-08-03 00:59:00 -04:00
Shivaram Lingamneni
5b72cd8622
apply go1.19 gofmt
2022-08-03 00:54:50 -04:00
Shivaram Lingamneni
1d10eb934a
fix #1980
...
Sanitize ::1 to 0::1 in WHOX output
2022-07-14 21:53:36 -04:00
Shivaram Lingamneni
69448b13a1
fix #1969
...
On a 32-bit architecture, 64-bit atomic loads and stores must be aligned to a
64-bit boundary. Since the (mysql.MySQL) struct is directly included in the
Server struct, it is impossible to guarantee this via the standard technique
of putting the 64-bit value at the beginning of the struct definition
(since the point at which it is included in the parent struct may cross a
64-bit boundary).
This optimization is probably pointless anyway, adding an additional
indirection won't make a difference.
2022-06-10 10:35:56 -04:00
Shivaram Lingamneni
86f7668c68
set up new development version
2022-05-29 15:46:36 -04:00