Shivaram Lingamneni
44bfca80a7
add IP addresses to UBAN ADD <account> output
2021-01-19 12:19:48 -05:00
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