Shivaram Lingamneni
4749d7e776
fix #1676, take 2
Ensure the pagination window is full by making sure that every history item
gets a replay line in CHATHISTORY output, even TAGMSG.
2 anos atrás
Shivaram Lingamneni
3ec5ffa340
Revert "fix #1676"
This reverts commit 5bbee02fe6 .
2 anos atrás
Shivaram Lingamneni
5bbee02fe6
fix #1676
Fix various pagination issues with CHATHISTORY; also undo #491
(msgid munging).
2 anos atrás
Shivaram Lingamneni
e0e4791f72
factor out some shared code
2 anos atrás
Shivaram Lingamneni
26cdb4cf36
fix #1650
RPL_WHOISACTUALLY should display some arbitrarily chosen IP address and
hostname.
2 anos atrás
Shivaram Lingamneni
cf25e894e1
fix incorrect handling of overlong lines when allow-truncation is enabled
2 anos atrás
Shivaram Lingamneni
e1401934df
implement SCRAM-SHA-256
2 anos atrás
delthas
7fde04ea94
Add support for extended-monitor
See: https://github.com/ircv3/ircv3-specifications/pull/466
2 anos atrás
Shivaram Lingamneni
fedf4a9176
add a debug logline for client read errors
May help clarify TLS configuration issues, possibly others too
3 anos atrás
Pratyush Desai
99cb1fd02c
DISCONNECT Sno for always-on and/or multiclient
3 anos atrás
Alex Jaspersen
b6264a43b6
Rename "realIP" to "ip" in WhoWas struct.
It could be the real IP or the proxied IP.
3 anos atrás
Alex Jaspersen
e5c2588eab
Show real IP in WHOWAS to opers with ban capability.
3 anos atrás
Shivaram Lingamneni
4910aefa37
use ergochat/irc-go instead of goshuirc/irc-go
3 anos atrás
Shivaram Lingamneni
ac806e5c62
fix znc.in/playback for individual DM targets
This is a regression introduced in 0d05ab4ff4 ; playback for an individual
DM target would play all DMs.
3 anos atrás
Shivaram Lingamneni
7944871eb6
migrate additional dependencies to ergochat
3 anos atrás
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
3 anos atrás
Shivaram Lingamneni
7c5a8f2013
make MaxLineLen configurable
3 anos atrás
Shivaram Lingamneni
ba21987d03
remove draft/resume-0.5
3 anos atrás
Shivaram Lingamneni
c53926acde
fix autoreplay of DMs
I broke this in #1615 / 0d05ab4ff4
3 anos atrás
Shivaram Lingamneni
0d05ab4ff4
fix #1615
Remove the CHATHISTORY * and znc.in/playback *self targets,
clean up associated database code, add new mechanisms to play
all missed DMs.
3 anos atrás
Shivaram Lingamneni
da216fc699
fix #1577
Remove debugging loglines for truncation
3 anos atrás
Shivaram Lingamneni
5b33cd436f
remove unnecessary indirection in semaphore
3 anos atrás
Shivaram Lingamneni
18b6e2f1cd
implement CHATHISTORY TARGETS
3 anos atrás
Shivaram Lingamneni
4052cd12fe
fix #1592
Implements the new `CHATHISTORY LISTCORRESPONDENTS` API.
3 anos atrás
Shivaram Lingamneni
07edf2dc1f
consolidate auto-away string
3 anos atrás
Shivaram Lingamneni
70b20750aa
fix #1531
AWAY status should be tracked per-session:
1. With auto-away enabled, away status is aggregated across sessions
(if any session is not away, the client is not away, else use
the away status that was set most recently)
2. With auto-away disabled, we get the legacy behavior where AWAY
applies directly to the client
3 anos atrás
Shivaram Lingamneni
1efde964e1
Fix #1562
Implement the new bot mode spec:
https://github.com/ircv3/ircv3-specifications/pull/439
3 anos atrás
Shivaram Lingamneni
131eb229bc
use the new irc-go identifiers
3 anos atrás
Shivaram Lingamneni
03185ea4a9
deprecate message truncation
Implements #1577 , but the issue should remain open until we clean up
the debugging loglines.
3 anos atrás
Shivaram Lingamneni
d547d05205
implement candidate compromise proposal for websockets
1. Text and binary frames are accepted
2. Text frames are sent by default
3. Binary frames are sent to clients who negotiate `binary.ircv3.net`
4. Non-UTF8 data is not accepted (enabling websockets still enables UTFONLY)
3 anos atrás
Shivaram Lingamneni
e957a89ee2
bump irc-go for the IRCMessage rename
3 anos atrás
Shivaram Lingamneni
d0e11f49ad
use the new goshuirc ircreader
3 anos atrás
Shivaram Lingamneni
42316bc04f
fix #1176
Transition most "is an operator" checks to require a specific operator
capability
3 anos atrás
Shivaram Lingamneni
4a48e52518
fix #1490
Track channel join times, use them to optionally enforce history access
restrictions
3 anos atrás
Shivaram Lingamneni
bb5276553d
initial UBAN implementation
3 anos atrás
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.
3 anos atrás
Shivaram Lingamneni
db81b15acb
initial work on #1483
Add the new utf8-only cap, disallow non-utf8 when websockets are enabled
3 anos atrás
Shivaram Lingamneni
48166b5b4b
Implement expiration for always-on clients
Fixes #810
3 anos atrás
Shivaram Lingamneni
15a0cda78b
pointless refactor of stripMaskFromNick
3 anos atrás
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.
3 anos atrás
Shivaram Lingamneni
534939c342
DEFCON 4 and lower should require SASL from Tor users
3 anos atrás
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.
3 anos atrás
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`.
3 anos atrás
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.
3 anos atrás
Shivaram Lingamneni
32bbde49a8
fix #1409
Record INVITE in DM history for the benefit of offline always-on clients
3 anos atrás
Shivaram Lingamneni
e18eb1db99
fix #1411
Clients without event-playback should receive client-only tags in
replayed PRIVMSG / NOTICE.
3 anos atrás
Shivaram Lingamneni
ec15d367ba
fix #1387
Instead of building a new serialized message for each recipient,
try to cache them.
3 anos atrás
Shivaram Lingamneni
4b1e6b04c4
add UNINVITE command (#1171)
3 anos atrás
Shivaram Lingamneni
42d246b557
improve security properties of INVITE
See #1171 .
3 anos atrás
Shivaram Lingamneni
76e3d67b66
replace suppress-ident with coerce-ident
3 anos atrás