Shivaram Lingamneni
8d44fa3c3f
fix duplicated JOIN line sent to resuming clients
...
Resuming clients without the resume capability would receive
two JOIN lines per channel.
2020-11-26 00:27:21 -05:00
Shivaram Lingamneni
a6a8548466
fix SAJOIN not sending a MODE line where applicable
2020-11-12 11:57:30 -05:00
Shivaram Lingamneni
dac43e6e76
fix #1370
2020-11-01 18:09:04 -05:00
Shivaram Lingamneni
4b1e6b04c4
add UNINVITE command ( #1171 )
2020-10-25 22:16:19 -04:00
Shivaram Lingamneni
42d246b557
improve security properties of INVITE
...
See #1171 .
2020-10-25 22:09:17 -04:00
Shivaram Lingamneni
bd40b46639
fix #307
2020-10-21 11:08:55 -04:00
Shivaram Lingamneni
5a9e79f06c
fix #1178
2020-10-20 13:37:38 -04:00
Shivaram Lingamneni
8c99dcb2c7
fix #484
2020-10-02 08:13:52 -04:00
Alex Jaspersen
504659abb5
Add +M (only registered/voice can speak) chanmode.
...
Add chanmode preventing speech to error message.
Fixes #1182 .
2020-09-21 16:05:00 -07:00
Shivaram Lingamneni
32bb10f6c6
make channel founder unkickable
2020-09-09 23:15:00 -04:00
Shivaram Lingamneni
71cdc43d9a
fix #1254
2020-09-01 02:41:15 -04:00
Shivaram Lingamneni
6d18a1a78c
tweak addEchoMessage signature
2020-07-24 02:55:46 -04:00
Shivaram Lingamneni
28d4971f36
fix #1204
2020-07-24 02:46:02 -04:00
Shivaram Lingamneni
af009a5bc1
fix 2-parameter case for *playback
2020-07-21 16:33:17 -04:00
Shivaram Lingamneni
93530ae397
fix #1198
2020-07-17 02:54:43 -04:00
Shivaram Lingamneni
0a6c1f7cc6
Merge pull request #1189 from slingamn/tagmsg_storage.1
...
make TAGMSG storage configurable
2020-07-12 10:57:00 -07:00
Shivaram Lingamneni
bca3dd0b41
make TAGMSG storage configurable
2020-07-09 20:17:50 -04:00
Shivaram Lingamneni
8dd25f66bc
review fix
2020-07-09 04:37:30 -04:00
Shivaram Lingamneni
6ea2eb367d
fix #328 (implement DEFCON)
2020-07-09 02:16:51 -04:00
Shivaram Lingamneni
067e62ad5e
fix #1166 and #1168
2020-07-01 03:52:55 -04:00
Shivaram Lingamneni
696980367d
fix #1161
2020-06-29 15:41:29 -04:00
Shivaram Lingamneni
e61e0143bd
refactor/enhance jwt signing
2020-06-15 14:34:58 -04:00
Shivaram Lingamneni
bfeba1f2f3
remove client join time tracking
2020-06-15 14:34:58 -04:00
Daniel Oaks
6bee1f6d6a
Review fixes
2020-06-15 14:34:58 -04:00
Daniel Oaks
4164c643e6
Remember when client joins channels, expose in EXTJWT
2020-06-15 14:34:58 -04:00
Daniel Oaks
0bbb5d121d
Basic EXTJWT support
2020-06-15 14:34:58 -04:00
Shivaram Lingamneni
00e2c2816b
use strings.Builder instead of bytes.Buffer where applicable
2020-06-08 23:38:10 -04:00
Shivaram Lingamneni
2f20034bb7
fix TAGMSG playback
...
1. TAGMSG were incorrectly being considered multilines, because
Is512() was checking the wrong thing
2. Playback of TAGMSG should depend on event-playback, not on message-tags
2020-05-22 12:07:53 -04:00
Shivaram Lingamneni
b2483f5cf2
fix #1030
2020-05-19 08:01:10 -04:00
Shivaram Lingamneni
2f9234318c
fix #1021
2020-05-17 14:07:38 -04:00
Shivaram Lingamneni
67f35e5c8a
fix #858 and #383
2020-05-12 12:05:40 -04:00
Shivaram Lingamneni
c738a754a2
treat channel founder as such even if they don't have +q
...
This affects /TOPIC, /INVITE, and a few others.
2020-05-10 23:17:09 -04:00
Shivaram Lingamneni
4722f8a96c
fix #959
2020-04-24 01:33:21 -04:00
Shivaram Lingamneni
eebe681538
fix #532
2020-04-23 01:29:08 -04:00
Shivaram Lingamneni
360a5af90d
fix #950
2020-04-22 21:52:24 -04:00
Shivaram Lingamneni
80424a6f00
fix #936
2020-04-07 12:24:44 -04:00
Shivaram Lingamneni
f5fe580d22
partial implementation of #729
...
This propagates CS AMODE changes to the actual modes, but not the other
way around.
Also fixes #909 .
2020-03-25 12:13:31 -04:00
Shivaram Lingamneni
621df31577
fix #704
2020-03-19 07:26:17 -04:00
Shivaram Lingamneni
442055ff30
fix #842
2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
3005e95c1f
rename IncludeAllChannelAttrs
2020-03-02 01:46:22 -05:00
Shivaram Lingamneni
a74450d6ca
remove redundant database write on always-on recreation
2020-03-02 01:24:08 -05:00
Shivaram Lingamneni
85dfebce43
fix #831
2020-02-27 19:29:14 -05:00
Shivaram Lingamneni
1dc93bbb9f
fix #829
...
also, handle nickname targets in znc.in/playback
2020-02-27 14:43:59 -05:00
Shivaram Lingamneni
db39608bcb
change "last signoff" tracking to "last seen"
...
Explicit quit and ping timeout behave the same way,
but reattach after abandoning/losing the previous session
(without the break being detected server-side) is more aggressive
about replaying missed messages, at the cost of potential duplication.
2020-02-27 02:17:58 -05:00
Shivaram Lingamneni
b45f8436a4
refactoring / bug fixing in history preferences
2020-02-25 00:19:24 -05:00
Shivaram Lingamneni
03378da81b
CHATHISTORY with no results SHOULD send an empty batch
2020-02-21 00:33:48 -05:00
Shivaram Lingamneni
8031085c26
clean up nil checks relevant to always-on join
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
282e7a4d57
don't write to mysql while holding joinPartMutex
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
33dac4c0ba
initial persistent history implementation
2020-02-19 00:24:12 -05:00
Shivaram Lingamneni
fd46874ad3
fix #760
2020-01-29 15:45:50 -05:00
Shivaram Lingamneni
166dc60729
fix #753
...
Also add +C no-ctcp mode, since it's not conflicted
2020-01-26 21:07:20 -05:00
Shivaram Lingamneni
5d662742b9
remove oragono.io/maxline-2 and fmsgid
2020-01-18 23:47:05 -05:00
Shivaram Lingamneni
2110f3dad7
fix #705
2020-01-08 02:20:37 -05:00
Shivaram Lingamneni
47ac8e984f
remove unnecessary helper
2019-12-26 22:54:00 -05:00
Shivaram Lingamneni
358c4b7d81
implement draft/multiline
2019-12-24 09:29:54 -05:00
Shivaram Lingamneni
bf5a02f077
Merge pull request #692 from slingamn/issue683_channelpurge.1
...
chanserv enhancements and miscellaneous fixes
2019-12-22 10:41:24 -05:00
Shivaram Lingamneni
6740222ecb
fix #616
2019-12-18 17:38:14 -05:00
Shivaram Lingamneni
c5a81d59ff
fix #581
2019-12-17 13:21:26 -05:00
Shivaram Lingamneni
07865b8f63
chanserv enhancements and miscellaneous fixes
...
* Fix #684
* Fix #683
* Add `CHANSERV CLEAR`
* Allow mode changes from channel founders even when they aren't joined
* Operators with the chanreg capability are exempt from max-channels-per-account
* Small fixes and cleanup
2019-12-16 20:06:52 -05:00
Shivaram Lingamneni
0880f20f4b
fix analogous invalid parameters for ERR_NOSUCHNICK
2019-12-05 06:52:07 -05:00
Shivaram Lingamneni
aa8579b6e8
Assorted fixes
...
* Fix #679 (borked reply to `JOIN #chan,\r\n`)
* Replace invalid error parameters with *'s in various places
* Fix PART with no message sending an empty trailing parameter to the channel
* Fix some error responses not getting labeled
2019-12-02 21:13:09 -05:00
Shivaram Lingamneni
332f0d8d91
fix #644
2019-10-16 12:51:40 -04:00
Shivaram Lingamneni
6e9a728354
autoresizing of history buffers ( #349 )
2019-07-03 21:08:37 -04:00
Shivaram Lingamneni
321c437499
fix #536
2019-05-31 14:39:21 -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
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
4b88a60ba6
clean up some old getters
2019-05-22 19:07:12 -04:00
Shivaram Lingamneni
1de166bccb
eliminate client.Realname() getter
2019-05-22 16:10:56 -04:00
Shivaram Lingamneni
851617a4a5
Merge remote-tracking branch 'origin/master' into brb.5
2019-05-22 03:29:18 -04:00
Shivaram Lingamneni
3d445573cf
implement draft/resume-0.4
2019-05-21 22:36:37 -04:00
Shivaram Lingamneni
b96fdb2293
support znc.in/playback
2019-05-20 19:08:57 -04:00
Shivaram Lingamneni
8fc588375b
implement user preferences system
2019-05-19 06:17:30 -04:00
Shivaram Lingamneni
7d53dd5d81
formalize token munging code
2019-05-15 16:17:13 -04:00
Shivaram Lingamneni
6ded2ea466
fix #483
2019-05-13 00:43:29 -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
b8ca8ec852
fix #463
2019-05-12 04:50:43 -04:00
Shivaram Lingamneni
5331afbdd4
Merge remote-tracking branch 'origin/master' into compat.4
2019-05-11 21:56:41 -04:00
Shivaram Lingamneni
c193def606
fix some issues found with staticcheck.io
2019-05-10 01:44:14 -04:00
Shivaram Lingamneni
08ebfb1676
fix redundant JOIN line
2019-05-09 03:57:02 -04:00
Shivaram Lingamneni
b11bf503e7
improvements to message replay code
2019-05-08 03:02:48 -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
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
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
c2faeed4b5
initial implementation of bouncer functionality
2019-04-14 20:48:50 -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
18a8b075ea
fix #425 and #395
2019-03-19 04:40:48 -04:00
Shivaram Lingamneni
63029e2ff5
refactor channel registration
2019-03-12 04:16:16 -04:00
Shivaram Lingamneni
85493ef031
upgrade message-tags to non-draft version
2019-03-07 04:31:08 -05:00
Daniel Oaks
6d109e92a5
Fix dodgy TL strings to make them easier to translate
2019-02-22 12:37:11 +10: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
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
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
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
Shivaram Lingamneni
4c7a5585db
fix #371
2019-02-13 13:22:00 -05:00
Shivaram Lingamneni
e4c9351254
fix: set the existing channels unregistered
2019-02-12 02:09:31 -05:00