3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-15 08:29:31 +01:00
Commit Graph

2114 Commits

Author SHA1 Message Date
Shivaram Lingamneni
bb5276553d initial UBAN implementation 2021-01-19 08:49:45 -05:00
Shivaram Lingamneni
64bc363cf1 fix #1443
Improve auditability of sensitive operator actions
2021-01-19 06:45:30 -05:00
Shivaram Lingamneni
e195854851 fix #1442
strip local_ from oper capab names, also consolidate unban into ban
2021-01-19 06:45:30 -05:00
Shivaram Lingamneni
6b7f0e15ac fix always-on expiration checks
checkAlwaysOnExpirationNoMutex was respecting registered status, but
always-on clients were not considered registered at the time of the
initial check, so they were being created regardless of expiration.
2021-01-15 06:50:35 -05:00
Shivaram Lingamneni
7b300a802f
Merge pull request #1484 from slingamn/utf8only
initial work on #1483
2021-01-15 06:21:53 -05:00
Shivaram Lingamneni
db81b15acb initial work on #1483
Add the new utf8-only cap, disallow non-utf8 when websockets are enabled
2021-01-15 06:19:13 -05:00
Shivaram Lingamneni
3e230e2a17
Merge pull request #1480 from slingamn/issue1479_tor_cloak
fix #1479
2021-01-15 06:18:35 -05:00
Shivaram Lingamneni
bafadf3aac fix #1476
enable the use of grouped nicks as account names for SASL,
if force-nick-equals-account is disabled
2021-01-12 09:33:57 -05:00
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
Shivaram Lingamneni
cf46377863 fix #1332 2020-10-16 17:21:09 -04:00
Shivaram Lingamneni
c639aac241 log the unfolded account name during registration 2020-10-16 17:21:09 -04:00
Shivaram Lingamneni
af8ed62de8 schema change for #1330 2020-10-16 12:08:23 -04:00
Shivaram Lingamneni
ea68b9de0a fix #1330 2020-10-16 12:03:38 -04:00
Shivaram Lingamneni
898f8aad07 add a schema change 2020-10-16 09:11:47 -04:00
Shivaram Lingamneni
4b2a094921 fix #1327 2020-10-16 00:58:12 -04:00
Shivaram Lingamneni
328f6013f3 fix #1326 2020-10-15 13:03:44 -04:00
Shivaram Lingamneni
1d74185b7d fix #1322 2020-10-13 00:38:23 -04:00
Shivaram Lingamneni
82be9a8423 support migrating anope databases 2020-10-12 15:06:17 -04:00
Shivaram Lingamneni
4336f56204
Merge pull request #1317 from slingamn/hidden_userhost
USERHOST needs to respect hidden operators as well
2020-10-09 11:34:35 -07:00
Shivaram Lingamneni
4ee97ddb43 USERHOST needs to respect hidden operators as well 2020-10-09 12:29:09 -04:00
Shivaram Lingamneni
8cd7085d0b separate rawHostname and cloakedHostname for always-on clients
This affects RPL_WHOISACTUALLY and possibly others.
2020-10-09 11:11:06 -04:00
Shivaram Lingamneni
78b2f61707 fix #1194 2020-10-09 08:03:26 -04:00
Shivaram Lingamneni
c470f63daf fix #1312 2020-10-08 16:33:27 -04:00
Shivaram Lingamneni
7fd5bc8d81 review fix 2020-10-07 09:20:26 -04:00
Shivaram Lingamneni
754fb79cdd review fixes 2020-10-07 08:54:46 -04:00
Shivaram Lingamneni
9ed789f67c fix #1075 2020-10-06 18:04:29 -04:00
Shivaram Lingamneni
509d3f1fdd
Merge pull request #1301 from oragono/atheme_migration
first draft of atheme migration code
2020-10-06 15:03:08 -07:00
Shivaram Lingamneni
1ec029a53b review fixes
1. Avoid undefined behavior of time.Time{}.UnixNano()
2. Times should be compared with Equal()
2020-10-06 17:56:13 -04:00
Shivaram Lingamneni
a19324b948 fix #1293 2020-10-05 07:35:18 -04:00
Shivaram Lingamneni
32fc9f226f fix #1303 2020-10-05 06:28:19 -04:00
Shivaram Lingamneni
7a6413ea2c first draft of atheme migration code 2020-10-02 16:48:37 -04:00
Shivaram Lingamneni
8c99dcb2c7 fix #484 2020-10-02 08:13:52 -04:00
Shivaram Lingamneni
c279b2d14c DRY mode apply code
ParseUserModeChanges and ParseChannelModeChanges already validate
that the modes are modifiable, so there's no need to repeat it here.
2020-10-01 19:52:50 -04:00
Shivaram Lingamneni
b426ba628a actually enable the +T no-ctcp umode 2020-10-01 19:21:42 -04:00
Shivaram Lingamneni
127a03ccf3 fix #1295 2020-10-01 09:42:08 -04:00
Shivaram Lingamneni
475d7ba418 fix non-linux builds 2020-09-29 15:22:12 -04:00
Shivaram Lingamneni
f12384c5a6 Output unix socket credentials where applicable
thanks @ajaspers!
2020-09-24 10:59:30 -04:00
Shivaram Lingamneni
a6d793a2d5 pointless optimization 2020-09-24 08:35:03 -04:00
Shivaram Lingamneni
1bbf6ab936
Merge pull request #1286 from slingamn/issue1284.1
fix #1284
2020-09-24 05:00:14 -07:00
Shivaram Lingamneni
d9f1c8e1c4 require local_ban capab to see uncloaked IPs 2020-09-24 07:25:04 -04:00
Shivaram Lingamneni
8b01d19336
Merge pull request #1280 from slingamn/issue1277_sanick
fix #1277
2020-09-24 04:10:44 -07:00
Shivaram Lingamneni
bcdf61bd7a fix #1284 2020-09-24 02:44:12 -04:00
Shivaram Lingamneni
7d5a071a34 fix #1277 2020-09-23 02:30:34 -04:00
Shivaram Lingamneni
1a9f501383 fix #414 2020-09-23 02:25:29 -04:00
Shivaram Lingamneni
b478a13671 fix NICK responses for SANICK 2020-09-21 20:30:42 -04:00
Alex Jaspersen
504659abb5 Add +M (only registered/voice can speak) chanmode.
Add chanmode preventing speech to error message.

Fixes #1182.
2020-09-21 16:05:00 -07:00
Alex Jaspersen
ca2132ff09 Add NickServ "CLIENTS LIST" and "CLIENTS LOGOUT".
CLIENTS LIST shows information about clients attached to a nick.
CLIENTS LOGOUT allows individual (or all) sessions to be logged out.

SESSIONS is now an alias for CLIENTS LIST.

Fixes #1072.
2020-09-19 10:19:41 -07:00
Shivaram Lingamneni
498d76b131 fix #1240 2020-09-16 12:03:06 -04:00
Shivaram Lingamneni
6a0d11d449 make roleplay.enabled default to false when unset
See #1240.
2020-09-16 11:32:52 -04:00
Shivaram Lingamneni
0073b98505 fix (*http.Server).Serve() exiting on ErrBadProxyLine
anything other than a (net.Error) with Temporary() == true
is treated as a fatal error that causes the http server to exit
2020-09-16 06:12:27 -04:00
Shivaram Lingamneni
f3cdf8442a pass the require-sasl message through from the script 2020-09-14 08:16:03 -04:00
Shivaram Lingamneni
1a98a37a75 scripting API for IP bans
See discussion on #68.
2020-09-14 04:28:12 -04:00
Shivaram Lingamneni
32bb10f6c6 make channel founder unkickable 2020-09-09 23:15:00 -04:00
Shivaram Lingamneni
20aaa1ab06 fix #1259 2020-09-09 11:46:05 -04:00
Shivaram Lingamneni
af056f26a9 fixes and refactoring 2020-09-09 05:35:04 -04:00
Shivaram Lingamneni
8102d1ddb6 Merge remote-tracking branch 'origin/master' into master+relaymsg 2020-09-09 03:55:41 -04:00
Shivaram Lingamneni
307adba8bd fix #1213 2020-09-07 06:00:53 -04:00
Shivaram Lingamneni
60db9536f4
Merge pull request #1241 from slingamn/restricted_stringset
use utils.StringSet in more places
2020-09-05 22:31:17 -07:00
Shivaram Lingamneni
bfb3fd702a
Merge pull request #1249 from jesopo/pong-params
PONG param 0 should be server name
2020-09-05 22:30:50 -07:00
Shivaram Lingamneni
f589a673a7 set up new development version 2020-09-06 01:21:10 -04:00
Shivaram Lingamneni
e43db479ca bump version to 2.3.0 2020-09-06 01:02:05 -04:00
Shivaram Lingamneni
ed8de2a77a remove dead code 2020-09-03 18:37:18 -04:00
Shivaram Lingamneni
71cdc43d9a fix #1254 2020-09-01 02:41:15 -04:00
Shivaram Lingamneni
f58e66152d bump version to 2.3.0-rc2 2020-08-30 02:29:21 -04:00
Shivaram Lingamneni
01726f8935 fix #1252 2020-08-29 23:40:49 -04:00
Shivaram Lingamneni
3bcf67b956 fix #1251 2020-08-29 21:42:27 -04:00
jesopo
574b07513c PONG param 0 should be server name
fix #1248
2020-08-26 09:18:53 +00:00
Shivaram Lingamneni
20fcbe5147 remove stray references to timeout enforcement
These should have been removed in #1027.
2020-08-25 14:11:13 -04:00
Shivaram Lingamneni
ddb8400124 include go version even without the git hash 2020-08-23 21:59:19 -04:00
Shivaram Lingamneni
6628a3d1c6 fix #1244 2020-08-23 18:11:10 -04:00
Shivaram Lingamneni
4c0144c708 bump version to 2.3.0-rc1 2020-08-23 00:20:20 -04:00
Shivaram Lingamneni
1dd0c432fd use utils.StringSet in more places 2020-08-22 22:43:21 -04:00
Shivaram Lingamneni
b1c3a1467a clean up handling of no-op nick changes 2020-08-22 22:26:50 -04:00
Shivaram Lingamneni
e706124852 correct trailing space on +R usermode documentation 2020-08-13 13:17:31 -04:00
Shivaram Lingamneni
682f8f66c5 add compiler version to INFO output 2020-08-10 18:14:22 -04:00
Shivaram Lingamneni
c50c267d3c better debug logline for failed message building 2020-08-10 17:33:24 -04:00
Shivaram Lingamneni
b54d0f8f34 add timer coalescing for the common case 2020-08-08 23:07:53 -04:00
Shivaram Lingamneni
a3e5c9e98c fix #1229 2020-08-07 18:11:39 -04:00
Shivaram Lingamneni
c78253fd93 more memory-efficient implementation of line reading 2020-08-07 01:10:46 -04:00
Shivaram Lingamneni
1c4f9daae7 remove some dead code 2020-08-07 00:16:04 -04:00
Shivaram Lingamneni
55b21fa86c
Merge pull request #1227 from slingamn/issue1225.2
fix #1225
2020-08-06 01:19:39 -07:00
Shivaram Lingamneni
88b09e5919
Merge pull request #1226 from slingamn/websocket_dos
mitigate a potential DoS against websocket listeners
2020-08-06 01:08:01 -07:00
Shivaram Lingamneni
06882a9b89 fix #1225 2020-08-06 03:28:10 -04:00
Shivaram Lingamneni
7b28fc73e6
Merge pull request #1223 from hhirtz/rename
Update draft/rename impl
2020-08-05 14:02:15 -07:00
Hubert Hirtz
f6d5fe812f Update draft/rename implementation
Link to the new draft PR:
<https://github.com/ircv3/ircv3-specifications/pull/420>

Changes in the spec:

- Use standard replies instead of numerics:
  <https://github.com/ircv3/ircv3-specifications/pull/420/files#diff-70e90beef48dc9cf5d784d1e179ea822R44>
- Allow RENAME to a different case:
  <https://github.com/ircv3/ircv3-specifications/pull/420/files#diff-70e90beef48dc9cf5d784d1e179ea822R42>

This commit makes oragono send the PART-JOIN fallback even on case-only
changes. This is so that clients don't have to worry about oragono's
UTF8 casefolding. See the following comments for further info:
<https://github.com/ircv3/ircv3-specifications/pull/420#issuecomment-668770837>

Misc fixes:

- Remove unused variable,
- Add missing calls to utils.SafeErrorParam,
- Don't fill replies with the user-provided "oldName", for the same
  reason as sending the PART-JOIN fallback.
2020-08-05 22:46:30 +02:00
Shivaram Lingamneni
aad39024b9 mitigate a potential DoS against websocket listeners
Websocket listeners would process an arbitrary number of invalid
(non-text or blank) messages without throttling. This imposes fakelag
on such messages by treating them as blank lines.
2020-08-05 15:00:39 -04:00
Shivaram Lingamneni
df8be72c6f move StringSet to utils package 2020-08-04 21:54:03 -04:00
Shivaram Lingamneni
ddac7d94a8 use ChannelSet 2020-08-04 21:46:07 -04:00
Shivaram Lingamneni
15c54e80de clean up some error handling 2020-08-03 23:57:42 -04:00
Shivaram Lingamneni
9000383f88 Move config errors to call sites
Since allocating them is rare.
2020-08-03 12:55:52 -04:00
Shivaram Lingamneni
6a2fba9812 make it easier to patch out the maximum line length 2020-08-03 12:51:04 -04:00
Shivaram Lingamneni
470756cd3e fix an edge case with /NS SASET user always-on true
If force-nick-equals-account is disabled, then this could cause
a client with a non-reserved (or grouped) nick to become always-on.
(This can't happen with `/NS SET always-on true` because we check in
advance.)
2020-07-27 06:08:06 -04:00
Shivaram Lingamneni
027886046c clean up always-on state machine 2020-07-27 00:21:16 -04:00
Shivaram Lingamneni
dc90b3c910
Merge pull request #1211 from slingamn/issue1204_echomessage.3
fix #1204
2020-07-26 03:11:27 -07:00
Shivaram Lingamneni
4bb4d02729
Merge pull request #1200 from slingamn/issue1190_remove_offerlist.1
fix #1190
2020-07-26 03:11:12 -07:00
Shivaram Lingamneni
6fbbcbc44f set up v2.3.0-unreleased 2020-07-26 06:00:24 -04:00
Shivaram Lingamneni
58be8463c9 bump version to 2.2.0 2020-07-26 05:47:18 -04:00
Shivaram Lingamneni
d679d21ac0 fix #1216 2020-07-26 04:11:39 -04:00
Shivaram Lingamneni
bcf581f63d fix #1214 2020-07-26 04:03:07 -04:00
Shivaram Lingamneni
6d18a1a78c tweak addEchoMessage signature 2020-07-24 02:55:46 -04:00
Shivaram Lingamneni
28d4971f36 fix #1204 2020-07-24 02:46:02 -04:00
Shivaram Lingamneni
7a16f166c5
Merge pull request #1207 from slingamn/awaystring
tweaks to auto-away
2020-07-21 23:08:50 -07:00
Shivaram Lingamneni
b5f0f9a3ce
Merge pull request #1208 from slingamn/setpassword
alias for NICKSERV SET PASSWORD
2020-07-21 23:08:41 -07:00
Shivaram Lingamneni
af009a5bc1 fix 2-parameter case for *playback 2020-07-21 16:33:17 -04:00
Shivaram Lingamneni
e6e55bbf29 remove 'history' batch type
This was from ircv3-specifications #362, which is now obsolete.
2020-07-21 15:26:03 -04:00
Shivaram Lingamneni
f193298dcd alias for NICKSERV SET PASSWORD 2020-07-21 01:05:13 -04:00
Shivaram Lingamneni
eaae3165f2 don't trigger auto-away if the client is already away 2020-07-20 17:05:29 -04:00
Shivaram Lingamneni
6916dbeae0 use consistent phrase for auto-away message 2020-07-20 16:58:41 -04:00
Shivaram Lingamneni
562b85c1c0 simplify some logic 2020-07-20 14:10:43 -04:00
Shivaram Lingamneni
e827bc0f9c fix #1205 2020-07-20 04:28:17 -04:00
Shivaram Lingamneni
a4343bf77d bump version to 2.2.0-rc1 2020-07-19 02:25:25 -04:00
Shivaram Lingamneni
04844e0a00
Merge pull request #1196 from slingamn/changelog.1
add changelog and documentation updates
2020-07-18 22:59:45 -07:00
Shivaram Lingamneni
ffd00e1aff minor optimization to Client.Friends 2020-07-17 04:53:30 -04:00
Shivaram Lingamneni
32c58c1e1f fix #1190 2020-07-17 04:19:33 -04:00
Shivaram Lingamneni
93530ae397 fix #1198 2020-07-17 02:54:43 -04:00
Shivaram Lingamneni
9e3ad5aff1 fix #1060 2020-07-15 21:57:59 -04:00
Shivaram Lingamneni
a99c893f9b Merge branch 'realname_again' 2020-07-12 16:49:30 -04:00
Shivaram Lingamneni
b3becbf08e clean up no-op 2020-07-12 16:47:17 -04:00
Shivaram Lingamneni
77184c1625 restore transition mechanism 2020-07-12 16:47:11 -04:00
Shivaram Lingamneni
ad32a01c12
Merge pull request #1193 from slingamn/whox.2
refactor WhoFields to use value receivers
2020-07-12 13:41:49 -07:00
Shivaram Lingamneni
a6d41109d0 restore multiprefix support in RPL_WHOREPLY 2020-07-12 16:40:11 -04:00
Conrad Lukawski
6f8711da3b Persist realname for always-on clients 2020-07-12 14:46:36 -04:00
Shivaram Lingamneni
358c85e697
Merge pull request #1191 from slingamn/moderation.3
enhancements to moderation (#1134, #1135)
2020-07-12 11:03:34 -07:00
Shivaram Lingamneni
0a6c1f7cc6
Merge pull request #1189 from slingamn/tagmsg_storage.1
make TAGMSG storage configurable
2020-07-12 10:57:00 -07:00
Shivaram Lingamneni
97417f4c32 refactor WhoFields to use value receivers 2020-07-12 13:45:29 -04:00
Shivaram Lingamneni
bdfee9cb39
Merge pull request #1184 from jesopo/whox
implement WHOX
2020-07-11 19:36:04 -07:00
jesopo
518b21e5aa implement WHOX 2020-07-11 16:45:02 +01:00
Shivaram Lingamneni
a7ca6601c7 enhancements to moderation (#1134, #1135) 2020-07-10 17:09:02 -04:00
Shivaram Lingamneni
57f2857e83
Merge pull request #1185 from slingamn/wrongsource
fix incorrect source of some nickserv messages
2020-07-09 19:44:30 -07:00
Shivaram Lingamneni
bca3dd0b41 make TAGMSG storage configurable 2020-07-09 20:17:50 -04:00
Shivaram Lingamneni
8dd25f66bc review fix 2020-07-09 04:37:30 -04:00
Shivaram Lingamneni
6ea2eb367d fix #328 (implement DEFCON) 2020-07-09 02:16:51 -04:00
Shivaram Lingamneni
7dd25c6ac7 fix incorrect source of some nickserv messages 2020-07-08 21:45:13 -04:00
Shivaram Lingamneni
39269a903b fix #1179 2020-07-06 04:29:21 -04:00
Shivaram Lingamneni
ed0d31e28e review feedback: fix incorrect sts-only RPL_ISUPPORT 2020-07-02 05:13:28 -04:00
Shivaram Lingamneni
dca3965fd3 ensure STS-only 005 is a trailing 2020-07-02 04:00:51 -04:00
Shivaram Lingamneni
f73b389ceb fix #802 2020-07-02 03:38:20 -04:00
Shivaram Lingamneni
09b74aaa37
Merge pull request #1169 from slingamn/banrace.2
fix #1166 and #1168
2020-07-01 02:41:46 -07:00
Shivaram Lingamneni
0b0b1499b0 fix #1167 2020-07-01 04:20:27 -04:00
Shivaram Lingamneni
067e62ad5e fix #1166 and #1168 2020-07-01 03:52:55 -04:00
Shivaram Lingamneni
79764cd549
Merge pull request #1163 from slingamn/list_issue1161
fix #1161
2020-06-30 17:43:48 -07:00
Shivaram Lingamneni
70f533ee07 fix #1155 2020-06-29 21:29:28 -04:00
Shivaram Lingamneni
a7107bfb67
Merge pull request #1156 from slingamn/lastseen
tweaks to lastSeen persistence
2020-06-29 18:04:55 -07:00
Shivaram Lingamneni
696980367d fix #1161 2020-06-29 15:41:29 -04:00
Shivaram Lingamneni
fe2332f0cd remove a stray documentation line 2020-06-29 02:12:24 -04:00
Shivaram Lingamneni
0f04acaa40 persist last seen on shutdown 2020-06-29 00:38:05 -04:00
Shivaram Lingamneni
a38d375bda delete always-on modes on unregistration 2020-06-29 00:38:05 -04:00
Shivaram Lingamneni
e22adf47ca increase write interval for lastSeen 2020-06-29 00:38:05 -04:00
Shivaram Lingamneni
9aa53aa3aa update lastSeen on reattach 2020-06-29 00:38:05 -04:00
Shivaram Lingamneni
d7a62223a0
Merge pull request #1123 from clukawski/no-ctcp-user-mode
Add +T no-CTCP usermode
2020-06-27 21:13:24 -07:00
Conrad Lukawski
fca2900918 Add +T no-CTCP usermode 2020-06-28 00:04:42 -04:00
Shivaram Lingamneni
089a267070 delete some unused fields 2020-06-24 16:50:07 -04:00
Shivaram Lingamneni
ba68358c21
Merge pull request #1152 from slingamn/utf8.1
fix #1151
2020-06-23 01:02:59 -07:00
Shivaram Lingamneni
8cadc7340a don't trim line endings in IRCStreamConn
Doesn't help if the line ends with regular \n only,
and the parser has to account for \r and \n anyway
2020-06-23 03:25:20 -04:00
Shivaram Lingamneni
28a0ec86b5 simplify Socket.Read 2020-06-23 03:25:20 -04:00
Shivaram Lingamneni
7ee7b1aab5
Merge pull request #1150 from slingamn/monitor.1
fix #1053, #1083
2020-06-22 20:25:27 -07:00
Shivaram Lingamneni
0e7557c12d
Merge pull request #1149 from slingamn/issue1059_certfp
fix #1059
2020-06-22 20:23:15 -07:00
Shivaram Lingamneni
be138e4d71 make comment consistent with review fix 2020-06-22 22:34:09 -04:00
Shivaram Lingamneni
58d3d1276f review fix 2020-06-22 18:53:54 -04:00
Shivaram Lingamneni
21e604860f add an explanatory comment 2020-06-22 15:56:47 -04:00
Shivaram Lingamneni
a4f9e08a85 fix #1151 2020-06-22 15:50:28 -04:00
Shivaram Lingamneni
cb530050f1 fix #1053, #1083 2020-06-21 23:51:31 -04:00
Shivaram Lingamneni
97789cde7e fix #1059 2020-06-21 18:42:45 -04:00
Shivaram Lingamneni
01bd04a8ff fix #1050 2020-06-21 18:32:57 -04:00
Shivaram Lingamneni
ca79da87b1 fix disabling of autoreplay-missed 2020-06-18 04:32:54 -04:00
Shivaram Lingamneni
17cd831319 fix #1144 2020-06-18 03:38:00 -04:00
Shivaram Lingamneni
91fa3b30b0 fix the corresponding bug for certfp authentication 2020-06-17 03:09:20 -04:00
Shivaram Lingamneni
9c26c45607 fix a bug in authscript fallback handling 2020-06-17 02:19:25 -04:00
Shivaram Lingamneni
114e359347 remove ldap 2020-06-17 02:15:05 -04:00
Daniel Oaks
fb55cc3390 Ignore some dodgy TL strings, fix another dodgy string 2020-06-16 20:33:10 +10:00
Shivaram Lingamneni
784078d693 fix bug introduced in #1138 2020-06-16 05:10:09 -04:00
Shivaram Lingamneni
90e697f454 read device ID from SASL as well 2020-06-16 04:58:29 -04:00
Shivaram Lingamneni
e61e0143bd refactor/enhance jwt signing 2020-06-15 14:34:58 -04:00
Shivaram Lingamneni
bfeba1f2f3 remove client join time tracking 2020-06-15 14:34:58 -04:00
Daniel Oaks
6bee1f6d6a Review fixes 2020-06-15 14:34:58 -04:00
Daniel Oaks
4164c643e6 Remember when client joins channels, expose in EXTJWT 2020-06-15 14:34:58 -04:00
Daniel Oaks
9b998a7582 Allow custom JWT service expiry times 2020-06-15 14:34:58 -04:00
Daniel Oaks
0bbb5d121d Basic EXTJWT support 2020-06-15 14:34:58 -04:00
Shivaram Lingamneni
df1be01f54 simplify lastSeen handling 2020-06-14 13:52:29 -04:00
Shivaram Lingamneni
218bea5a3e fix #843 2020-06-12 16:26:27 -04:00
Shivaram Lingamneni
d33a084bb6 fix #1125 2020-06-09 18:17:48 -04:00
Shivaram Lingamneni
00e2c2816b use strings.Builder instead of bytes.Buffer where applicable 2020-06-08 23:38:10 -04:00
Daniel Oaks
48509ea852 Review fixes 2020-06-09 02:05:29 +10:00
Daniel Oaks
4535c82fd3 Review fix 2020-06-08 15:25:59 +10:00
Daniel Oaks
efd3152bfb Add relayed messages to channel history 2020-06-08 15:22:41 +10:00
Daniel Oaks
4ecd7fdf43 Allow configuring relay 2020-06-08 15:17:45 +10:00
Daniel Oaks
4ee49f8450 Initial RELAYMSG implementation 2020-06-08 10:19:28 +10:00
Daniel Oaks
6426b3d6ed Copy Insp's new BOT ISUPPORT token and WHO behaviour 2020-06-07 16:11:30 +10:00
Shivaram Lingamneni
8f778c57a3 test more string cases 2020-06-04 18:40:14 -04:00
Shivaram Lingamneni
cfec0721fe
Merge pull request #1111 from slingamn/shellauth.1
fix #1107
2020-06-04 07:46:23 -07:00
Shivaram Lingamneni
75e9476026 review fix 2020-06-04 02:07:39 -04:00
Shivaram Lingamneni
61738782c0 fix #1107 2020-06-04 01:21:56 -04:00
Shivaram Lingamneni
e70acf4c17 fix #1108 2020-06-02 19:05:51 -04:00
Shivaram Lingamneni
0e570ba8ad fix #1078 2020-06-02 10:00:43 -04:00
Shivaram Lingamneni
c14a9448cc print full git hash in RPL_INFO 2020-06-01 13:18:12 -04:00
Shivaram Lingamneni
32ee9440c8 fix #1027 2020-06-01 11:55:53 -04:00
Shivaram Lingamneni
44aebf44b7
Merge pull request #1070 from jesopo/isupport-equals
don't add trailing = to ISUPPORT tokens when value is empty string
2020-05-31 21:30:17 -07:00
Shivaram Lingamneni
d4e24bbb26 bump to next development version 2020-06-01 00:27:16 -04:00
Shivaram Lingamneni
8430fec333
Merge pull request #1056 from jesopo/services-ctcp
handle CTCP VERSION, PING and TIME for services pseudo-users
2020-05-31 21:26:32 -07:00
Shivaram Lingamneni
34b2c3dc99 bump version to 2.1.0 2020-05-31 23:56:25 -04:00
Shivaram Lingamneni
d7c8b96345 make a message less confusing 2020-05-31 14:01:46 -04:00