Commit Graph

1906 Commits

Author SHA1 Message Date
Shivaram Lingamneni d1f8317180 fix #1479
Give Tor clients who authenticate via SASL a unique cloak, so chanops
can ban *!*@tor-network.onion and still allow authenticated Tor users
2021-01-12 08:40:13 -05:00
Shivaram Lingamneni 1db9cdd989 fix incorrect CTCP ACTION messages sent by roleplay 2020-12-31 14:06:19 -05:00
Shivaram Lingamneni ec375f5bdc consolidate ArgsToStrings 2020-12-30 00:41:34 -05:00
Shivaram Lingamneni 0c9ecbade7 ERR_HELPNOTFOUND should take the nick as a parameter 2020-12-29 13:19:46 -05:00
Shivaram Lingamneni 6965031aa9 fix #1472
HELP responses weren't taking the client nickname as a parameter,
as is standard.
2020-12-29 05:20:18 -05:00
Shivaram Lingamneni 7c4d016fcb fix incorrect sprintf-before-unescape 2020-12-27 20:17:24 -05:00
Shivaram Lingamneni 5342ab1bb1
Merge pull request #1470 from slingamn/issue1468_relaymsg_tag
fix #1468
2020-12-22 02:16:17 -05:00
Shivaram Lingamneni a566c85b12
Merge pull request #1438 from slingamn/issue1436_badchars
fix #1436
2020-12-22 02:16:01 -05:00
Shivaram Lingamneni 8abbc1072b additionally disallow ; in nicknames 2020-12-21 23:09:34 -05:00
Shivaram Lingamneni 514a2e613f fix #1468 2020-12-21 22:07:48 -05:00
Shivaram Lingamneni 48166b5b4b Implement expiration for always-on clients
Fixes #810
2020-12-21 05:11:50 -05:00
Shivaram Lingamneni be31d33dc4 shorten the cached batch ID for multilines 2020-12-18 03:13:01 -05:00
Shivaram Lingamneni fd71b79bb8 Enhancements to CS PURGE
1. Consolidate PURGE and UNPURGE into subcommands
2. Add PURGE LIST
3. PURGE ADD now requires a confirmation code

Fixes #1294
2020-12-15 04:00:44 -05:00
Shivaram Lingamneni 4d5815ab2e
Merge pull request #1456 from slingamn/rename_skeleton_bug.2
fix critical bugs in RENAME
2020-12-15 02:02:07 -05:00
Shivaram Lingamneni 5b79e427b5
Merge pull request #1460 from slingamn/issue1449_invite_playback
fix #1449
2020-12-14 23:43:27 -05:00
Shivaram Lingamneni f717fceead
Merge pull request #1461 from slingamn/issue1452_enable_mysql
fix #1452
2020-12-14 23:42:47 -05:00
Shivaram Lingamneni cc2b6d27a0 fix critical bugs in RENAME
Channel rename (both of registered and unregistered channels) would leave
the old name unreclaimable.
2020-12-14 23:35:46 -05:00
Shivaram Lingamneni ba72d3acfc implement a channel forwarding mode
Fixes #1260
2020-12-14 22:38:23 -05:00
Shivaram Lingamneni dd4fd1cbb6 fix #1452 2020-12-14 15:31:55 -05:00
Shivaram Lingamneni 15a0cda78b pointless refactor of stripMaskFromNick 2020-12-14 15:23:01 -05:00
Shivaram Lingamneni 853bb12c29 fix #1449
INVITE playback (#1409) was buggy, due to the double use of (Item).Params[0]
for the channel name and the recipient nick. Stuff the channel name in
(Item).Message.Message instead.
2020-12-14 08:24:38 -05:00
Shivaram Lingamneni 9033d97c6f
Merge pull request #1450 from slingamn/tor_defcon
DEFCON 4 and lower should require SASL from Tor users
2020-12-13 20:06:30 -05:00
Shivaram Lingamneni 47f7b9a76e make CAP LS/LIST respect the MaxLineLen constant 2020-12-13 15:44:10 -05:00
Shivaram Lingamneni 534939c342 DEFCON 4 and lower should require SASL from Tor users 2020-12-11 05:04:56 -05:00
Shivaram Lingamneni 96380adf27
Merge pull request #1446 from slingamn/reservation_docs
manual updates for nick reservation and email verification
2020-12-08 23:10:01 -08:00
Shivaram Lingamneni 84e3b5d77b stop autocreating d-lines for throttle violations
This didn't work correctly for IPv6 or custom nets.
/UNDLINE IP can temporarily be used to reset the throttle.
2020-12-08 22:01:23 -05:00
Shivaram Lingamneni 45471138d2 update nick reservation docs 2020-12-08 02:11:53 -05:00
Shivaram Lingamneni 44cc4c2092 introduce "flat ip" representations 2020-12-07 21:21:10 -05:00
Shivaram Lingamneni c8c1ddfb41 fix #1439
Validate imported databases for confusable nicks
2020-12-07 13:35:58 -05:00
Shivaram Lingamneni 48d5bd9144 fix #1436 2020-12-07 03:51:52 -05:00
Shivaram Lingamneni e994e0451a fix incorrect vhost serialization 2020-12-07 02:29:18 -05:00
Shivaram Lingamneni da2d4ca130 make overridden services hostname appear in chanserv 2020-12-07 02:29:18 -05:00
Shivaram Lingamneni 66d90bef5e change FAIL codes from NOT_PRIVED to PRIVS_NEEDED 2020-12-06 21:01:44 -05:00
Shivaram Lingamneni 7bdbb01238 fix #1428
Tor listeners should never see an STS cap.

Add an undocumented 'hide-sts' key for listeners that hides the STS cap.
This can be used if the listener is secured at layer 3 or 4 (VPNs,
E2E mixnets). It will be necessary to add the relevant IPs to `secure-nets`.
2020-12-05 23:06:23 -05:00
Shivaram Lingamneni f9b842c88b fix #1421
Allow custom limit definitions that encompass multiple subnets
2020-12-04 14:24:19 -05:00
Shivaram Lingamneni 7e56f62aed
Merge pull request #1419 from slingamn/alwayson_channelmodes.1
fix #1345
2020-12-04 02:28:38 -08:00
Shivaram Lingamneni 281821ed0e validate amode recipients 2020-12-04 04:50:40 -05:00
Shivaram Lingamneni 32f3c69a08 support certfp import 2020-12-04 04:37:24 -05:00
Shivaram Lingamneni c0bc485840 schema change for #1345
Convert the flat list of channels for always-on clients
to a map from channel names to channel-user modes.
2020-12-02 15:32:17 -05:00
Shivaram Lingamneni 51f279289d fix #1345
Store the channel-user modes of always-on clients along with their
channel memberships, restore them on server startup. This will coexist
alongside /CS AMODE, which autoapplies modes to clients on join regardless
of their always-on status.
2020-12-02 15:31:49 -05:00
Shivaram Lingamneni 01291ceadd fix #1417
Allow `JOIN 0` with a confirmation code
2020-12-01 14:23:47 -05:00
Shivaram Lingamneni 1b91360885 fix incorrect TAGMSG relaying 2020-11-30 17:08:53 -05:00
Shivaram Lingamneni db100f1f91
Merge pull request #1231 from slingamn/buffer.2
more memory-efficient implementation of line reading
2020-11-30 02:34:25 -08:00
Shivaram Lingamneni a34918e729 add a fuzz test for IRCStreamConn changes 2020-11-30 02:08:47 -05:00
Shivaram Lingamneni 5edfcced0a
Merge pull request #1415 from slingamn/issue1409_invite_history.1
fix #1409
2020-11-29 19:47:22 -08:00
Shivaram Lingamneni b4cd62bece
Merge pull request #1414 from slingamn/issue1396_account_snomask
fix #1396
2020-11-29 19:46:12 -08:00
Shivaram Lingamneni b28004bbd9
Merge pull request #1410 from slingamn/welcome
add network name to RPL_WELCOME
2020-11-29 19:45:36 -08:00
Shivaram Lingamneni 32bbde49a8 fix #1409
Record INVITE in DM history for the benefit of offline always-on clients
2020-11-29 22:12:06 -05:00
Shivaram Lingamneni c62956f708 fix #1396
* Defer account login snomask until after connection registration is complete
* Don't send account-notify for pre-registration clients
2020-11-29 20:20:26 -05:00
Shivaram Lingamneni e18eb1db99 fix #1411
Clients without event-playback should receive client-only tags in
replayed PRIVMSG / NOTICE.
2020-11-29 19:57:47 -05:00
Shivaram Lingamneni 42d5e767dd add network name to RPL_WELCOME 2020-11-29 16:34:52 -05:00
Shivaram Lingamneni 0fcaf778e0
Merge pull request #1400 from slingamn/issue1387_messagecaching.4
fix #1387
2020-11-29 02:32:59 -08:00
Shivaram Lingamneni 3ee6fd1f6c allow overriding services hostname
Fixes #1407
2020-11-29 00:02:26 -05:00
Shivaram Lingamneni 9214d978d0 refactor services prefixes and notice handlers 2020-11-29 00:02:26 -05:00
Shivaram Lingamneni ec15d367ba fix #1387
Instead of building a new serialized message for each recipient,
try to cache them.
2020-11-27 00:13:47 -05:00
Shivaram Lingamneni a0d7d8d028 mention UN[DK]LINE in [DK]LINE help 2020-11-26 12:54:50 -05:00
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 c57828eb62 documentation updates for proxy v2 2020-11-19 17:01:56 -05:00
Shivaram Lingamneni 3062f97c2b fix #1389
Support PROXY protocol v2, including ahead of plaintext connections
2020-11-19 12:31:58 -05:00
Shivaram Lingamneni a6a8548466 fix SAJOIN not sending a MODE line where applicable 2020-11-12 11:57:30 -05:00
Shivaram Lingamneni a8ffb11deb use server name as source for chanserv mode changes, for consistency 2020-11-12 11:50:28 -05:00
Shivaram Lingamneni 6a6f104899 fix casefolding issue in NS SUSPEND DEL
NS SUSPEND DEL incorrectly required the use of the casefolded account name.
2020-11-11 11:09:09 -05:00
Shivaram Lingamneni 4f571c2cf3 implement NS RENAME
Fixes #1380
2020-11-10 19:59:12 -05:00
Shivaram Lingamneni 8ad6a53433 fix duplicated nicks in kline message 2020-11-10 11:17:17 -05:00
Shivaram Lingamneni 60ede87ab0 set up new development version 2020-11-08 20:17:22 -05:00
Shivaram Lingamneni 58b5d3c72d fix channel mode help text 2020-11-08 17:33:45 -05:00
Shivaram Lingamneni eeb7c6cb91 bump version to 2.4.0 2020-11-07 21:34:21 -05:00
Shivaram Lingamneni 9374a75c7a implement FAIL CHATHISTORY INVALID_TARGET 2020-11-04 01:54:59 -05:00
Shivaram Lingamneni dac43e6e76 fix #1370 2020-11-01 18:09:04 -05:00
Shivaram Lingamneni 40118d1533 bump version to 2.4.0-rc1 2020-10-31 22:17:58 -04:00
Shivaram Lingamneni 6513136ea3 fix #1366
Include an 'r' flag in RPL_WHOREPLY for registered nicks
2020-10-29 14:25:28 -04:00
Shivaram Lingamneni 5094b9da02 fix strings for NS SUSPEND 2020-10-28 20:32:55 -04:00
Shivaram Lingamneni 2bb2cab6c2
Merge pull request #1361 from slingamn/suspend.5
fix #1274
2020-10-28 08:12:46 -07:00
Shivaram Lingamneni 5418e5e794 fix #769
Add 379 RPL_WHOISMODES
2020-10-27 18:54:45 -04:00
Shivaram Lingamneni 4296ff02a4 schema change for #1274 2020-10-27 18:30:03 -04:00
Shivaram Lingamneni 1f6afa31d6 fix #1274
Enhancements to NS SUSPEND, including stored metadata and the ability
to list suspensions
2020-10-27 18:30:03 -04:00
Shivaram Lingamneni dc456bd6a4 refactor schema versions to be ints, not strings 2020-10-27 12:26:44 -04:00
Shivaram Lingamneni 70b8bf75c5
Merge pull request #1360 from slingamn/issue861_fakelag
fix #861
2020-10-26 20:12:57 -07:00
Shivaram Lingamneni a6e7e1f321
Merge pull request #1359 from slingamn/deop.1
fix #361
2020-10-26 20:12:18 -07:00
Shivaram Lingamneni 610fc5068d refactor DEOP
DEOP is now pure syntactic sugar for /mode #channel -o nick,
the change is attributed to the originating user and not to ChanServ.
2020-10-26 23:08:05 -04:00
Shivaram Lingamneni 2f4431a5fb fix #861
Allow messages-per-window to be 0
2020-10-26 21:06:03 -04:00
Shivaram Lingamneni b57820150e no-op fix to SETNAME workaround 2020-10-26 18:06:06 -04:00
Shivaram Lingamneni 9c4b086113
Merge pull request #1355 from slingamn/invite
security enhancements for INVITE
2020-10-26 13:30:41 -07:00
Shivaram Lingamneni c61b09e314
Merge pull request #1358 from slingamn/setname
enhancements to SETNAME
2020-10-26 13:30:29 -07:00
Shivaram Lingamneni 5dcb2bb60c enhancements to SETNAME
Address SETNAME UX problems reported by @KoraggKnightWolf in #oragono:

1. No feedback by default on success or failure
2. Multi-word realnames are not correctly interpreted by some clients
2020-10-26 15:31:51 -04:00
Shivaram Lingamneni 6a5ba82f29
Merge pull request #1356 from slingamn/kline
validate normalized masks as IRC params
2020-10-26 11:58:45 -07:00
Barry f010914965
Added ChanServ DEOP command 2020-10-26 18:18:54 +02:00
Shivaram Lingamneni af2b433195 validate normalized masks as IRC params 2020-10-25 23:32:24 -04: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 203fc580f4 fix #1049 2020-10-25 13:58:57 -04:00
Shivaram Lingamneni cf5a426f90 fix #1346 2020-10-22 12:19:19 -04:00
Shivaram Lingamneni bd40b46639 fix #307 2020-10-21 11:08:55 -04:00
Shivaram Lingamneni a30e369225 add +u and +U to CHANMODES token 2020-10-20 21:24:47 -04:00
Shivaram Lingamneni f019f62167
Merge pull request #1340 from slingamn/coerce_ident
replace suppress-ident with coerce-ident; make coerce-ident a recommended default
2020-10-20 15:31:13 -07:00
Shivaram Lingamneni 76e3d67b66 replace suppress-ident with coerce-ident 2020-10-20 13:48:19 -04:00
Shivaram Lingamneni 5a9e79f06c fix #1178 2020-10-20 13:37:38 -04:00
Shivaram Lingamneni 4737578748
Merge pull request #1339 from slingamn/issue1337
fix #1337
2020-10-19 08:22:00 -07:00
Shivaram Lingamneni a37a91694c fix #1337 2020-10-19 10:52:38 -04:00
Shivaram Lingamneni 347cc30ed4 fix a potential conflict with delayed verification of confusable names
0. Enable email verification
1. Register `dog`
2. Register `d0g`
3. Verify `dog`
4. Verify `d0g`: verification succeeds but the nick cannot be used
2020-10-16 17:21:09 -04:00