Commit Graph

1883 Commits

Author SHA1 Message Date
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