3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-15 08:29:31 +01:00
Commit Graph

513 Commits

Author SHA1 Message Date
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
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
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