Shivaram Lingamneni
d0e11f49ad
use the new goshuirc ircreader
2021-02-13 20:58:19 -05:00
Shivaram Lingamneni
42316bc04f
fix #1176
...
Transition most "is an operator" checks to require a specific operator
capability
2021-02-09 22:07:06 -05:00
Shivaram Lingamneni
2e7cf3cc1e
Merge pull request #1496 from slingamn/jointime.1
...
fix #1490
2021-01-21 01:20:45 -05:00
Shivaram Lingamneni
4a48e52518
fix #1490
...
Track channel join times, use them to optionally enforce history access
restrictions
2021-01-20 21:13:18 -05:00
Shivaram Lingamneni
bb5276553d
initial UBAN implementation
2021-01-19 08:49:45 -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
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
48166b5b4b
Implement expiration for always-on clients
...
Fixes #810
2020-12-21 05:11:50 -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
534939c342
DEFCON 4 and lower should require SASL from Tor users
2020-12-11 05:04:56 -05: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
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
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
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
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
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
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
76e3d67b66
replace suppress-ident with coerce-ident
2020-10-20 13:48:19 -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
9ed789f67c
fix #1075
2020-10-06 18:04:29 -04:00
Shivaram Lingamneni
a19324b948
fix #1293
2020-10-05 07:35:18 -04:00
Shivaram Lingamneni
8c99dcb2c7
fix #484
2020-10-02 08:13:52 -04:00
Shivaram Lingamneni
1a9f501383
fix #414
2020-09-23 02:25:29 -04: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
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
307adba8bd
fix #1213
2020-09-07 06:00:53 -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
1c4f9daae7
remove some dead code
2020-08-07 00:16:04 -04:00
Shivaram Lingamneni
06882a9b89
fix #1225
2020-08-06 03:28:10 -04:00
Shivaram Lingamneni
df8be72c6f
move StringSet to utils package
2020-08-04 21:54:03 -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
027886046c
clean up always-on state machine
2020-07-27 00:21:16 -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
ffd00e1aff
minor optimization to Client.Friends
2020-07-17 04:53:30 -04:00
Shivaram Lingamneni
a99c893f9b
Merge branch 'realname_again'
2020-07-12 16:49:30 -04:00
Conrad Lukawski
6f8711da3b
Persist realname for always-on clients
2020-07-12 14:46:36 -04:00
Shivaram Lingamneni
a7ca6601c7
enhancements to moderation ( #1134 , #1135 )
2020-07-10 17:09:02 -04:00
Shivaram Lingamneni
6ea2eb367d
fix #328 (implement DEFCON)
2020-07-09 02:16:51 -04:00
Shivaram Lingamneni
067e62ad5e
fix #1166 and #1168
2020-07-01 03:52:55 -04:00
Shivaram Lingamneni
70f533ee07
fix #1155
2020-06-29 21:29:28 -04:00
Shivaram Lingamneni
0f04acaa40
persist last seen on shutdown
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
ba68358c21
Merge pull request #1152 from slingamn/utf8.1
...
fix #1151
2020-06-23 01:02:59 -07: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
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
01bd04a8ff
fix #1050
2020-06-21 18:32:57 -04:00
Shivaram Lingamneni
17cd831319
fix #1144
2020-06-18 03:38:00 -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
e70acf4c17
fix #1108
2020-06-02 19:05:51 -04:00
Shivaram Lingamneni
32ee9440c8
fix #1027
2020-06-01 11:55:53 -04:00
Shivaram Lingamneni
aafc89feaa
Merge remote-tracking branch 'origin/master' into monoffline
2020-05-30 23:25:25 -04:00
Shivaram Lingamneni
2def06b98f
fix #1076
2020-05-28 18:34:43 -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
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
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
67150bc8f7
fix #1020
2020-05-17 18:12:24 -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
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
548a2f814a
Merge remote-tracking branch 'origin/master' into issue996_proto.1
2020-05-11 02:04:20 -04: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
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
6f688a4644
fix #994
2020-05-08 05:50:10 -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
3dc5c8de78
more work on websocket support
2020-05-04 23:26:51 -04:00
Shivaram Lingamneni
3a571f28ac
use shorter batch IDs
2020-05-03 03:27:13 -04: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
df9bf15f00
Add support for setting user modes by default.
2020-04-30 03:54:09 +00:00
Shivaram Lingamneni
f4f7a8afaa
shorten type names to 10 chars
2020-04-12 14:01:07 -04:00
Shivaram Lingamneni
73d795e6b4
fix #817
2020-03-27 10:40:19 -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
65ebe7f64a
fix #868
2020-03-18 07:07:20 -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
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
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
d967129446
fix #833
2020-02-28 05:41:08 -05:00