3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-12-23 19:22:41 +01:00
Commit Graph

1798 Commits

Author SHA1 Message Date
Shivaram Lingamneni
51c65f999d
Merge pull request #998 from slingamn/operator_topic
treat channel founder as such even if they don't have +q
2020-05-10 22:51:07 -07: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
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
89984f9c36 fix untrusted PROXY lines being accepted
As of 3dc5c8de78, the PROXY-before-TLS proxy line
and any proxy information carried in X-Forwarded-For
do not count as the "first line", so an additional
client-supplied PROXY line would have been accepted.
2020-05-10 19:12:18 -04: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
93f1e5b5b8
Merge pull request #995 from slingamn/issue994_unknowncommand.1
fix #994
2020-05-08 13:12:16 -07:00
Shivaram Lingamneni
6f688a4644 fix #994 2020-05-08 05:50:10 -04:00
Shivaram Lingamneni
36dab4e57d review fix 2020-05-08 02:47:08 -04:00
Shivaram Lingamneni
8c74b0660b fix #952 2020-05-08 01:18:00 -04:00
Shivaram Lingamneni
d187cc5512
Merge pull request #991 from ajaspers/who_invisible
Hide +i users from WHO * queries.
2020-05-07 19:09:38 -07:00
Alex Jaspersen
a6e4a26cbb Performance optimization for determining friends in WHO <mask>.
Construct a hash set of the user's channels and check that rather than
querying channel membership, to reduce the number of locks that need to be
acquired.
2020-05-08 01:55:47 +00:00
Shivaram Lingamneni
17909a5db0 simplify listener rehash logic 2020-05-07 06:42:50 -04:00
Alex Jaspersen
b3cfcc1289 Show users in WHO queries if they are friends, i.e. they share a channel. 2020-05-07 03:00:28 +00:00
Shivaram Lingamneni
98b91e7bdd review fix 2020-05-06 22:52:01 -04:00
Alex Jaspersen
1ef41d6020 Hide +i users from WHO * queries.
Fixes #990.
2020-05-07 00:16:22 +00:00
Shivaram Lingamneni
14bcd46588 fix #982 2020-05-06 05:56:00 -04:00
Shivaram Lingamneni
b0f692e1ca
Merge pull request #984 from slingamn/issue983_bancomp
fix #983
2020-05-05 22:27:00 -07:00
Shivaram Lingamneni
ab8f542c11 fix #985 2020-05-06 01:15:04 -04:00
Shivaram Lingamneni
984794eb1e fix #983 2020-05-06 01:07:06 -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
872fd3e77c
Merge pull request #975 from slingamn/shorten_batch_id
use shorter batch IDs
2020-05-05 03:27:43 -07:00
Shivaram Lingamneni
5ae6f6b927 fix incorrect propagation of listener errors 2020-05-05 06:25:28 -04:00
Shivaram Lingamneni
4ef6c58317 work around a chrome bug 2020-05-05 04:13:55 -04:00
Shivaram Lingamneni
620e30293d use consistent spelling of WebSocket 2020-05-05 04:07:19 -04:00
Shivaram Lingamneni
3d3aec6979 fix missing err check, thanks @eklitzke 2020-05-04 23:42:34 -04:00
Shivaram Lingamneni
3dc5c8de78 more work on websocket support 2020-05-04 23:26:51 -04:00
Alex Jaspersen
b363a01a6f Read accounts and grouped nicks in same transaction. 2020-05-04 02:20:28 +00:00
Alex Jaspersen
73bea0168d Read account names and additional nicknames from the db to avoid casefolding issues. 2020-05-04 02:14:55 +00:00
Alex Jaspersen
6019ed1e29 Add ChanServ and NickServ LIST commands.
These commands search the registered nicknames/channels for ones
matching the provided regex, or return the entire list.

Only operators with chanreg (for ChanServ) or accreg (for NickServ)
capabilities can use LIST.
2020-05-04 00:51:39 +00:00
Shivaram Lingamneni
3a571f28ac use shorter batch IDs 2020-05-03 03:27:13 -04:00
Shivaram Lingamneni
25813f6d3a Merge remote-tracking branch 'origin/master' into websockets_draft.2 2020-04-30 22:16:07 -04:00
Hubert Hirtz
f5930444f7 WebSocket support 2020-04-30 23:17:33 +02: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
52910a185c Add test for ParseDefaultUserModes. 2020-04-30 03:54:18 +00:00
Alex Jaspersen
df9bf15f00 Add support for setting user modes by default. 2020-04-30 03:54:09 +00:00
Shivaram Lingamneni
a06b4d5e88
Merge pull request #965 from slingamn/delayedlist.1
fix #964
2020-04-26 22:05:46 -07:00
Shivaram Lingamneni
3626958f1e also exempt operators from LIST restrictions 2020-04-27 00:58:48 -04:00
Shivaram Lingamneni
5cdb81e1ea use Nick() 2020-04-26 03:08:44 -04:00
Shivaram Lingamneni
57e2187742 fix #964 2020-04-26 02:52:09 -04:00
Shivaram Lingamneni
a7f020320e make erase confirmation code nondeterministic 2020-04-24 15:41:58 -04:00
Shivaram Lingamneni
f87b71b93f fix #962 2020-04-24 15:39:39 -04:00
Shivaram Lingamneni
4722f8a96c fix #959 2020-04-24 01:33:21 -04:00
Shivaram Lingamneni
40d3c59139 fix #955 2020-04-23 02:02:07 -04:00
Shivaram Lingamneni
eebe681538 fix #532 2020-04-23 01:29:08 -04:00
Shivaram Lingamneni
bd088ea197 fix #951 2020-04-22 22:19:59 -04:00
Shivaram Lingamneni
360a5af90d fix #950 2020-04-22 21:52:24 -04:00
Hubert Hirtz
f2e3287f8d use servername instead of nickmask for RPL_UMODEIS prefix 2020-04-16 09:31:54 +02:00
Shivaram Lingamneni
f07a456688
Merge pull request #944 from slingamn/issue827_rename
fix #827
2020-04-13 10:13:47 -07:00
Shivaram Lingamneni
9a6cb84b58 fix #943 2020-04-13 11:54:39 -04:00
Shivaram Lingamneni
04549e7919 fix #827 2020-04-12 22:41:23 -04:00
Shivaram Lingamneni
f4f7a8afaa shorten type names to 10 chars 2020-04-12 14:01:07 -04:00
Shivaram Lingamneni
11d1d96d71 align up to 10 2020-04-12 13:45:24 -04:00
Shivaram Lingamneni
dbbcd800c9 align log messages with space padding 2020-04-12 13:33:36 -04:00
Shivaram Lingamneni
6e4b0b3125 remove log type sanitization 2020-04-12 13:33:36 -04:00
Shivaram Lingamneni
ded03ee618 fix timestamp formatting 2020-04-12 13:30:43 -04:00
Shivaram Lingamneni
6a900ca0cb strip out log coloring 2020-04-12 12:54:02 -04:00
Shivaram Lingamneni
80424a6f00 fix #936 2020-04-07 12:24:44 -04:00
Shivaram Lingamneni
3f717436f8 fix #933 2020-04-06 13:10:38 -04:00
Shivaram Lingamneni
ecb4aa03aa
Merge pull request #931 from slingamn/issue930
fix #930
2020-04-06 07:52:04 -07:00
Shivaram Lingamneni
ae2a92ca9a
Merge pull request #929 from slingamn/verify_rename.1
enforce nick protection immediately after verification
2020-04-06 07:51:53 -07:00
Shivaram Lingamneni
8fb5eee171 fix #930 2020-04-06 10:47:55 -04:00
Shivaram Lingamneni
d6e3f188cf enforce nick protection immediately after verification 2020-04-06 02:38:29 -04:00
Shivaram Lingamneni
ee05a4324d fix #920, #921 2020-04-05 03:48:59 -04:00
Shivaram Lingamneni
6e630a0b5c add the smtp code from the go 1.14.1 release 2020-04-03 11:32:13 -04:00
Shivaram Lingamneni
46f68d4cf2 fix #922 2020-03-31 14:28:26 -04:00
Shivaram Lingamneni
bbd8807d65
Merge pull request #915 from slingamn/issue817_fakelag.1
fix #817
2020-03-29 18:00:34 -07:00
Shivaram Lingamneni
895a0e6d68 fix #913 2020-03-27 17:52:37 -04:00
Shivaram Lingamneni
73d795e6b4 fix #817 2020-03-27 10:40:19 -04:00
Shivaram Lingamneni
8acd58e263 fix #908 2020-03-26 16:25:37 -04:00
Shivaram Lingamneni
0cce086367
Merge pull request #910 from slingamn/amode.2
partial implementation of #729
2020-03-26 09:30:30 -07:00
Shivaram Lingamneni
b61d258d0c retain nickname protections after unregistration 2020-03-25 16:24:08 -04:00
Shivaram Lingamneni
c238f07543 fix #908 2020-03-25 14:07:43 -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
Hubert Hirtz
1095aca5e7 irc/modes: remove duplicate test case 2020-03-24 14:56:50 +01:00
Shivaram Lingamneni
f2da69d49f fix #898 2020-03-22 18:18:48 -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
101dc6b0d9 increase TLS handshake timeout 2020-03-22 10:09:20 -04:00
Shivaram Lingamneni
48f6bb79c8
Merge pull request #890 from slingamn/permanent_accounts.2
make account names permanent identifiers
2020-03-21 21:20:18 -07:00
Shivaram Lingamneni
5e5003f5b6 fix #850 2020-03-20 15:14:27 -04:00
Shivaram Lingamneni
811da03ab5 fix #889 2020-03-20 14:47:40 -04:00
Shivaram Lingamneni
3363076689 fix #793 2020-03-20 14:29:49 -04:00
Shivaram Lingamneni
2d908eac8b fix #874 2020-03-20 09:16:22 -04:00
Shivaram Lingamneni
28b7639c26 fix #883 2020-03-20 07:17:58 -04:00
Shivaram Lingamneni
2428acab95 enhancements to roleplay 2020-03-19 17:10:28 -04:00
Shivaram Lingamneni
2bb36e6cb8 fix roleplay messages not being relayed
See #865.
2020-03-19 15:12:28 -04:00
Shivaram Lingamneni
621df31577 fix #704 2020-03-19 07:26:17 -04:00
Shivaram Lingamneni
b32dd5ce33 rename a variable 2020-03-19 05:09:25 -04:00
Shivaram Lingamneni
ca3be51028 fix double application of guest prefix 2020-03-19 05:08:53 -04:00
Shivaram Lingamneni
bd45c346dc fix #685 2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
9559ea6764 fix #408 2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
442055ff30 fix #842 2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
ece444d04b fix #805 2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
65ebe7f64a fix #868 2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
39d3194104 fix #869 2020-03-18 07:07:20 -04:00
Shivaram Lingamneni
988d97d68a fix #846 2020-03-18 07:07:20 -04:00
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