Commit Graph

1323 Commits

Author SHA1 Message Date
Shivaram Lingamneni 8a33d68cf1 add cap-notify for bouncer 2019-08-31 22:42:51 -04:00
Shivaram Lingamneni ca17e58b3a fix #595 2019-08-31 21:29:23 -04:00
Shivaram Lingamneni 7ed27d4a42 Fix #448, #594 2019-08-27 03:58:04 -04:00
Shivaram Lingamneni 65834c0729 optimize Sessions() at the expense of AddSession() 2019-08-02 00:20:31 -04:00
Daniel Oaks 8bca8a1752
Merge pull request #606 from slingamn/issue331.1
fix #331
2019-07-31 06:37:23 +10:00
Daniel Oaks 7a56c4e0ad
Merge pull request #591 from slingamn/history_autoresize.4
autoresizing of history buffers (#349)
2019-07-31 06:36:35 +10:00
Shivaram Lingamneni 938ce7e435 fix #331 2019-07-14 16:17:37 -04:00
Daniel Oaks 07bb38ecdf
Merge pull request #601 from slingamn/spurious_message
fix spurious error message
2019-07-14 12:57:09 +10:00
Shivaram Lingamneni ce651b4a90 remove obsolete consistency check
tor-listeners.listeners was checked against listen,
but listen is obsolete now, so config load would fail
on a config that used the new style `listeners` instead of
`listen` --- unless tor-listeners.listeners was empty, which
it should be under the new style, but there's no need to enforce
that
2019-07-12 15:19:43 -04:00
Shivaram Lingamneni 80aa77372b fix spurious error message 2019-07-12 11:49:01 -04:00
Shivaram Lingamneni ecf945038f
Merge pull request #565 from slingamn/listener_refactor.3
refactor listener config loading
2019-07-12 11:08:04 -04:00
Shivaram Lingamneni 86ad402203 review feedback 2019-07-12 09:58:14 -04:00
Daniel Oaks dc87ae7ef1
Merge pull request #583 from slingamn/stats.4
fix #526
2019-07-12 23:39:50 +10:00
Daniel Oaks b396d41375
Merge pull request #585 from slingamn/samode_bug
fix bugs affecting SAMODE on other users
2019-07-12 23:31:38 +10:00
Daniel Oaks 23974af345
Merge pull request #588 from slingamn/servicehelp.5
refactor /HELP for services
2019-07-12 23:30:50 +10:00
Daniel Oaks 5cff9bb636
Merge pull request #593 from slingamn/issue592
fix #592
2019-07-12 23:27:34 +10:00
Shivaram Lingamneni bbf6c4a269 fix #572 2019-07-08 22:04:53 -04:00
Shivaram Lingamneni cbabccc2f8 fix #592 2019-07-04 07:05:38 -04:00
Shivaram Lingamneni 6e9a728354 autoresizing of history buffers (#349) 2019-07-03 21:08:37 -04:00
Shivaram Lingamneni 1c583d775c refactor /HELP for services
1. DRY "banner" descriptions of each services
2. `/HELP NICKSERV` now refers the user to `/NICKSERV HELP`, etc.
3. Fix double translation of `textGenerator` output
2019-07-02 12:48:33 -04:00
Shivaram Lingamneni 6a3d2733d6 fix bugs affecting SAMODE on other users
1. Your own snomasks would be reported as belonging to the other user
2. Prefixes were incorrect
2019-07-02 08:45:14 -04:00
Shivaram Lingamneni 5a554ab4b0 fix #526 2019-07-01 09:21:38 -04:00
Shivaram Lingamneni 22c298d337 fix #567 2019-06-28 16:40:51 -04:00
Shivaram Lingamneni eee0747e5e new format for listener section 2019-06-28 14:43:53 -04:00
Shivaram Lingamneni cfe991a335 Merge remote-tracking branch 'origin/master' into listener_refactor.4 2019-06-28 09:05:07 -04:00
Daniel Oaks a5d09c932c
Merge pull request #557 from slingamn/issue555.2
upgrade to draft/labeled-response-0.2
2019-06-28 22:18:42 +10:00
Daniel Oaks 9ce3bed4a2 Setup v1.2.0-unreleased devel ver 2019-06-28 22:17:43 +10:00
Shivaram Lingamneni 57821c865a bump version to 1.1.0 2019-06-25 19:59:04 -04:00
Shivaram Lingamneni 24c46235a3 remove m -> rn skeleton mapping again 2019-06-24 06:23:10 -04:00
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]
2019-06-24 00:16:42 -04:00
Shivaram Lingamneni 5d0b8390e9 refactor listener config loading 2019-06-19 22:33:15 -04:00
Shivaram Lingamneni 6e9a31a574 use confusables.SkeletonTweaked to fix the test 2019-06-19 05:24:09 -04:00
Shivaram Lingamneni f17777995b add a new test 2019-06-19 04:53:15 -04:00
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.
2019-06-18 02:34:16 -04:00
Shivaram Lingamneni 8dca545264 consolidate some time-setting code 2019-06-13 07:24:38 -04:00
Shivaram Lingamneni 34f11ddb97 implement draft/labeled-response-0.2 2019-06-13 07:24:38 -04:00
Shivaram Lingamneni 60d5586099 bump to 1.1.0-rc1 2019-06-12 05:25:10 -04:00
Daniel Oaks 655f1f6f54
Merge pull request #538 from slingamn/issue537.1
fix #537
2019-06-10 01:14:32 +10:00
Daniel Oaks dc322f8fd4
Merge pull request #546 from slingamn/issue536.3
fix #536
2019-06-10 01:13:02 +10:00
Daniel Oaks 4a4bf8612b
Merge pull request #525 from slingamn/autobrb.8
hopefully the last round of resume/brb fixes before the release
2019-06-10 01:12:40 +10:00
Shivaram Lingamneni 321c437499 fix #536 2019-05-31 14:39:21 -04:00
Shivaram Lingamneni 4350b92bef fix KILL etc. for BRB'ed clients 2019-05-30 18:49:03 -04:00
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