Shivaram Lingamneni
57821c865a
bump version to 1.1.0
5 vuotta sitten
Shivaram Lingamneni
24c46235a3
remove m -> rn skeleton mapping again
5 vuotta sitten
Shivaram Lingamneni
b075ea6eb9
use regular Skeleton instead of SkeletonTweaked
dan: "I probably wouldn't expect those mappings to cause much
trouble at all for legitimate users at the end of the day"
shivaram: [concurs]
5 vuotta sitten
Shivaram Lingamneni
5d0b8390e9
refactor listener config loading
5 vuotta sitten
Shivaram Lingamneni
6e9a31a574
use confusables.SkeletonTweaked to fix the test
5 vuotta sitten
Shivaram Lingamneni
f17777995b
add a new test
5 vuotta sitten
Shivaram Lingamneni
be4d098945
fix an edge case in skeletonization
'm' skeletonizes to 'rn' (but is exempted by the isBoring check),
but the fullwidth 'm' does not skeletonize to anything. The root cause
of this is the (still unexplained) patchiness of the skeleton mapping
for fullwidth -> standard-width Latin characters; the fix is to perform
width mapping first, before either skeletonization or isBoring.
5 vuotta sitten
Shivaram Lingamneni
8dca545264
consolidate some time-setting code
5 vuotta sitten
Shivaram Lingamneni
34f11ddb97
implement draft/labeled-response-0.2
5 vuotta sitten
Shivaram Lingamneni
60d5586099
bump to 1.1.0-rc1
5 vuotta sitten
Shivaram Lingamneni
321c437499
fix #536
5 vuotta sitten
Shivaram Lingamneni
4350b92bef
fix KILL etc. for BRB'ed clients
5 vuotta sitten
Shivaram Lingamneni
3b71be3bf0
fix #537
5 vuotta sitten
Shivaram Lingamneni
364d31e10c
implement the strict modern behavior
5 vuotta sitten
Shivaram Lingamneni
521d5bf50f
fix #380
Partially fixed earlier in #467
5 vuotta sitten
Shivaram Lingamneni
c0b554e98c
changes from discussion
5 vuotta sitten
Shivaram Lingamneni
acc9d8c13d
update to proposed draft/resume-0.5 behavior
5 vuotta sitten
Shivaram Lingamneni
71cc9a1adf
review fix
5 vuotta sitten
Shivaram Lingamneni
ef796f1b11
review fix
5 vuotta sitten
Shivaram Lingamneni
1a1d3ff89f
fix #410
5 vuotta sitten
Shivaram Lingamneni
b134a63dc2
simplify "client dead" logic in AddSession
now that we have client.destroyed again, we don't need to test the
"0 sessions && brb disabled" condition in both AddSession() and
destroy()
5 vuotta sitten
Shivaram Lingamneni
dee9740e68
add some testing
5 vuotta sitten
Shivaram Lingamneni
9fe65223db
fix #527
Use []uint32 in bitset instead of []uint64, because it's harder to guarantee
64-bit alignment of []uint64 than I had realized:
https://go101.org/article/memory-layout.html
5 vuotta sitten
Shivaram Lingamneni
5ac7ea5b1c
fix data race on exitedSnomaskSent
5 vuotta sitten
Shivaram Lingamneni
1a7169d75d
fix double-destroy bug
5 vuotta sitten
Shivaram Lingamneni
74732c4aeb
new proposed format for RESUMED messages
5 vuotta sitten
Shivaram Lingamneni
57684fc1e5
fix #518
5 vuotta sitten
Shivaram Lingamneni
ada710b807
fix #521
5 vuotta sitten
Shivaram Lingamneni
8794740f89
be more pedantic about distinguishing skeletons and casefolds
5 vuotta sitten
Chris Smith
a6164cd9c4
Check restricted nicknames against skeletons
Fixes #519
5 vuotta sitten
Shivaram Lingamneni
34925ce4a7
fix #516
5 vuotta sitten
Shivaram Lingamneni
99de53264e
fix a bug in SetQuitMessage
Quit messages aren't supposed to clobber each other under any
circumstances, but actually only the default "Connection closed"
message was non-clobbering, all others would clobber.
5 vuotta sitten
Shivaram Lingamneni
174115deb6
fix #455
5 vuotta sitten
Shivaram Lingamneni
0835ad6af5
fix #514
Also ensure that people can remove their own persistent modes via CS AMODE
5 vuotta sitten
Shivaram Lingamneni
dcb3487566
fix #511
5 vuotta sitten
Shivaram Lingamneni
4b88a60ba6
clean up some old getters
5 vuotta sitten
Shivaram Lingamneni
05459012ef
move fakelag processing back to read loop as well
5 vuotta sitten
Shivaram Lingamneni
4e13f72ca9
put an upper limit on registration messages
Fixes #505
5 vuotta sitten
Shivaram Lingamneni
0af0a0b445
fix a race condition
Setting `closed` on the socket (which can mean either "the socket is broken"
or "we should close the socket at the next opportunity") was racing against
the final write. Even if socket.closed is true, we should attempt to send
buffered message data to the socket, before we send the `finalData` and
actually call `Close`.
5 vuotta sitten
Shivaram Lingamneni
1de166bccb
eliminate client.Realname() getter
5 vuotta sitten
Shivaram Lingamneni
cf153c2b09
restore RESUME SUCCESS message
5 vuotta sitten
Shivaram Lingamneni
1121e3d320
fix #404
5 vuotta sitten
Shivaram Lingamneni
3d445573cf
implement draft/resume-0.4
5 vuotta sitten
Shivaram Lingamneni
a59212f8dc
send nickserv timeout warnings from a full pseudo-nickmask
5 vuotta sitten
Shivaram Lingamneni
f996e6bb87
review fix
5 vuotta sitten
Shivaram Lingamneni
b96fdb2293
support znc.in/playback
5 vuotta sitten
Shivaram Lingamneni
dbf03d5c5e
add AcquireWithTimeout for semaphores
5 vuotta sitten
Shivaram Lingamneni
d5ebebaa5b
add uncommitted test file
5 vuotta sitten
Shivaram Lingamneni
38b228af6a
review fixes
5 vuotta sitten
Shivaram Lingamneni
f10ed05f86
fix a lock access in ResumeManager
5 vuotta sitten