Shivaram Lingamneni
7ad31497c2
exempt a configurable number of MARKREAD commands from fakelag
2022-08-22 23:23:17 -04:00
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.
2022-08-10 02:47:39 -04:00
Shivaram Lingamneni
2b86660e5c
fix read markers not being reloaded on restart
2022-05-20 01:46:41 -04:00
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
2022-05-05 22:34:43 -04:00
Shivaram Lingamneni
077081076c
fix #1941
...
KLINE'd clients would produce a QUIT snotice without a corresponding
CONNECT snotice; explicitly suppress the QUIT snotice.
2022-05-03 13:13:29 -04:00
Shivaram Lingamneni
42883972a8
make quit logging more consistent
...
Log it at level INFO for parity with connect / connect-ip
2022-04-28 14:19:11 -04:00
Shivaram Lingamneni
32f7868bfd
implement draft/read-marker capability
2022-03-30 23:16:09 -04:00
Shivaram Lingamneni
a549827f17
upgrade to go 1.18, use generics
2022-03-30 00:44:51 -04:00
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.
2021-11-01 04:34:59 -04:00
Shivaram Lingamneni
3ec5ffa340
Revert "fix #1676 "
...
This reverts commit 5bbee02fe6
.
2021-11-01 04:34:59 -04:00
Shivaram Lingamneni
5bbee02fe6
fix #1676
...
Fix various pagination issues with CHATHISTORY; also undo #491
(msgid munging).
2021-10-29 04:50:24 -04:00
Shivaram Lingamneni
e0e4791f72
factor out some shared code
2021-09-18 21:28:16 -04:00
Shivaram Lingamneni
9b6ec04ca5
Merge pull request #1761 from delthas/feature-extended-monitor
...
Add support for extended-monitor
2021-08-26 10:14:31 -04:00
Shivaram Lingamneni
26cdb4cf36
fix #1650
...
RPL_WHOISACTUALLY should display some arbitrarily chosen IP address and
hostname.
2021-08-25 22:44:55 -04:00
Shivaram Lingamneni
cf25e894e1
fix incorrect handling of overlong lines when allow-truncation is enabled
2021-08-02 21:49:42 -04:00
Shivaram Lingamneni
e1401934df
implement SCRAM-SHA-256
2021-07-30 12:20:13 -04:00
delthas
7fde04ea94
Add support for extended-monitor
...
See: https://github.com/ircv3/ircv3-specifications/pull/466
2021-07-24 20:52:03 +02:00
Shivaram Lingamneni
fedf4a9176
add a debug logline for client read errors
...
May help clarify TLS configuration issues, possibly others too
2021-07-05 03:30:18 -04:00
99cb1fd02c
DISCONNECT Sno for always-on and/or multiclient
2021-07-03 04:41:42 +05:30
Alex Jaspersen
b6264a43b6
Rename "realIP" to "ip" in WhoWas struct.
...
It could be the real IP or the proxied IP.
2021-06-20 11:13:18 -07:00
Alex Jaspersen
e5c2588eab
Show real IP in WHOWAS to opers with ban capability.
2021-06-20 10:26:30 -07:00
Shivaram Lingamneni
4910aefa37
use ergochat/irc-go instead of goshuirc/irc-go
2021-06-18 02:43:25 -04:00
Shivaram Lingamneni
ac806e5c62
fix znc.in/playback for individual DM targets
...
This is a regression introduced in 0d05ab4ff4249f; playback for an individual
DM target would play all DMs.
2021-05-28 18:07:54 -04:00
Shivaram Lingamneni
7944871eb6
migrate additional dependencies to ergochat
2021-05-26 21:58:29 -04:00
Shivaram Lingamneni
23c7218bf1
first pass at renaming Oragono to Ergo
2021-05-26 15:55:24 -04:00
Shivaram Lingamneni
7c5a8f2013
make MaxLineLen configurable
2021-05-24 00:38:47 -04:00
Shivaram Lingamneni
ba21987d03
remove draft/resume-0.5
2021-05-18 23:27:46 -04:00
Shivaram Lingamneni
c53926acde
fix autoreplay of DMs
...
I broke this in #1615 / 0d05ab4ff4
2021-04-21 10:53:43 -04:00
Shivaram Lingamneni
0b414cb158
Merge pull request #1625 from slingamn/cleanup_star.2
...
fix #1615
2021-04-21 09:27:54 -04:00
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.
2021-04-19 08:54:40 -04:00
Shivaram Lingamneni
da216fc699
fix #1577
...
Remove debugging loglines for truncation
2021-04-19 07:06:49 -04:00
Shivaram Lingamneni
f0796b2eb5
Merge pull request #1607 from slingamn/semaphore_update
...
simplify semaphore release code
2021-04-07 08:56:53 -04:00
Shivaram Lingamneni
5b33cd436f
remove unnecessary indirection in semaphore
2021-04-07 08:44:17 -04:00
Shivaram Lingamneni
18b6e2f1cd
implement CHATHISTORY TARGETS
2021-04-07 05:40:39 -04:00
Shivaram Lingamneni
4052cd12fe
fix #1592
...
Implements the new `CHATHISTORY LISTCORRESPONDENTS` API.
2021-04-06 00:46:07 -04:00
Shivaram Lingamneni
cd43fae478
Merge pull request #1597 from slingamn/away_session.1
...
fix #1531
2021-03-18 03:28:03 -04:00
Shivaram Lingamneni
07edf2dc1f
consolidate auto-away string
2021-03-18 03:04:44 -04:00
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
2021-03-18 02:53:18 -04:00
Shivaram Lingamneni
1efde964e1
Fix #1562
...
Implement the new bot mode spec:
https://github.com/ircv3/ircv3-specifications/pull/439
2021-03-17 14:36:52 -04:00
Shivaram Lingamneni
131eb229bc
use the new irc-go identifiers
2021-03-10 20:07:43 -05:00
Shivaram Lingamneni
03185ea4a9
deprecate message truncation
...
Implements #1577 , but the issue should remain open until we clean up
the debugging loglines.
2021-03-04 22:29:34 -05:00
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)
2021-02-24 14:08:04 -05:00
Shivaram Lingamneni
e957a89ee2
bump irc-go for the IRCMessage rename
2021-02-15 11:27:04 -05:00
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