Shivaram Lingamneni
32ee9440c8
fix #1027
2020-06-01 11:55:53 -04:00
Shivaram Lingamneni
aafc89feaa
Merge remote-tracking branch 'origin/master' into monoffline
2020-05-30 23:25:25 -04:00
Shivaram Lingamneni
2def06b98f
fix #1076
2020-05-28 18:34:43 -04:00
Alex Jaspersen
0241e0c31d
Apply default user modes just before registration.
...
Previously, we were applying defaults before the user had completed
registration. This meant that the number of invisible users was
incremented when the user connected, and then the total was incremented
when registration was completed.
Now both counters are updated at the same time. If a user disconnects
prior to registration, +i has not yet been applied so it would not be
decremented.
2020-05-28 15:53:14 +00: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
06b2cb2efc
Merge pull request #1036 from slingamn/account_persistence.3
...
last round of feature changes
2020-05-20 04:58:57 -07:00
Shivaram Lingamneni
5345fc35dd
Merge pull request #1032 from slingamn/history_enable
...
fix #1030
2020-05-20 04:33:35 -07:00
Shivaram Lingamneni
ef0aa20cff
fix #1035
2020-05-19 22:46:23 -04:00
Shivaram Lingamneni
4d50607c79
add persistence for user modes
2020-05-19 22:46:23 -04:00
Shivaram Lingamneni
a0f4e90b7e
add auto-away
2020-05-19 22:46:23 -04:00
Shivaram Lingamneni
d7cdaf1a90
correct old proxiedConn name
2020-05-19 09:37:06 -04:00
Shivaram Lingamneni
b2483f5cf2
fix #1030
2020-05-19 08:01:10 -04:00
Shivaram Lingamneni
67150bc8f7
fix #1020
2020-05-17 18:12:24 -04:00
Shivaram Lingamneni
8efbc4bc32
maintain lenBytes as a running count
2020-05-14 22:16:34 -04:00
Shivaram Lingamneni
2779fe7c10
fix #1005
2020-05-14 12:58:49 -04:00
Shivaram Lingamneni
67f35e5c8a
fix #858 and #383
2020-05-12 12:05:40 -04:00
Shivaram Lingamneni
d94a0aea9a
upgrade go-ident to fix parsing issue
2020-05-11 18:25:25 -04:00
Shivaram Lingamneni
548a2f814a
Merge remote-tracking branch 'origin/master' into issue996_proto.1
2020-05-11 02:04:20 -04:00
Alex Jaspersen
d5cec62df3
Call ApplyUserModeChanges for default user modes.
...
This ensures that counts like the number of invisible users are updated
correctly.
2020-05-11 05:41:40 +00:00
Shivaram Lingamneni
d562c6d25a
more informative IP connection logline
2020-05-10 19:04:54 -04:00
Shivaram Lingamneni
0f7d58b1c5
fix #996
2020-05-10 06:17:11 -04:00
Shivaram Lingamneni
6f688a4644
fix #994
2020-05-08 05:50:10 -04:00
Shivaram Lingamneni
d37af694af
Merge pull request #979 from slingamn/websockets_draft.7
...
websockets implementation
2020-05-05 17:54:52 -07:00
Shivaram Lingamneni
c92192ef48
review fixes; add submatch support to glob
2020-05-05 17:20:55 -04:00
Shivaram Lingamneni
3dc5c8de78
more work on websocket support
2020-05-04 23:26:51 -04:00
Shivaram Lingamneni
3a571f28ac
use shorter batch IDs
2020-05-03 03:27:13 -04:00
Alex Jaspersen
b3a7e5c996
Set default user modes when always-on clients reconnect.
...
Add default-user-modes configuration to conventional.yaml.
Fix comment on DefaultUserModes.
2020-04-30 04:38:19 +00:00
Alex Jaspersen
df9bf15f00
Add support for setting user modes by default.
2020-04-30 03:54:09 +00:00
Shivaram Lingamneni
f4f7a8afaa
shorten type names to 10 chars
2020-04-12 14:01:07 -04:00
Shivaram Lingamneni
73d795e6b4
fix #817
2020-03-27 10:40:19 -04:00
Shivaram Lingamneni
761d215ecd
remove unnecessary comment
2020-03-22 10:09:20 -04:00
Shivaram Lingamneni
f3d64d2859
move idletimer and fakelag initialization before certfp read
2020-03-22 10:09:20 -04:00
Shivaram Lingamneni
65ebe7f64a
fix #868
2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
458d813ee1
work around mirc bug
2020-03-11 18:57:42 -04:00
Shivaram Lingamneni
bbe9e09d46
clean up trailing hack
2020-03-11 18:57:25 -04:00
Shivaram Lingamneni
d50c4c2bd6
fix #848
2020-03-06 04:47:47 -05:00
Shivaram Lingamneni
5447fc79ff
fix confusion between lastSeen and lastActive
2020-03-02 03:06:57 -05:00
Shivaram Lingamneni
d72037725b
simplify read of lastSeen
2020-03-02 02:52:51 -05:00
Shivaram Lingamneni
c0192e0e52
add missing initialization for writerSemaphore
...
It was only initialized for always-on clients, not for regular clients.
This explains a lot in terms of #812 failing to reproduce.
2020-03-02 01:32:08 -05:00
Shivaram Lingamneni
a74450d6ca
remove redundant database write on always-on recreation
2020-03-02 01:24:08 -05:00
Shivaram Lingamneni
d967129446
fix #833
2020-02-28 05:41: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
1975b0968a
fix double decrement of stats on ping timeout
2020-02-25 14:04:50 -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
4472683d58
persist lastSignoff in the database
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
17a89838b8
fix Client.historyStatus
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
8f4c14c783
miscellaneous review fixes
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
ad32356e34
move authentication data from Client to Session
2020-02-19 00:24:21 -05:00
Shivaram Lingamneni
33dac4c0ba
initial persistent history implementation
2020-02-19 00:24:12 -05:00
Shivaram Lingamneni
a3f008e348
mitigate #772
2020-02-06 17:56:10 -05:00
Shivaram Lingamneni
5d662742b9
remove oragono.io/maxline-2 and fmsgid
2020-01-18 23:47:05 -05:00
Shivaram Lingamneni
6838d19acc
don't check the real IP for bans on proxy-before-TLS
...
In the k8s PROXY-before-TLS setting, we don't know all the IPs
of the load balancers, so we can't whitelist them, so they're at
risk of being d-lined.
2020-01-09 04:38:59 -05:00
Shivaram Lingamneni
d67d77bee7
fix #731
2020-01-03 09:46:55 -05:00
Shivaram Lingamneni
f920d3b79f
fix #530 , #721
2019-12-29 12:05:01 -05:00
Shivaram Lingamneni
9de9fcf069
Merge pull request #695 from slingamn/issue693_casemappings.4
...
#693 : configurable casemappings
2019-12-29 09:20:06 -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
b717402b5e
implement review feedback
...
1. If both fingerprint and hash are specified, require both instead of either
2. Implement auto-oper on connect
2019-12-19 06:33:43 -05:00
Shivaram Lingamneni
ab444a3980
remove unnecessary uses of Casefold
2019-12-18 12:21:03 -05:00
Shivaram Lingamneni
4b37b5dd3e
tweak to avoid a potential data race
2019-12-17 19:57:23 -05:00
Shivaram Lingamneni
3480f124cd
fix #688
2019-12-17 19:37:33 -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
7432ef07a7
rename some variables for clarity
2019-11-20 17:43:45 -05:00
Shivaram Lingamneni
50783d5276
fix #561 , take 2
2019-11-20 17:35:35 -05:00
Shivaram Lingamneni
24c103da5a
fix #642
2019-10-05 23:50:11 -04:00
Shivaram Lingamneni
7ed27d4a42
Fix #448 , #594
2019-08-27 03:58:04 -04: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
ecf945038f
Merge pull request #565 from slingamn/listener_refactor.3
...
refactor listener config loading
2019-07-12 11:08:04 -04:00
Daniel Oaks
dc87ae7ef1
Merge pull request #583 from slingamn/stats.4
...
fix #526
2019-07-12 23:39:50 +10: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
5a554ab4b0
fix #526
2019-07-01 09:21:38 -04:00
Shivaram Lingamneni
cfe991a335
Merge remote-tracking branch 'origin/master' into listener_refactor.4
2019-06-28 09:05:07 -04:00
Shivaram Lingamneni
5d0b8390e9
refactor listener config loading
2019-06-19 22:33:15 -04:00
Shivaram Lingamneni
8dca545264
consolidate some time-setting code
2019-06-13 07:24:38 -04:00
Daniel Oaks
dc322f8fd4
Merge pull request #546 from slingamn/issue536.3
...
fix #536
2019-06-10 01:13:02 +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
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
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
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
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
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
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
25974b6881
fix #487
2019-05-19 05:12:12 -04:00
Shivaram Lingamneni
58d089020e
send command processing errors to the originating session only
2019-05-15 22:30:35 -04:00
Shivaram Lingamneni
0346c23ae0
fix #387
2019-05-15 01:30:21 -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
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
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
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
fbc6c84a01
add client compatibility switches
2019-05-09 15:41:08 -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
51465b4a3a
strip out the +a away mode
2019-04-28 15:12:48 -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
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
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
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
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
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
7018e3693b
optimization: check IsLoggingRawIO before attempting to log input
2019-02-24 21:07:12 -05:00
Shivaram Lingamneni
c6b9fe0218
fix #384
2019-02-19 03:12:47 -05:00
Shivaram Lingamneni
a5f04495a1
fix #389
2019-02-15 13:34:09 -05:00
Shivaram Lingamneni
519d19c364
fix #364
2019-02-13 16:48:26 -05:00
Shivaram Lingamneni
afe94d43c3
update resume support to draft/resume-0.3
2019-02-12 01:03:19 -05:00
Shivaram Lingamneni
35abe7940a
RESUME should end cap negotiation without requiring CAP LS
2019-02-09 20:26:32 -05:00
Daniel Oaks
71a33890b8
Merge pull request #344 from slingamn/history.4
...
add CHATHISTORY and HISTORY implementations
2019-02-05 22:16:45 +10:00
Shivaram Lingamneni
928caba922
Merge pull request #345 from slingamn/saslonly.3
...
add sasl-only config option
2019-02-05 04:10:35 -05:00
Shivaram Lingamneni
36612f6e2d
review fixes
2019-02-05 03:05:05 -05:00
Shivaram Lingamneni
bf1d758de9
simplify username logic
2019-02-05 02:42:13 -05:00
Shivaram Lingamneni
1c23af8767
add sasl-only config option
2019-02-05 00:51:58 -05:00
Shivaram Lingamneni
f6b3008f8f
add CHATHISTORY and HISTORY implementations
2019-02-04 05:33:36 -05:00
Daniel Oaks
e8309aee79
Avoiding a crash when getting a short ident is a good thing
2019-02-04 05:02:13 +10:00
Daniel Oaks
cfbb4361dc
Restrict ident length similar to other servers
2019-02-03 19:24:59 +10:00
Daniel Oaks
8cd5db1194
Restrict idents as other servers do
2019-02-03 18:49:42 +10:00
Shivaram Lingamneni
b9b2553a2f
use the TR39 skeleton algorithm to prevent confusables ( #178 )
2019-01-30 21:48:53 -05:00
Shivaram Lingamneni
8438afcc5c
fix: usernames from ident don't get a ~
2019-01-28 23:35:00 -05:00
Shivaram Lingamneni
4bbba5b478
fix the issue for AllNickmasks as well
2019-01-28 23:12:25 -05:00
Shivaram Lingamneni
a2a9788f39
fix spurious bidi violations when casefolding the nickmask of an RTL nick
2019-01-28 18:15:35 -05:00
Shivaram Lingamneni
f94f737b31
add support for login throttling
2019-01-02 10:15:59 -05:00
Shivaram Lingamneni
960d51159c
add ClientDetails struct for getting a snapshot of client state
2019-01-02 09:55:45 -05:00
Shivaram Lingamneni
a4b3fb0e83
changes to client idle time counting
...
1. Remove leaveClientIdle (unused)
2. s/leaveClientActive/leaveClientIdle/
3. make ISON a leaveClientIdle command (some clients send it periodically
if a /msg window is left open)
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
d5eade5494
force trailing zeroes in timestamp wire format
...
According to jwheare, ISO 8601 doesn't specify the behavior one way
or the other, and the server-time spec is also ambiguous, but this
is safest.
2018-12-30 18:17:24 -05:00
Shivaram Lingamneni
2c7c8fbaf9
history replay enhancements
2018-12-28 13:45:55 -05:00