Shivaram Lingamneni
d98e3581b3
disallow /SAMODE nick +o
2020-03-17 13:19:27 -04:00
Shivaram Lingamneni
76d3ecca71
fix #866
2020-03-17 13:00:53 -04:00
Shivaram Lingamneni
6d65335071
fix various bugs
2020-03-17 09:07:32 -04:00
Shivaram Lingamneni
edd161ddfd
rename config keys from review feedback
2020-03-17 09:04:14 -04:00
Shivaram Lingamneni
26fd3e69a8
fix #749
2020-03-16 13:48:14 -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
2f243ab65b
bump to next development version
2020-03-08 23:01:52 -04:00
Shivaram Lingamneni
8fd326fd33
bump version to 2.0.0
2020-03-08 05:36:11 -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
e7c1800893
fix a spurious error logline
...
unregistering an always-on client would produce
"attempting to persist logged-out client : x"
because the client was always-on, but also being ejected
2020-03-02 01:54:40 -05:00
Shivaram Lingamneni
d5f68215e1
mark dirty when a client first becomes always-on
2020-03-02 01:53:02 -05:00
Shivaram Lingamneni
3005e95c1f
rename IncludeAllChannelAttrs
2020-03-02 01:46:22 -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
b4f720ae04
bump version to 2.0.0-rc1
2020-03-02 00:03:03 -05:00
Shivaram Lingamneni
8ed6634b3f
Merge pull request #823 from slingamn/changelog.2
...
branding, manual, and changelog updates for 2.0
2020-03-01 20:59:16 -08:00
Shivaram Lingamneni
579ef668ac
fix #838
2020-03-01 23:13:21 -05:00
Shivaram Lingamneni
3e01e9995b
fix #836
2020-03-01 03:39:25 -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
3a78029809
partial fix for #812
2020-02-26 03:19:14 -05:00
Shivaram Lingamneni
e78cb70d33
streamline credits
2020-02-26 02:39:37 -05:00
Shivaram Lingamneni
42ccd81205
make an exception for saset
2020-02-26 02:00:38 -05:00
Shivaram Lingamneni
521617559f
fix #821
...
Or try to, anyway
2020-02-26 01:44:05 -05:00
Shivaram Lingamneni
1975b0968a
fix double decrement of stats on ping timeout
2020-02-25 14:04:50 -05:00
Shivaram Lingamneni
ce208cb3e1
fix #814
2020-02-25 13:26:49 -05:00
Shivaram Lingamneni
3e787de994
handle kiwi's BEFORE *
2020-02-25 00:19:24 -05:00
Shivaram Lingamneni
b45f8436a4
refactoring / bug fixing in history preferences
2020-02-25 00:19:24 -05:00
Shivaram Lingamneni
891da73e56
fix handling of history grace periods
2020-02-24 05:44:55 -05:00
Shivaram Lingamneni
44b79a052c
raise passphrase length limit to 300 bytes
...
For irctest compatibility.
Fixes #775
2020-02-23 00:12:21 -05:00
Shivaram Lingamneni
fb8b73e29a
Merge branch 'persistent.14'
2020-02-22 23:10:52 -05:00
Shivaram Lingamneni
c445b45f31
Merge pull request #800 from slingamn/issue791_crashserver
...
fix #791
2020-02-22 20:08:42 -08:00
Shivaram Lingamneni
fec27cc7c2
Merge pull request #799 from slingamn/issue725_deoper.1
...
fix #725
2020-02-22 20:07:29 -08:00
Shivaram Lingamneni
e1e3062dad
Merge pull request #797 from slingamn/issue775_passlength
...
fix #775
2020-02-22 20:07:14 -08:00
Shivaram Lingamneni
010bb3e926
Merge pull request #796 from slingamn/issue715_upgradedb
...
fix #715
2020-02-22 20:07:03 -08:00
Shivaram Lingamneni
85a536977c
factor out confirmation codes into utils, change their format
2020-02-22 22:34:39 -05:00
Shivaram Lingamneni
93708c23eb
update draft/chathistory spec link in /help
2020-02-21 13:10:08 -05:00
Shivaram Lingamneni
490b3722bd
add a logline and a help description for CRASHSERVER
2020-02-21 13:07:22 -05:00
Shivaram Lingamneni
41813cc15a
fix #791
2020-02-21 12:41:04 -05:00
Shivaram Lingamneni
904fa9653c
clear reg date and settings during logout
2020-02-21 06:36:32 -05:00
Shivaram Lingamneni
438fffab99
fix #725
2020-02-21 06:10:35 -05:00
Shivaram Lingamneni
91bb7f5877
fix #775
2020-02-21 04:26:17 -05:00
Shivaram Lingamneni
829481ab40
fix #715
2020-02-21 04:24:18 -05:00
Shivaram Lingamneni
5fe4d0b133
fix #794
...
Remove support for `listen` config block
2020-02-21 04:12:00 -05:00
Shivaram Lingamneni
fd90893fa6
handle old bouncer name for multiclient config
2020-02-21 00:33:55 -05:00
Shivaram Lingamneni
f5ca35ed72
rename 'bouncer' to 'multiclient'
2020-02-21 00:33:55 -05:00
Shivaram Lingamneni
03378da81b
CHATHISTORY with no results SHOULD send an empty batch
2020-02-21 00:33:48 -05:00
Shivaram Lingamneni
98a7b45d96
add mysql timeouts
2020-02-21 00:33:48 -05:00
Shivaram Lingamneni
8123e3c08f
improve nick and channel length validation
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
108ef3f424
don't double-store messages users send to themselves
2020-02-21 00:33:37 -05:00
Shivaram Lingamneni
fab0630180
time.Unix still requires normalization to UTC
2020-02-21 00:33:37 -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
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
82732d5b5d
fix behavior of echo-message without message-tags
2020-02-20 01:51:19 -05:00
Shivaram Lingamneni
5892680f60
consolidate sending DMs to targets with sending copies to non-originating sessions
2020-02-20 01:51:19 -05:00
Shivaram Lingamneni
ef161c47ed
use custime.Duration for more config fields
2020-02-20 00:09:39 -05:00
Shivaram Lingamneni
7b3caed20f
fix/enhancement to custime
2020-02-19 02:45:50 -05:00
Shivaram Lingamneni
e59aa43225
fix StringToBool (thanks @wrmsr)
2020-02-19 00:54:42 -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
306ca986a8
minor fixes
2020-02-11 22:08:41 -05:00
Shivaram Lingamneni
0c2d8adeac
improve maintainability and license compliance
...
0. Maximum parity with upstream code
1. Added Apache-required modification notices
2. Added Apache license
2020-02-11 16:13:12 -05:00
Shivaram Lingamneni
c13597f807
additional LDAP support
2020-02-11 06:35:17 -05:00
Matt Ouille
5ba2527eb0
Fix compilation errors
2020-02-09 22:13:12 -05:00
Matt Ouille
d4afb027e5
Add LDAP support
2020-02-09 22:13:02 -05:00
Shivaram Lingamneni
b964a201c1
fix #776
2020-02-07 13:28:49 -05:00
Shivaram Lingamneni
a3f008e348
mitigate #772
2020-02-06 17:56:10 -05:00
Shivaram Lingamneni
88d7e98011
add vhost snomasks
2020-02-02 02:03:08 -05:00
Shivaram Lingamneni
5426c9fdc0
disallow TAKE and REQUEST while under a FORBID
2020-02-01 23:51:29 -05:00
Shivaram Lingamneni
e1f56aaee3
fix #764
2020-02-01 22:19:33 -05:00
Shivaram Lingamneni
52d85517cd
actually fix #760
2020-01-29 16:27:59 -05:00
Shivaram Lingamneni
fd46874ad3
fix #760
2020-01-29 15:45:50 -05:00
Shivaram Lingamneni
b329cf430e
Merge pull request #744 from slingamn/hostserv_offer.1
...
add support for offering vhosts
2020-01-28 19:36:17 -08:00
Shivaram Lingamneni
955cdbdfef
impose throttle checks on HS TAKE
2020-01-28 22:27:56 -05:00
Shivaram Lingamneni
dedf78d0e9
review fixes
2020-01-28 21:23:31 -05:00
Shivaram Lingamneni
7d3c0f7884
fix #757
2020-01-27 21:10:24 -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
1fc9a04503
fix #754
2020-01-25 21:06:55 -05:00
Shivaram Lingamneni
6e2b2a44b8
set the time of a multiline message at BATCH -
2020-01-20 00:37:13 -05:00
Shivaram Lingamneni
5d662742b9
remove oragono.io/maxline-2 and fmsgid
2020-01-18 23:47:05 -05:00
Shivaram Lingamneni
0cebdba82c
Merge pull request #750 from slingamn/isupport_fix
...
fix incorrect values of UTF8MAPPING for non-PRECIS casefoldings
2020-01-14 13:11:53 -05:00
Shivaram Lingamneni
d807f1252f
move generateISupport to config.go
2020-01-14 01:21:47 -05:00
Shivaram Lingamneni
3ff586e821
don't read globalCasemappingSetting in generateISupport
...
The isupport is always a pure function of the Config object,
not of Server or any globals.
2020-01-14 01:19:48 -05:00
Shivaram Lingamneni
90b428b416
fix #745
2020-01-12 11:24:11 -05:00
Shivaram Lingamneni
2db14c91b9
review fixes
2020-01-11 22:52:30 -05:00
Shivaram Lingamneni
05cb80507f
fix #741
2020-01-11 22:43:40 -05:00
Shivaram Lingamneni
11ca86028c
fix #741
2020-01-09 13:49:36 -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
2110f3dad7
fix #705
2020-01-08 02:20:37 -05:00
Shivaram Lingamneni
eb630b7657
Revert "never set the certfp lookup key before verification"
...
This reverts commit a120cc2443
.
2020-01-06 15:00:26 -05:00
Shivaram Lingamneni
a120cc2443
never set the certfp lookup key before verification
2020-01-06 12:53:21 -05:00
Shivaram Lingamneni
1b35c6887f
fix #733
2020-01-06 12:21:52 -05:00
Shivaram Lingamneni
1ae38091a3
Merge pull request #728 from slingamn/issue727_group_ghost.1
...
fix #727
2020-01-05 03:26:26 -05:00
Shivaram Lingamneni
d67d77bee7
fix #731
2020-01-03 09:46:55 -05:00
Shivaram Lingamneni
bc0712b19b
fix #727
2019-12-31 21:19:28 -05:00
Shivaram Lingamneni
bd822853bc
fix some translation warnings
2019-12-30 14:47:22 -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
f6757f814e
Merge pull request #707 from slingamn/multiline.4
...
implement draft/multiline
2019-12-26 23:18:54 -05:00
Shivaram Lingamneni
47ac8e984f
remove unnecessary helper
2019-12-26 22:54:00 -05:00
Shivaram Lingamneni
68e3b74b79
Merge pull request #717 from slingamn/issue716
...
fix #716
2019-12-25 21:11:53 -05:00
Shivaram Lingamneni
8c1db7a2f5
better UX for cancelling channel transfers
2019-12-25 15:59:38 -05:00
Shivaram Lingamneni
33c8b2177e
fix a bug
...
In the previous commit, the client would receive a failure message but would
actually remain logged in after an authzid/authcid mismatch. This was a
correctness rather than a security issue, but now it's fixed so that the client
never logs in in the first place.
2019-12-25 15:06:26 -05:00
Shivaram Lingamneni
c8ccf94936
fix #716
2019-12-25 12:44:55 -05:00
Shivaram Lingamneni
9b5d6bf746
fix #713
2019-12-24 16:20:18 -05:00
Shivaram Lingamneni
1487980fe0
Fix #710
2019-12-24 15:03:37 -05:00
Shivaram Lingamneni
cd3ff3922e
fill in more authzid/authcid details
2019-12-24 12:46:31 -05:00
Pavel Djundik
6831b0ffdc
Fix authcid
variable name
2019-12-24 19:33:33 +02:00
Shivaram Lingamneni
358c4b7d81
implement draft/multiline
2019-12-24 09:29:54 -05:00
Shivaram Lingamneni
7a6925fa3f
Merge remote-tracking branch 'origin/master' into issue702
2019-12-23 11:32:15 -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
4391b1ba5a
restrict ASCII mode to printable characters only
2019-12-22 09:57:49 -05:00
Shivaram Lingamneni
781bb6b051
more systematic bad-character check in permissive mode
2019-12-22 09:31:51 -05:00
Shivaram Lingamneni
2d4dbeba1c
disallow some bad characters in foldPermissive
2019-12-22 09:19:28 -05:00
Shivaram Lingamneni
76a8768d05
make rehash-enable logic a little more uniform
2019-12-22 08:42:56 -05:00
Shivaram Lingamneni
bd6c2117e8
fix analogous issue for history
...
History couldn't be enabled by rehash if autoresize-window was nonzero.
2019-12-22 08:11:24 -05:00
Shivaram Lingamneni
26ca016c66
fix the analogous issue for vhosts
2019-12-21 20:26:40 -05:00
Shivaram Lingamneni
25c4eb2996
fix #702
2019-12-21 20:19:19 -05:00
Shivaram Lingamneni
0df25e0e30
remove redundant error check
2019-12-19 18:41:46 -05:00
Shivaram Lingamneni
c4e66d8b83
Merge pull request #698 from slingamn/issue616_prefs.2
...
fix #616
2019-12-19 18:38:18 -05:00
Shivaram Lingamneni
9bc5fb78cf
Merge pull request #700 from slingamn/issue347_snomasks
...
fix #347
2019-12-19 18:35:19 -05:00
Shivaram Lingamneni
01488bfe2e
slightly more defensive implementation of /OPER check
2019-12-19 18:30:19 -05:00
Shivaram Lingamneni
78da024b24
improve an error message
2019-12-19 09:30:49 -05:00
Shivaram Lingamneni
0c33c3399f
fix #347
2019-12-19 09:27:54 -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
6033d9f569
tweaks for consistency
2019-12-18 20:33:58 -05:00
Shivaram Lingamneni
6740222ecb
fix #616
2019-12-18 17:38:14 -05:00
Shivaram Lingamneni
e143aaa83f
fix #696
2019-12-18 16:04:43 -05:00
Shivaram Lingamneni
f9b5224ae0
have realSkeleton use cases.Fold as well
2019-12-18 12:26:09 -05:00
Shivaram Lingamneni
91d6888b7e
fix #693
2019-12-18 12:26:09 -05:00
Shivaram Lingamneni
ab444a3980
remove unnecessary uses of Casefold
2019-12-18 12:21:03 -05:00
Shivaram Lingamneni
f1e2bbc0e4
more permissive hostname validation
...
In particular, allow hostnames without periods (like on a LAN).
This shouldn't be a client compability concern since we allow
vhosts without periods.
2019-12-18 09:21:45 -05:00
Shivaram Lingamneni
4b37b5dd3e
tweak to avoid a potential data race
2019-12-17 19:57:23 -05:00
Shivaram Lingamneni
b468baa959
allow NS SESSIONS targeting yourself
2019-12-17 19:37:33 -05:00
Shivaram Lingamneni
3480f124cd
fix #688
2019-12-17 19:37:33 -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
438d1f0488
fix bad ERR_WASNOSUCHNICK responses
2019-12-05 08:31:17 -05:00
Shivaram Lingamneni
bcc58be8af
remove some redundant casefolds
2019-12-05 07:44:28 -05:00
Shivaram Lingamneni
08f351060e
fix #682
2019-12-05 07:29:27 -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
fec1139dc8
Merge pull request #673 from slingamn/proxytls.18
...
fix #561 , take two
2019-11-23 22:09:45 -05:00
Shivaram Lingamneni
c6bd0aea8d
Merge pull request #672 from slingamn/issue671
...
fix #671
2019-11-23 22:09:37 -05:00
Shivaram Lingamneni
2d456c2106
review feedback: rename a key
2019-11-23 22:01:24 -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
42db1778ac
unexport rawLimiterConfig
2019-11-18 17:30:54 -05:00
Shivaram Lingamneni
babd8b1da9
fix #671
2019-11-18 17:21:28 -05:00
Shivaram Lingamneni
4050b6571a
fix #646
...
Includes a partially backwards-incompatible config change
2019-11-18 01:47:18 -05:00
Shivaram Lingamneni
149c9b45e8
bump version
2019-11-16 18:49:30 -05:00
Shivaram Lingamneni
d1ed5e4cbf
bump version and changelog
2019-11-16 18:14:20 -05:00
Shivaram Lingamneni
ae9aecbbb0
increase max cap line length
...
Workaround for #661 : this makes the `CAP LS 302` line from the default config
fit on a single line, as long as the server name is at most 35 characters.
2019-11-09 22:43:07 -05:00
Shivaram Lingamneni
a75d26a46b
refactor cap line splitting
2019-11-09 20:31:39 -05:00
Shivaram Lingamneni
507740464a
bump version
2019-11-03 12:39:13 -05:00
Shivaram Lingamneni
b6cdb51f00
fix #652
2019-10-23 11:32:32 -04:00
Shivaram Lingamneni
baa71ba2be
remove unnecessary special-casing for ASCII
2019-10-23 02:18:45 -04:00
Shivaram Lingamneni
82c5041225
fix #649
2019-10-16 18:10:32 -04:00
Shivaram Lingamneni
332f0d8d91
fix #644
2019-10-16 12:51:40 -04:00
Shivaram Lingamneni
cddc51d6cf
Merge pull request #640 from slingamn/issue639_emptystruct.1
...
make semaphores O(1) in storage
2019-10-12 18:13:07 -07:00
Shivaram Lingamneni
24c103da5a
fix #642
2019-10-05 23:50:11 -04:00
Shivaram Lingamneni
40df122c73
remove unused getters
2019-10-04 02:08:49 -04:00
Shivaram Lingamneni
45476079a1
make semaphores O(1) in storage
2019-10-03 00:03:00 -04:00
Shivaram Lingamneni
06b1e7b603
fix #632
2019-09-24 21:47:37 -04:00
Shivaram Lingamneni
c1acf3ea43
move ISUPPORT regeneration to the end of config loading
2019-09-22 17:26:50 -04:00
Shivaram Lingamneni
1ce716582a
make CHANTYPES a constant
2019-09-22 15:48:17 -04:00
Shivaram Lingamneni
584f2261a8
fix #625
2019-09-22 15:45:06 -04:00
Shivaram Lingamneni
3cb9234bb5
review fixes
2019-09-08 06:28:48 -04:00
Shivaram Lingamneni
f6eb8fa5a1
fix #197
2019-09-01 02:36:56 -04:00
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
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