Shivaram Lingamneni
364d31e10c
implement the strict modern behavior
2019-05-29 14:51:09 -04:00
Shivaram Lingamneni
521d5bf50f
fix #380
...
Partially fixed earlier in #467
2019-05-29 14:40:56 -04:00
Shivaram Lingamneni
c0b554e98c
changes from discussion
2019-05-29 07:37:57 -04:00
Shivaram Lingamneni
acc9d8c13d
update to proposed draft/resume-0.5 behavior
2019-05-29 05:58:47 -04:00
Shivaram Lingamneni
71cc9a1adf
review fix
2019-05-29 05:50:33 -04:00
Shivaram Lingamneni
ef796f1b11
review fix
2019-05-29 05:06:40 -04:00
Shivaram Lingamneni
1a1d3ff89f
fix #410
2019-05-29 04:43:13 -04:00
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()
2019-05-28 04:56:56 -04:00
Shivaram Lingamneni
dee9740e68
add some testing
2019-05-27 16:10:10 -04:00
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
2019-05-27 15:51:28 -04:00
Shivaram Lingamneni
5ac7ea5b1c
fix data race on exitedSnomaskSent
2019-05-27 14:33:59 -04:00
Shivaram Lingamneni
1a7169d75d
fix double-destroy bug
2019-05-27 06:10:39 -04:00
Shivaram Lingamneni
74732c4aeb
new proposed format for RESUMED messages
2019-05-27 06:10:39 -04:00
Shivaram Lingamneni
57684fc1e5
fix #518
2019-05-27 06:10:39 -04:00
Shivaram Lingamneni
bc2e546de9
Merge pull request #522 from slingamn/confusable_service_names.1
...
check restricted nicknames against skeletons, more pedantically
2019-05-24 15:16:54 -04:00
Shivaram Lingamneni
ada710b807
fix #521
2019-05-24 13:33:49 -04:00
Shivaram Lingamneni
8794740f89
be more pedantic about distinguishing skeletons and casefolds
2019-05-24 13:09:56 -04:00
Chris Smith
a6164cd9c4
Check restricted nicknames against skeletons
...
Fixes #519
2019-05-24 17:01:56 +01:00
Shivaram Lingamneni
34925ce4a7
fix #516
2019-05-23 21:21:36 -04:00
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.
2019-05-23 21:20:14 -04:00
Shivaram Lingamneni
174115deb6
fix #455
2019-05-23 21:20:14 -04:00
Daniel Oaks
a27c46f983
Merge pull request #509 from slingamn/brb.5
...
implement draft/resume-0.4
2019-05-24 11:06:11 +10:00
Daniel Oaks
30914c564a
Merge pull request #513 from slingamn/issue511.1
...
fix #511
2019-05-24 10:59:53 +10:00
Shivaram Lingamneni
0835ad6af5
fix #514
...
Also ensure that people can remove their own persistent modes via CS AMODE
2019-05-23 18:33:41 -04:00
Shivaram Lingamneni
dcb3487566
fix #511
2019-05-23 01:32:43 -04:00
Shivaram Lingamneni
4b88a60ba6
clean up some old getters
2019-05-22 19:07:12 -04:00
Shivaram Lingamneni
05459012ef
move fakelag processing back to read loop as well
2019-05-22 18:35:24 -04:00
Shivaram Lingamneni
4e13f72ca9
put an upper limit on registration messages
...
Fixes #505
2019-05-22 16:42:25 -04:00
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`.
2019-05-22 16:42:25 -04:00
Shivaram Lingamneni
1de166bccb
eliminate client.Realname() getter
2019-05-22 16:10:56 -04:00
Shivaram Lingamneni
cf153c2b09
restore RESUME SUCCESS message
2019-05-22 15:08:02 -04:00
Shivaram Lingamneni
851617a4a5
Merge remote-tracking branch 'origin/master' into brb.5
2019-05-22 03:29:18 -04:00
Daniel Oaks
678c8606b6
Merge pull request #504 from slingamn/playback.4
...
support znc.in/playback
2019-05-22 15:38:39 +10:00
Shivaram Lingamneni
1121e3d320
fix #404
2019-05-22 01:18:22 -04:00
Shivaram Lingamneni
3d445573cf
implement draft/resume-0.4
2019-05-21 22:36:37 -04:00
Shivaram Lingamneni
a59212f8dc
send nickserv timeout warnings from a full pseudo-nickmask
2019-05-21 02:48:18 -04:00
Shivaram Lingamneni
f996e6bb87
review fix
2019-05-20 20:08:06 -04:00
Daniel Oaks
a1b30290e3
Merge pull request #503 from slingamn/acquire_timeout.1
...
add AcquireWithTimeout for semaphores
2019-05-21 09:46:57 +10:00
Shivaram Lingamneni
b96fdb2293
support znc.in/playback
2019-05-20 19:08:57 -04:00
Shivaram Lingamneni
dbf03d5c5e
add AcquireWithTimeout for semaphores
2019-05-20 16:48:13 -04:00
Shivaram Lingamneni
d5ebebaa5b
add uncommitted test file
2019-05-20 12:34:30 -04:00
Shivaram Lingamneni
38b228af6a
review fixes
2019-05-20 02:56:49 -04:00
Shivaram Lingamneni
f10ed05f86
fix a lock access in ResumeManager
2019-05-19 06:17:30 -04:00
Shivaram Lingamneni
8fc588375b
implement user preferences system
2019-05-19 06:17:30 -04:00
Shivaram Lingamneni
25974b6881
fix #487
2019-05-19 05:12:12 -04:00
Daniel Oaks
b8c9de5379
Make strings easier to understand
2019-05-17 13:41:32 +10:00
Shivaram Lingamneni
58d089020e
send command processing errors to the originating session only
2019-05-15 22:30:35 -04:00
Daniel Oaks
45fb9cade0
Merge pull request #491 from slingamn/munge
...
formalize token munging code
2019-05-16 12:20:14 +10:00
Daniel Oaks
9fbfee62d5
Update translations
2019-05-16 08:10:48 +10:00
Shivaram Lingamneni
7d53dd5d81
formalize token munging code
2019-05-15 16:17:13 -04:00
Shivaram Lingamneni
0346c23ae0
fix #387
2019-05-15 01:30:21 -04:00
Shivaram Lingamneni
ea70580adc
fix #488
2019-05-14 21:21:57 -04:00
Shivaram Lingamneni
8f0977f59e
human-readable times for NS SESSIONS
2019-05-13 02:24:58 -04:00
Shivaram Lingamneni
316d45917d
pass the correct quit message when a proxied client is banned
...
If you were banned and the ban was only detected when you proxied
(because you were proxying from a DLINE'd IP), you'd get an incorrect
quit message: `QUIT: Bad or unauthorized PROXY command`. This propagates
the correct ban message as the quit line.
2019-05-13 02:19:00 -04:00
Shivaram Lingamneni
89a50d772c
WHO should leave the client idle
...
Some clients seem to automatically poll for channel state
2019-05-13 00:43:29 -04:00
Shivaram Lingamneni
6ded2ea466
fix #483
2019-05-13 00:43:29 -04:00
Shivaram Lingamneni
0b55fed7c5
consolidate acceptClient into RunNewClient
2019-05-12 20:57:53 -04:00
Shivaram Lingamneni
80a594802f
remove more indirections
2019-05-12 20:57:53 -04:00
Shivaram Lingamneni
353aeb0389
normalize most times in the app to UTC
...
Fixes #480
2019-05-12 20:57:53 -04:00
Shivaram Lingamneni
13dda00989
Merge pull request #481 from slingamn/cloaks.5
...
implement ip cloaking
2019-05-12 20:23:45 -04:00
Shivaram Lingamneni
18cf816396
add a manual entry for cloaks
2019-05-12 19:19:36 -04:00
Shivaram Lingamneni
11076be0ee
review fixes
2019-05-12 16:26:23 -04:00
Shivaram Lingamneni
b8ca8ec852
fix #463
2019-05-12 04:50:43 -04:00
Shivaram Lingamneni
2451737f87
give cloaks their own package
2019-05-12 04:03:50 -04:00
Shivaram Lingamneni
79c730dd44
fix #429
2019-05-12 03:27:02 -04:00
Shivaram Lingamneni
f2eb2b05f2
fix #360
2019-05-12 03:25:02 -04:00
Shivaram Lingamneni
18aecfeed0
fix #362
2019-05-12 03:20:31 -04:00
Shivaram Lingamneni
c28e6d13f9
implement ip cloaking
2019-05-12 02:52:12 -04:00
Shivaram Lingamneni
5331afbdd4
Merge remote-tracking branch 'origin/master' into compat.4
2019-05-11 21:56:41 -04:00
Shivaram Lingamneni
15289bd7db
review fixes
2019-05-11 21:48:36 -04:00
Shivaram Lingamneni
c193def606
fix some issues found with staticcheck.io
2019-05-10 01:44:14 -04:00
Shivaram Lingamneni
ce6a3e42df
load isupport directly into the config object
...
eliminates Server.configurableStateMutex
2019-05-10 00:32:10 -04:00
Shivaram Lingamneni
61d666a25b
load motd directly into the config object
2019-05-10 00:13:48 -04:00
Shivaram Lingamneni
fbc6c84a01
add client compatibility switches
2019-05-09 15:41:08 -04:00
Shivaram Lingamneni
278e4acf57
fix handling of nil session in reattach code
2019-05-09 05:03:21 -04:00
Shivaram Lingamneni
08ebfb1676
fix redundant JOIN line
2019-05-09 03:57:02 -04:00
Shivaram Lingamneni
60c8f286e8
fix several session destruction bugs
2019-05-08 20:55:34 -04:00
Shivaram Lingamneni
da656c07c8
add NICKSERV SESSIONS command to list sessions
2019-05-08 18:18:05 -04:00
Shivaram Lingamneni
b11bf503e7
improvements to message replay code
2019-05-08 03:02:48 -04:00
Shivaram Lingamneni
2a7d734098
disallow AUTHENTICATE when already auth'ed
2019-05-07 23:32:51 -04:00
Shivaram Lingamneni
74afeaed55
tweaks to NAMES / WHO privacy
2019-04-28 21:20:18 -04:00
Shivaram Lingamneni
51465b4a3a
strip out the +a away mode
2019-04-28 15:12:48 -04:00
Shivaram Lingamneni
b9501722a9
remove all MODE +a / -a lines
...
as per discussion in #oragono, these are not sent by other servers
2019-04-28 14:52:15 -04:00
Shivaram Lingamneni
d6b22b925a
fix #468
2019-04-28 14:38:27 -04:00
Shivaram Lingamneni
d6c970f521
names should respect invisibility
2019-04-28 02:48:19 -04:00
Shivaram Lingamneni
30f6e11698
fix #400
...
Also fix some issues with STATUSMSG
2019-04-28 02:48:19 -04:00
Daniel Oaks
267c51bbbf
Review fix
2019-04-28 15:57:42 +10:00
Daniel Oaks
22ed6bb1f1
Detect cap-notify clients better (as recommended by cap spec)
2019-04-28 01:50:43 +10:00
Daniel Oaks
c84ef97b90
Make CAP version upgrading work as recommended by cap spec
2019-04-28 01:50:16 +10:00
Daniel Oaks
cb1de17ffc
Omit SASL cap when auth is disabled
2019-04-28 01:39:02 +10:00
Daniel Oaks
ab4f186673
Merge pull request #458 from slingamn/multisocket.11
...
minimum viable product for bouncer
2019-04-28 01:22:36 +10:00
Shivaram Lingamneni
97e71dfef7
extract Semaphore to utils package
2019-04-15 11:15:31 -04:00
Shivaram Lingamneni
fe6a520fa4
temporarily assign the client a nick during reattach
...
(So that the registration burst displays correctly)
2019-04-14 22:05:53 -04:00
Shivaram Lingamneni
4af783ed9e
fix #449
2019-04-14 20:48:50 -04:00
Shivaram Lingamneni
c2faeed4b5
initial implementation of bouncer functionality
2019-04-14 20:48:50 -04:00
Daniel Oaks
0b644065b7
Review and spec updates
2019-04-08 11:36:48 +10:00
Daniel Oaks
7bcba602ec
Don't check for * again, we handle that properly now
2019-04-08 10:54:52 +10:00
Daniel Oaks
8f47b3a6cf
Actually advertise the draft/acc capability lol
2019-04-08 10:42:17 +10:00
Daniel Oaks
4df71df454
Initial ACC update to match the new spec
2019-04-08 10:40:19 +10:00
Shivaram Lingamneni
a729772f0c
fix a deadlock in CS AMODE
2019-04-07 02:12:14 -04:00