Shivaram Lingamneni
7726160ec7
add a config switch to accept hostnames from WEBIRC
See #1686 ; this allows i2pd to pass the i2p address to Ergo, which may be
useful for moderation under some circumstances.
2 месяцев назад
Shivaram Lingamneni
8d082865da
fix #2133 (#2137)
* fix #2133
Don't record NICK and QUIT in history for invisible auditorium members
3 месяцев назад
Shivaram Lingamneni
ee7f818674
implement SASL OAUTHBEARER and draft/bearer (#2122)
* implement SASL OAUTHBEARER and draft/bearer
* Upgrade JWT lib
* Fix an edge case in SASL EXTERNAL
* Accept longer SASL responses
* review fix: allow multiple token definitions
* enhance tests
* use SASL utilities from irc-go
* test expired tokens
4 месяцев назад
Shivaram Lingamneni
dfe2a21b17
add panic handler to async client/channel writes
See #2113 for motivation
5 месяцев назад
Shivaram Lingamneni
4aa1aa371d
fix #2113
Persisting always-on clients was panicking if client X believed it was
a member of channel Y, but channel Y didn't have a record of client X.
5 месяцев назад
Shivaram Lingamneni
f77d430d25
use maps.Clone from go1.21
10 месяцев назад
Shivaram Lingamneni
f100c1d0fa
fix incorrect chathistory batch types
This was introduced in 38a6d17ee5
1 год назад
Shivaram Lingamneni
60af8ee491
clean up force-trailing logic
1 год назад
Shivaram Lingamneni
38a6d17ee5
clean up nested batch logic
1 год назад
Shivaram Lingamneni
1da11ae8ae
implement draft/pre-away (#2044)
* implement draft/pre-away
* clean up some subtleties in auto-away aggregation.
* consistently apply auto-away only to always-on
* `AWAY *` should not produce user-visible changes wherever possible
1 год назад
Shivaram Lingamneni
3ceff6a8b1
make ReloadableListener lock-free
Also stop attaching the *tls.Config to the wrapped connection,
since this forces it to be retained beyond its natural lifetime.
1 год назад
Shivaram Lingamneni
746309e386
replace some utils.Semaphore with (*sync.Mutex).TryLock
See #1994
1 год назад
Shivaram Lingamneni
7ad31497c2
exempt a configurable number of MARKREAD commands from fakelag
1 год назад
Shivaram Lingamneni
35128bfc23
use new aligned atomic types everywhere
See 69448b13a1 / #1969 ; the compiler can now ensure that a uint64
intended for atomic access is always aligned to a 64-bit boundary.
Convert atomic operations on uint32s and pointers as well.
1 год назад
Shivaram Lingamneni
2b86660e5c
fix read markers not being reloaded on restart
2 лет назад
Shivaram Lingamneni
c5579a6a34
fix #1688
* Add ACCEPT-tracking functionality (authorizing users to send DMs
despite +R or other applicable restrictions)
* Sending a DM automatically accepts the recipient
* Add explicit ACCEPT command
2 лет назад
Shivaram Lingamneni
077081076c
fix #1941
KLINE'd clients would produce a QUIT snotice without a corresponding
CONNECT snotice; explicitly suppress the QUIT snotice.
2 лет назад
Shivaram Lingamneni
42883972a8
make quit logging more consistent
Log it at level INFO for parity with connect / connect-ip
2 лет назад
Shivaram Lingamneni
32f7868bfd
implement draft/read-marker capability
2 лет назад
Shivaram Lingamneni
a549827f17
upgrade to go 1.18, use generics
2 лет назад
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 лет назад
Shivaram Lingamneni
3ec5ffa340
Revert "fix #1676"
This reverts commit 5bbee02fe6 .
2 лет назад
Shivaram Lingamneni
5bbee02fe6
fix #1676
Fix various pagination issues with CHATHISTORY; also undo #491
(msgid munging).
2 лет назад
Shivaram Lingamneni
e0e4791f72
factor out some shared code
2 лет назад
Shivaram Lingamneni
26cdb4cf36
fix #1650
RPL_WHOISACTUALLY should display some arbitrarily chosen IP address and
hostname.
2 лет назад
Shivaram Lingamneni
cf25e894e1
fix incorrect handling of overlong lines when allow-truncation is enabled
2 лет назад
Shivaram Lingamneni
e1401934df
implement SCRAM-SHA-256
2 лет назад
delthas
7fde04ea94
Add support for extended-monitor
See: https://github.com/ircv3/ircv3-specifications/pull/466
2 лет назад
Shivaram Lingamneni
fedf4a9176
add a debug logline for client read errors
May help clarify TLS configuration issues, possibly others too
2 лет назад
Pratyush Desai
99cb1fd02c
DISCONNECT Sno for always-on and/or multiclient
2 лет назад
Alex Jaspersen
b6264a43b6
Rename "realIP" to "ip" in WhoWas struct.
It could be the real IP or the proxied IP.
3 лет назад
Alex Jaspersen
e5c2588eab
Show real IP in WHOWAS to opers with ban capability.
3 лет назад
Shivaram Lingamneni
4910aefa37
use ergochat/irc-go instead of goshuirc/irc-go
3 лет назад
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 лет назад
Shivaram Lingamneni
7944871eb6
migrate additional dependencies to ergochat
3 лет назад
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
3 лет назад
Shivaram Lingamneni
7c5a8f2013
make MaxLineLen configurable
3 лет назад
Shivaram Lingamneni
ba21987d03
remove draft/resume-0.5
3 лет назад
Shivaram Lingamneni
c53926acde
fix autoreplay of DMs
I broke this in #1615 / 0d05ab4ff4
3 лет назад
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 лет назад
Shivaram Lingamneni
da216fc699
fix #1577
Remove debugging loglines for truncation
3 лет назад
Shivaram Lingamneni
5b33cd436f
remove unnecessary indirection in semaphore
3 лет назад
Shivaram Lingamneni
18b6e2f1cd
implement CHATHISTORY TARGETS
3 лет назад
Shivaram Lingamneni
4052cd12fe
fix #1592
Implements the new `CHATHISTORY LISTCORRESPONDENTS` API.
3 лет назад
Shivaram Lingamneni
07edf2dc1f
consolidate auto-away string
3 лет назад
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 лет назад
Shivaram Lingamneni
1efde964e1
Fix #1562
Implement the new bot mode spec:
https://github.com/ircv3/ircv3-specifications/pull/439
3 лет назад
Shivaram Lingamneni
131eb229bc
use the new irc-go identifiers
3 лет назад
Shivaram Lingamneni
03185ea4a9
deprecate message truncation
Implements #1577 , but the issue should remain open until we clean up
the debugging loglines.
3 лет назад
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 лет назад