3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-12-28 05:32:49 +01:00
Commit Graph

2268 Commits

Author SHA1 Message Date
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
Shivaram Lingamneni
8c1bae3ea1
Merge pull request #1048 from slingamn/documentation_fixes
documentation fixes
2020-05-31 01:00:38 -07:00
Shivaram Lingamneni
805da6780d
Merge pull request #1094 from slingamn/targmax
fix #1090
2020-05-30 20:59:44 -07:00
Shivaram Lingamneni
aafc89feaa Merge remote-tracking branch 'origin/master' into monoffline 2020-05-30 23:25:25 -04:00
Shivaram Lingamneni
6caa8c1df8
Merge pull request #1082 from slingamn/rplmyinfo.1
fix #1058
2020-05-30 20:17:37 -07:00
Shivaram Lingamneni
9775b7d318
Merge pull request #1081 from slingamn/restricted_nicknames
fix #1080
2020-05-30 20:16:39 -07:00
Shivaram Lingamneni
2d5faaafaa
Merge pull request #1079 from ajaspers/counts
Apply default user modes just before registration.
2020-05-30 20:15:46 -07:00
Shivaram Lingamneni
3025b5f46d fix #1090 2020-05-30 22:40:21 -04:00
Alex Jaspersen
2cb91bab04 Fix issue with one-character args in ArgsToStrings. 2020-05-30 15:45:43 +00:00
Shivaram Lingamneni
2def06b98f fix #1076 2020-05-28 18:34:43 -04:00
Shivaram Lingamneni
beea32adfe fix #1058 2020-05-28 14:42:24 -04:00
Shivaram Lingamneni
1477dab604 fix #1080 2020-05-28 13:16:17 -04:00
Alex Jaspersen
0241e0c31d Apply default user modes just before registration.
Previously, we were applying defaults before the user had completed
registration. This meant that the number of invisible users was
incremented when the user connected, and then the total was incremented
when registration was completed.

Now both counters are updated at the same time. If a user disconnects
prior to registration, +i has not yet been applied so it would not be
decremented.
2020-05-28 15:53:14 +00:00
Shivaram Lingamneni
9177e785c5 add a config sanity check 2020-05-28 01:18:19 -04:00
Shivaram Lingamneni
2389a21de3 add snomask documentation 2020-05-27 09:57:27 -04:00
jesopo
5fbf9c650e isupport List.Tokens map[string]*string -> map[string]string 2020-05-27 00:16:33 +01:00
jesopo
8eee127e4d don't add trailing = to ISUPPORT tokens when value is empty string 2020-05-26 23:51:28 +01:00
Shivaram Lingamneni
c1d4c5596d
Merge pull request #1063 from slingamn/history_registeredonly
fix #1061
2020-05-26 13:22:12 -07:00
Shivaram Lingamneni
82fbfd0c00 fix #1061 2020-05-26 12:57:24 -04:00
Shivaram Lingamneni
6aa9a56242 fix #1057 2020-05-26 10:56:24 -04:00
jesopo
e7584233ae handle CTCP VERSION, PING and TIME for services pseudo-users 2020-05-26 13:42:28 +01:00
Alex Jaspersen
b7c9fb56c2 Ignore non-privmsg commands to services.
This avoids "No such nick" responses to +draft/typing TAGMSG, etc.
2020-05-25 14:47:09 +00:00
Shivaram Lingamneni
9a555f6f30 bump to 2.1.0-rc1 2020-05-24 20:40:59 -04:00
Shivaram Lingamneni
b80f92b2aa
Merge pull request #1044 from slingamn/tagmsg_fix
fix TAGMSG playback
2020-05-22 14:41:01 -07:00
Shivaram Lingamneni
2f20034bb7 fix TAGMSG playback
1. TAGMSG were incorrectly being considered multilines, because
   Is512() was checking the wrong thing
2. Playback of TAGMSG should depend on event-playback, not on message-tags
2020-05-22 12:07:53 -04:00
Alex Jaspersen
e0f91f5649 /ns erase should confirm with /ns erase rather than unregister. 2020-05-22 14:44:35 +00:00
Shivaram Lingamneni
4595ed68a9
Merge pull request #1040 from slingamn/build_again.2
tweak version strings again
2020-05-21 10:49:53 -07:00
Shivaram Lingamneni
464d0be949 tweak version strings again 2020-05-21 11:42:17 -04:00
Shivaram Lingamneni
c45e76460a clean up account-notify logout notification
don't need to send account-notify * (logout notification)
because either we never sent the initial account-notify
(if we are being logged out as part of fixupNickEqualsAccount)
or else we are immediately going to kill the client
(if we are being logged out as part of unregister/erase)
2020-05-21 11:14:12 -04:00
Shivaram Lingamneni
06b2cb2efc
Merge pull request #1036 from slingamn/account_persistence.3
last round of feature changes
2020-05-20 04:58:57 -07:00
Shivaram Lingamneni
5345fc35dd
Merge pull request #1032 from slingamn/history_enable
fix #1030
2020-05-20 04:33:35 -07:00
Shivaram Lingamneni
ef0aa20cff fix #1035 2020-05-19 22:46:23 -04:00
Shivaram Lingamneni
4d50607c79 add persistence for user modes 2020-05-19 22:46:23 -04:00
Shivaram Lingamneni
a0f4e90b7e add auto-away 2020-05-19 22:46:23 -04:00
Shivaram Lingamneni
d7cdaf1a90 correct old proxiedConn name 2020-05-19 09:37:06 -04:00
Shivaram Lingamneni
b2483f5cf2 fix #1030 2020-05-19 08:01:10 -04:00
Shivaram Lingamneni
a95c44696f review fix 2020-05-18 12:33:26 -04:00
Shivaram Lingamneni
b494c1ec35 make it clearer when rehash has completed 2020-05-18 11:37:56 -04:00
Shivaram Lingamneni
bced409e78 unconditionally destroy the client on unregister
This avoids conditions where two sessions can be attached to the same client
while not logged into an account.
2020-05-18 05:39:02 -04:00
Shivaram Lingamneni
df2dfb7270 HistServ is a real service now, remove special casing 2020-05-18 05:11:44 -04:00
Shivaram Lingamneni
8bebba97c3
Merge pull request #1018 from slingamn/account_notify
include account-notify in the response batch
2020-05-18 01:00:27 -07:00
Shivaram Lingamneni
922d5c58e2
Merge pull request #1025 from slingamn/plan9
fix plan9 support
2020-05-18 00:59:02 -07:00
Shivaram Lingamneni
6028953ed4
Merge pull request #1024 from slingamn/issue1020_password.3
fix #1020
2020-05-18 00:58:51 -07:00
Shivaram Lingamneni
aa79706165
Merge pull request #1023 from slingamn/issue1021_modeparam
fix #1021
2020-05-18 00:58:35 -07:00
Shivaram Lingamneni
4d21d78f49 explanatory comments 2020-05-18 03:35:58 -04:00
Shivaram Lingamneni
ccfc059755 fix plan9 support 2020-05-17 20:53:08 -04:00
Shivaram Lingamneni
67150bc8f7 fix #1020 2020-05-17 18:12:24 -04:00
Shivaram Lingamneni
2f9234318c fix #1021 2020-05-17 14:07:38 -04:00
Shivaram Lingamneni
a397756882 fix #1019 2020-05-17 13:39:37 -04:00
Shivaram Lingamneni
855eb786af include account-notify in the response batch 2020-05-17 11:52:32 -04:00
Alex Jaspersen
3468a8cb8a Add support for Unix domain sockets.
This adds a new configuration option, socket-path, instead of using
host.
2020-05-17 05:04:03 +00:00
Shivaram Lingamneni
66561771e6
Revert "Add support for Unix domain sockets" 2020-05-17 00:30:02 -04:00
Shivaram Lingamneni
045dd89c41
Merge pull request #1013 from ajaspers/mysql
Add support for Unix domain sockets
2020-05-16 19:58:34 -07:00
Alex Jaspersen
475ec9fb24 Add support for Unix domain sockets. 2020-05-16 20:12:20 +00:00
Shivaram Lingamneni
9517adae9d make histserv replies come from histserv, not hostserv 2020-05-15 11:54:28 -04:00
Shivaram Lingamneni
8efbc4bc32 maintain lenBytes as a running count 2020-05-14 22:16:34 -04:00
Shivaram Lingamneni
2779fe7c10 fix #1005 2020-05-14 12:58:49 -04:00
Shivaram Lingamneni
a46c0eed9f
Merge pull request #1004 from slingamn/vanish.4
fix #858 and #383
2020-05-14 06:54:24 -07:00
Shivaram Lingamneni
178cc0a939 review fix 2020-05-13 19:41:31 -04:00
Shivaram Lingamneni
b3d7c9af62 neutral language 2020-05-13 12:12:31 -04:00
Shivaram Lingamneni
de3e2e3950 review fixes 2020-05-13 11:56:17 -04:00
Shivaram Lingamneni
d092f6b330 explanatory comment for CompileMasks 2020-05-13 10:07:54 -04:00
Shivaram Lingamneni
be0dedf260 fix #1003 2020-05-13 06:51:15 -04:00
Shivaram Lingamneni
67f35e5c8a fix #858 and #383 2020-05-12 12:05:40 -04:00
Shivaram Lingamneni
d94a0aea9a upgrade go-ident to fix parsing issue 2020-05-11 18:25:25 -04:00
Shivaram Lingamneni
2257f33efa ratify SETNAME 2020-05-11 18:11:09 -04:00
Shivaram Lingamneni
548a2f814a Merge remote-tracking branch 'origin/master' into issue996_proto.1 2020-05-11 02:04:20 -04:00
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