3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-12-23 03:02:48 +01:00
Commit Graph

1281 Commits

Author SHA1 Message Date
Shivaram Lingamneni
3b71be3bf0 fix #537 2019-05-30 05:40:18 -04:00
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
Daniel Oaks
8c7027c604
Merge pull request #446 from slingamn/chanregrefactor.6
refactor channel registration
2019-04-04 21:59:25 +10:00
Shivaram Lingamneni
42dca34c1f ensure each target sees distinct msgids 2019-03-19 05:51:33 -04:00
Shivaram Lingamneni
18a8b075ea fix #425 and #395 2019-03-19 04:40:48 -04:00
Shivaram Lingamneni
63149e754a update registeredChannels cache on rename as well 2019-03-14 03:21:45 -04:00
Shivaram Lingamneni
8a11768c6a disallow squatting a registered channel name via RENAME 2019-03-12 05:02:31 -04:00
Shivaram Lingamneni
63029e2ff5 refactor channel registration 2019-03-12 04:16:16 -04:00
Shivaram Lingamneni
26cddf2f59 fix a regression introduced by #444 2019-03-11 18:58:28 -04:00
Daniel Oaks
baa7e5af0b
Merge pull request #442 from slingamn/message_tags.5
upgrade message-tags to non-draft version
2019-03-12 08:47:08 +10:00
Daniel Oaks
64bf4a10c6
Merge pull request #444 from slingamn/issue300.1
fix #300
2019-03-12 08:41:10 +10:00
Shivaram Lingamneni
713df3a34d fix #300
Also upgrade RENAME to latest draft specification
2019-03-11 07:03:51 -04:00
Shivaram Lingamneni
2e88f82e41 remove indirections in Fakelag and NickTimer 2019-03-08 05:36:54 -05:00
Shivaram Lingamneni
85493ef031 upgrade message-tags to non-draft version 2019-03-07 04:31:08 -05:00
Shivaram Lingamneni
12e3ca9b4d work around a Tor bug
https://bugs.torproject.org/29665 describes how single-onion circuits
will close unless the client sends data every 60 seconds. To cause the
client to send these messages, have Oragono send the client a PING every
30 seconds.
2019-03-05 22:10:30 -05:00
Shivaram Lingamneni
18169cbedf disallow resume from tor to non-tor 2019-02-26 16:39:10 -05:00
Shivaram Lingamneni
5f26023d88 Merge remote-tracking branch 'origin/master' into tor.2 2019-02-26 14:46:15 -05:00
Daniel Oaks
9ec4f76c60
Merge pull request #405 from slingamn/language_loading.2
fix #384
2019-02-26 21:14:43 +10:00
Shivaram Lingamneni
d13f58acf0 review fixes 2019-02-25 22:56:08 -05:00
Shivaram Lingamneni
b0f89062fa add support for tor (#369) 2019-02-25 22:09:09 -05:00
Shivaram Lingamneni
d43ce07b66 consume resume token during VerifyToken
Independently of this, ClientLookupSet.Resume ensures that at most one
resume can succeed, so this doesn't actually change the behavior.
But ResumeManager should be a standalone example of how to implement
resume without race conditions.
2019-02-24 21:07:12 -05:00
Shivaram Lingamneni
7018e3693b optimization: check IsLoggingRawIO before attempting to log input 2019-02-24 21:07:12 -05:00
Shivaram Lingamneni
f790a910cd change the b32 alphabet for absolutely no reason 2019-02-24 21:07:12 -05:00
Shivaram Lingamneni
0d2cf21cec clean something up in ApplyProxiedIP 2019-02-24 21:07:12 -05:00
Daniel Oaks
1dbe01b09a
Merge pull request #416 from oragono/master+tlchanges
Improve translations
2019-02-24 17:57:26 +10:00
Shivaram Lingamneni
a4a143ef56 new unreleased version 2019-02-24 02:19:50 -05:00
Daniel Oaks
f396003ec9 Release v1.0.0 2019-02-24 17:02:04 +10:00
Daniel Oaks
7e6e7742f9 Band-aid NS REGISTER fix 2019-02-23 21:27:19 +10:00
Daniel Oaks
d738688b2a Simplify NS GROUP help text 2019-02-22 12:53:01 +10:00
Daniel Oaks
6d109e92a5 Fix dodgy TL strings to make them easier to translate 2019-02-22 12:37:11 +10:00
Shivaram Lingamneni
baa2c3b581 send the response line to NICK via the response buffer 2019-02-20 22:20:23 -05:00
Shivaram Lingamneni
bbd99b655a A labeled command that has 0 response lines should receive an empty batch
See discussion on #391.
2019-02-20 21:40:25 -05:00
Shivaram Lingamneni
c6b9fe0218 fix #384 2019-02-19 03:12:47 -05:00
Shivaram Lingamneni
fcef121aac bump oragono version to 1.0.0-rc1 2019-02-18 03:35:14 -05:00
Shivaram Lingamneni
29c6db593a fix missing Unescape call 2019-02-17 22:59:13 -05:00
Shivaram Lingamneni
729d4b377c revised string from discussion on ticket 2019-02-17 22:47:41 -05:00
Shivaram Lingamneni
a211ddfcdb work around znc's broken nickserv support 2019-02-17 21:29:04 -05:00
Daniel Oaks
09909e3b3d
Merge pull request #396 from slingamn/issue394
fix #394
2019-02-18 10:24:35 +10:00
Daniel Oaks
7cf8aaccf6
Merge pull request #352 from slingamn/chanreglimit.1
track channel registrations per account
2019-02-18 07:08:57 +10:00
Daniel Oaks
c604638b7c
Merge pull request #386 from slingamn/regenabled
allow SAREGISTER even when normal registration is fully disabled
2019-02-18 07:08:04 +10:00
Shivaram Lingamneni
a5b9634783 fix #394 2019-02-17 14:29:04 -05:00
Shivaram Lingamneni
344a1d7e48 fix #392 2019-02-17 06:51:48 -05:00
Shivaram Lingamneni
a5f04495a1 fix #389 2019-02-15 13:34:09 -05:00
Shivaram Lingamneni
d147708158 allow SAREGISTER even when normal registration is fully disabled 2019-02-14 20:42:02 -05:00
Shivaram Lingamneni
754934b429 unregister should boot clients if sasl is required 2019-02-14 15:42:07 -05:00
Shivaram Lingamneni
9ce1d31b90 fix HS STATUS for logged-out users 2019-02-14 15:08:45 -05:00
Shivaram Lingamneni
519d19c364 fix #364 2019-02-13 16:48:26 -05:00
Daniel Oaks
a273ef624c
Merge pull request #377 from slingamn/kickfail
fix another three bugs that were reported today
2019-02-14 07:23:56 +10:00
Shivaram Lingamneni
c019fa3ab2 fix #375 2019-02-13 15:48:15 -05:00
Shivaram Lingamneni
e2e07c0eee fix #374 2019-02-13 15:09:23 -05:00
Shivaram Lingamneni
b7ec121c19 fix some KICK issues
reported by bogdomania

1. KICK without privileges incorrectly returned ERR_CANNOTSENDTOCHAN
2. Halfops should be able to kick voice and unprivileged, but not other halfops
2019-02-13 14:38:10 -05:00