3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-12-30 14:42:50 +01:00
Commit Graph

1972 Commits

Author SHA1 Message Date
Shivaram Lingamneni
b022c34a23 try to record buntdb errors from persisting lastSeen
See #1603
2021-03-31 07:06:58 -04:00
Shivaram Lingamneni
0b5544831d
Merge pull request #1599 from slingamn/issue1594_warn_nick
fix #1594
2021-03-18 04:45:29 -04:00
Shivaram Lingamneni
46c32094d7 review fixes
1. Use FAIL instead of WARN
2. Use NICKNAME_RESERVED instead of ACCOUNT_REQUIRED
3. Don't send 433 at all for registered clients, just send the FAIL
2021-03-18 04:38:28 -04:00
Shivaram Lingamneni
ab870c2ffe fix #1576
List IRCv3 CAPs in `NS CLIENTS LIST` output
2021-03-18 04:24:45 -04:00
Shivaram Lingamneni
67ee36f1ed fix #1594
Send a WARN NICK ACCOUNT_REQUIRED on attempt to take a reserved nick
2021-03-18 04:10:32 -04:00
Shivaram Lingamneni
e447c61c73 fix #1596
All truncation must be made UTF8-safe.
2021-03-18 03:49:12 -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
88b877fce4 ensure IsBot gets propagated into history 2021-03-17 19:01:38 -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
fe8e6551c3 fix #1502
RELAYMSG should respect mutes
2021-03-11 01:21:03 -05:00
Shivaram Lingamneni
76b0e44474 fix #1534
Improve error message for CS TRANSFER
2021-03-11 00:49:12 -05:00
Shivaram Lingamneni
5c4984f45f fix #1544
PerstentStatusMandatory should display as "enabled", not "mandatory",
in the context where it refers to a user-chosen setting.
2021-03-11 00:45:13 -05:00
Shivaram Lingamneni
44ed0b7a38 fix #1565
Allow chanops to delete channel messages from history
2021-03-11 00:45:13 -05:00
Shivaram Lingamneni
4e49a25ba6 fix #1570
Handle panics in rehash, even if it was triggered by SIGHUP
2021-03-10 23:04:16 -05: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
Alex Jaspersen
23164054f6 Send 477 ERR_NEEDREGGEDNICK when an unregistered user messages a +R user.
Fixes #1064.
2021-03-03 19:36:29 -08:00
Shivaram Lingamneni
1762a168e8
Merge pull request #1558 from slingamn/websocket_compromise
implement candidate compromise proposal for websockets
2021-03-02 00:18:13 -05:00
Shivaram Lingamneni
22af40c995 fix #1547
make PASSWORD an alias for PASSWD in nickserv
2021-03-01 22:40:39 -05:00
Shivaram Lingamneni
eeb5f9b24d
Merge pull request #1560 from slingamn/configerrors
fix #1559
2021-03-01 17:10:29 -05:00
Shivaram Lingamneni
d7ba478519 validate that passphrases are valid as non-final IRC parameters 2021-03-01 11:47:29 -05:00
Shivaram Lingamneni
8180c2b572 improve compatibility with published register spec
1. Send COMPLETE_CONNECTION_REQUIRED instead of DISALLOWED
2. Include the account name in all FAIL messages
2021-02-28 17:14:10 -05:00
Shivaram Lingamneni
16f0170512 fix #1563
ERR_INVALIDMODEPARAM should take both the mode and the invalid parameter
as arguments.
2021-02-27 21:51:14 -05:00
Shivaram Lingamneni
e9d42e02a2 simplify utf8 validation of incoming WS lines
As of #1483, websockets entail enforce-utf8, so there's no need
to check globalUTF8EnforcementSetting when handling websockets.
2021-02-26 03:10:30 -05:00
Shivaram Lingamneni
29666107ab fix #1559
Improve debuggability of some config deserialization errors
2021-02-26 01:10:21 -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
1f3f9f18d9 fix #1552
ZNC playback LIST was panicking when history was disabled,
and possibly in other cases
2021-02-21 15:29:19 -05:00
Shivaram Lingamneni
9e25a3027a fix #1549
If history is disabled, disable the history CAPs
2021-02-21 13:25:22 -05:00
Shivaram Lingamneni
430b40fc2f upgrade go to 1.16
Fixes #1510
2021-02-17 15:14:53 -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
4340da9b6e
docs/USERGUIDE.md & irc/handlers.go: fix spelling of WeeChat 2021-02-13 14:44:13 +02:00
Shivaram Lingamneni
bb39399f97
Merge pull request #1528 from slingamn/issue1176_operprivs
enhancements to operator privilege handling
2021-02-09 22:56:58 -05:00
Shivaram Lingamneni
91cfdb963d fix #1074
Make snomask add/remove behavior match other ircds
2021-02-09 22:07:06 -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
9aeb80dbf3
Merge pull request #1526 from slingamn/issue1516_amode_op
fix #1516
2021-02-09 13:59:29 -05:00
Shivaram Lingamneni
dfc26d1182 fix a help typo 2021-02-09 01:05:47 -05:00
Shivaram Lingamneni
7ce396931c fix #1516
CS OP should regrant one's stored amode
2021-02-05 13:07:39 -05:00
Shivaram Lingamneni
4c08bc9c49
Merge pull request #1525 from slingamn/issue1523_halfop_topic
fix #1523
2021-02-05 13:07:07 -05:00
Shivaram Lingamneni
6f1bc9896b fix #1523
Let halfops change the channel topic
2021-02-05 11:02:31 -05:00
Shivaram Lingamneni
cc6be14c1d fix #1507
Registered channels should be eagerly created on startup, and should
remain (and be visible in LIST) even when they have no members.
2021-02-04 15:26:03 -05:00
Shivaram Lingamneni
1fad76b906 set up new development version (again) 2021-02-03 08:24:01 -05:00
Shivaram Lingamneni
6f1380f77f bump version and changelog 2021-02-02 16:54:29 -05:00
Shivaram Lingamneni
de392aea5a fix incorrect permissions check in NS CLIENTS LOGOUT 2021-02-02 16:50:47 -05:00
Shivaram Lingamneni
e54d8cfcd9 fix duplicated word in CS AMODE help 2021-02-02 15:27:24 -05:00
Shivaram Lingamneni
ec48d6b97d set up new development version 2021-01-30 23:01:40 -05:00
Shivaram Lingamneni
7953804e72 bump version to 2.5.0 2021-01-30 22:19:08 -05:00
Shivaram Lingamneni
2ce74ff9c1 bump version for 2.5.0-rc1 2021-01-23 20:42:30 -05:00
Shivaram Lingamneni
81ae166dfb require-sasl uban should not kill authenticated clients 2021-01-22 10:49:54 -05:00
Shivaram Lingamneni
07fa2ecb3e allow UBAN <ip> REQUIRE-SASL 2021-01-22 09:38:40 -05:00
Shivaram Lingamneni
8dd39a6e71 tweaks to UBAN 2021-01-22 07:27:10 -05:00
Shivaram Lingamneni
a237ce428f fix permissions check in CS HOWTOBAN 2021-01-21 16:48:57 -05:00
Shivaram Lingamneni
6bd396f5a2 fix UBAN INFO considering the wrong IP 2021-01-21 16:40:01 -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
44bfca80a7 add IP addresses to UBAN ADD <account> output 2021-01-19 12:19:48 -05:00
Shivaram Lingamneni
bb5276553d initial UBAN implementation 2021-01-19 08:49:45 -05:00
Shivaram Lingamneni
64bc363cf1 fix #1443
Improve auditability of sensitive operator actions
2021-01-19 06:45:30 -05:00
Shivaram Lingamneni
e195854851 fix #1442
strip local_ from oper capab names, also consolidate unban into ban
2021-01-19 06:45:30 -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
7b300a802f
Merge pull request #1484 from slingamn/utf8only
initial work on #1483
2021-01-15 06:21:53 -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
3e230e2a17
Merge pull request #1480 from slingamn/issue1479_tor_cloak
fix #1479
2021-01-15 06:18:35 -05:00
Shivaram Lingamneni
bafadf3aac fix #1476
enable the use of grouped nicks as account names for SASL,
if force-nick-equals-account is disabled
2021-01-12 09:33:57 -05:00
Shivaram Lingamneni
d1f8317180 fix #1479
Give Tor clients who authenticate via SASL a unique cloak, so chanops
can ban *!*@tor-network.onion and still allow authenticated Tor users
2021-01-12 08:40:13 -05:00
Shivaram Lingamneni
1db9cdd989 fix incorrect CTCP ACTION messages sent by roleplay 2020-12-31 14:06:19 -05:00
Shivaram Lingamneni
ec375f5bdc consolidate ArgsToStrings 2020-12-30 00:41:34 -05:00
Shivaram Lingamneni
0c9ecbade7 ERR_HELPNOTFOUND should take the nick as a parameter 2020-12-29 13:19:46 -05:00
Shivaram Lingamneni
6965031aa9 fix #1472
HELP responses weren't taking the client nickname as a parameter,
as is standard.
2020-12-29 05:20:18 -05:00
Shivaram Lingamneni
7c4d016fcb fix incorrect sprintf-before-unescape 2020-12-27 20:17:24 -05:00
Shivaram Lingamneni
5342ab1bb1
Merge pull request #1470 from slingamn/issue1468_relaymsg_tag
fix #1468
2020-12-22 02:16:17 -05:00
Shivaram Lingamneni
a566c85b12
Merge pull request #1438 from slingamn/issue1436_badchars
fix #1436
2020-12-22 02:16:01 -05:00
Shivaram Lingamneni
8abbc1072b additionally disallow ; in nicknames 2020-12-21 23:09:34 -05:00
Shivaram Lingamneni
514a2e613f fix #1468 2020-12-21 22:07:48 -05:00
Shivaram Lingamneni
48166b5b4b Implement expiration for always-on clients
Fixes #810
2020-12-21 05:11:50 -05:00
Shivaram Lingamneni
be31d33dc4 shorten the cached batch ID for multilines 2020-12-18 03:13:01 -05:00
Shivaram Lingamneni
fd71b79bb8 Enhancements to CS PURGE
1. Consolidate PURGE and UNPURGE into subcommands
2. Add PURGE LIST
3. PURGE ADD now requires a confirmation code

Fixes #1294
2020-12-15 04:00:44 -05:00
Shivaram Lingamneni
4d5815ab2e
Merge pull request #1456 from slingamn/rename_skeleton_bug.2
fix critical bugs in RENAME
2020-12-15 02:02:07 -05:00
Shivaram Lingamneni
5b79e427b5
Merge pull request #1460 from slingamn/issue1449_invite_playback
fix #1449
2020-12-14 23:43:27 -05:00
Shivaram Lingamneni
f717fceead
Merge pull request #1461 from slingamn/issue1452_enable_mysql
fix #1452
2020-12-14 23:42:47 -05:00
Shivaram Lingamneni
cc2b6d27a0 fix critical bugs in RENAME
Channel rename (both of registered and unregistered channels) would leave
the old name unreclaimable.
2020-12-14 23:35:46 -05:00
Shivaram Lingamneni
ba72d3acfc implement a channel forwarding mode
Fixes #1260
2020-12-14 22:38:23 -05:00
Shivaram Lingamneni
dd4fd1cbb6 fix #1452 2020-12-14 15:31:55 -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
9033d97c6f
Merge pull request #1450 from slingamn/tor_defcon
DEFCON 4 and lower should require SASL from Tor users
2020-12-13 20:06:30 -05:00
Shivaram Lingamneni
47f7b9a76e make CAP LS/LIST respect the MaxLineLen constant 2020-12-13 15:44:10 -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
96380adf27
Merge pull request #1446 from slingamn/reservation_docs
manual updates for nick reservation and email verification
2020-12-08 23:10:01 -08: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
45471138d2 update nick reservation docs 2020-12-08 02:11:53 -05:00
Shivaram Lingamneni
44cc4c2092 introduce "flat ip" representations 2020-12-07 21:21:10 -05:00
Shivaram Lingamneni
c8c1ddfb41 fix #1439
Validate imported databases for confusable nicks
2020-12-07 13:35:58 -05:00
Shivaram Lingamneni
48d5bd9144 fix #1436 2020-12-07 03:51:52 -05:00
Shivaram Lingamneni
e994e0451a fix incorrect vhost serialization 2020-12-07 02:29:18 -05:00
Shivaram Lingamneni
da2d4ca130 make overridden services hostname appear in chanserv 2020-12-07 02:29:18 -05:00
Shivaram Lingamneni
66d90bef5e change FAIL codes from NOT_PRIVED to PRIVS_NEEDED 2020-12-06 21:01:44 -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