Commit Graph

325 Commits

Author SHA1 Message Date
Shivaram Lingamneni 4ab1a10eec clean up redundant caching 2025-04-28 00:29:40 -04:00
Shivaram Lingamneni 98e04c10a8 fix #2220 (#2240)
Allow publishing arbitrary ISUPPORT via the config file
2025-04-06 01:41:03 -04:00
Shivaram Lingamneni 9791606f62 allow customizing the NPC and SCENE nickmasks (#2237)
See #2229
2025-03-30 21:32:55 -04:00
Shivaram Lingamneni 7256d83ff0 implement command aliases (#2236)
See #2229
2025-03-30 21:32:37 -04:00
Shivaram Lingamneni 467df24914 fix #2228 (#2233)
If the server is UTF8ONLY, validate that the MOTD is UTF8
2025-03-22 23:13:31 -04:00
Shivaram Lingamneni ea81ec86e1 MVP for HTTP API (#2231)
Co-authored-by: Klaas Tammling <klaas@tammling.hamburg>
2025-03-18 23:13:03 -04:00
Shivaram Lingamneni 23b65e225b add SAFERATE to 005
See discussion at https://github.com/ircv3/ircv3-specifications/pull/556
2025-03-06 13:30:17 -05:00
Shivaram Lingamneni d50f1471eb fix #2215
Hide the message-redaction capability if allow-individual-delete is disabled.
(Technically REDACT can still be used, but only by ircops, so advertising it
is misleading in the most common case).
2025-02-06 01:36:02 -05:00
Shivaram Lingamneni 36e5451aa5 implement draft/webpush (#2205) 2025-01-13 21:47:21 -05:00
Shivaram Lingamneni 726d997d07 advertise SAFELIST (#2196)
LIST is implemented via blocking (*ResponseBuffer).Send, so it can never
exceed the sendq limit.
2024-10-06 12:11:34 -04:00
Shivaram Lingamneni d81494ac09 Merge pull request #2159 from ergochat/casefolding.2
fix #2099
2024-05-29 08:04:14 +02:00
Shivaram Lingamneni 7772b55cab fix #2099
Add optional support for rfc1459 and rfc1459-strict casemappings
2024-05-27 22:16:20 -04:00
Shivaram Lingamneni ed683bff79 remove draft/bearer in favor of IRCV3BEARER 2024-05-27 20:40:04 -04:00
Shivaram Lingamneni 681e8b1292 fix #2129 (#2132)
* fix #2129

Don't print the values of environment variable overrides, just the keys

* fix unit tests
2024-02-25 10:05:36 -05:00
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
2024-02-13 18:58:32 -05:00
Shivaram Lingamneni 921651f664 fix #2123
Add a configurable limit on realname length
2024-02-08 00:03:12 -05:00
Shivaram Lingamneni 580fc7096d fix #2114
Channels with slashes (or other relaymsg separators) in their names
were being falsely detected as relaymsg identifiers.
2024-01-04 01:02:10 -05:00
Shivaram Lingamneni 75bd63d0bc add channel autojoin feature
See discussion on #2077
2023-07-04 21:44:18 -04:00
Shivaram Lingamneni fc89d72045 publish MSGREFTYPES 005 token
https://github.com/ircv3/ircv3-specifications/pull/510
2023-02-02 14:28:37 -05:00
Shivaram Lingamneni 46d32520c7 recommended default: advertise SCRAM
Fixes #1782
2023-01-11 09:21:47 -05:00
Shivaram Lingamneni 35b5613349 re-add draft/CHATHISTORY 005
Kiwi expects it due to https://github.com/kiwiirc/kiwiirc/pull/1244 , but
the corresponding spec change only altered the cap name, not the 005 name.
2022-12-02 01:30:46 -05:00
Shivaram Lingamneni e40f550af8 fix CHATHISTORY 005 token name
Unclear where we got draft/CHATHISTORY from, it looks like the merged drafts
have always used unprefixed CHATHISTORY as the token name.
2022-11-30 04:10:47 -05:00
Shivaram Lingamneni 7ad31497c2 exempt a configurable number of MARKREAD commands from fakelag 2022-08-22 23:23:17 -04:00
Shivaram Lingamneni a549827f17 upgrade to go 1.18, use generics 2022-03-30 00:44:51 -04:00
Shivaram Lingamneni 0a59f41cf9 add ip-check-script.exempt-sasl 2022-01-02 01:51:31 -05:00
Shivaram Lingamneni ed75533cb1 optionally protect against multiple starts with flock (#1873)
* optionally protect against multiple starts with flock

Fixes #1823

* use traditional .lock extension

* move config key to top level
2022-01-01 18:56:40 -05:00
Shivaram Lingamneni 51d573d3c9 fix #1802
Add a config option to suppress LUSERS
2021-11-01 04:48:31 -04:00
Shivaram Lingamneni 2cae19dde5 remove unnecessary indirection in config 2021-09-19 02:09:43 -04:00
Shivaram Lingamneni 12947644e2 remove SCRAM-SHA-256 from advertised SASL mechanisms
Advertising SCRAM-SHA-256 breaks irccloud, which doesn't fall back to PLAIN
if it sees SCRAM advertised but SCRAM then fails (as is the case for any
account password hashed on Ergo 2.7 or lower).

Leave a config option for irctest to enable it in the controller.
2021-08-25 18:34:27 -04:00
Valentin Lorentz f6f25039b7 Advertise support for multiple KICK targets
This is already implemented, but TARGMAX=KICK:1 says it isn't.

Instead, let's advertise that indefinitely many targets are allowed.
Refs:

* https://defs.ircdocs.horse/defs/isupport.html#targmax
* https://github.com/ircdocs/modern-irc/pull/112
2021-08-13 19:42:03 +02:00
Shivaram Lingamneni e1401934df implement SCRAM-SHA-256 2021-07-30 12:20:13 -04:00
Shivaram Lingamneni 59bddd066f update draft/register -> draft/account-registration
Fixes #1740
2021-07-07 07:37:46 -04:00
Shivaram Lingamneni 0751f31b9e fix #1722
Validate operator vhosts against the configured (or default)
vhosts.valid-regexp
2021-06-29 10:06:37 -04:00
Shivaram Lingamneni b68696eb9b fix #1714
Fix a panic if the operator class title is empty
2021-06-28 01:45:13 -04:00
Shivaram Lingamneni 4910aefa37 use ergochat/irc-go instead of goshuirc/irc-go 2021-06-18 02:43:25 -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 2d31a16647 propagate require-sasl into tor-listeners.require-sasl 2021-04-26 10:26:16 -04:00
Shivaram Lingamneni 317720bfc8 Merge pull request #1632 from slingamn/mysql_safety
fix #1622
2021-04-25 23:14:40 -04:00
Shivaram Lingamneni e14aace1da Merge pull request #1635 from slingamn/pass
fix #1634 (forward-porting to master)
2021-04-25 21:34:12 -04:00
Shivaram Lingamneni 97ba1c3d63 fix #1634:
1. Fix auth bypass in the default configuration with the addition of
   server.password (the REGISTER command was allowed before connection
   registration, allowing unauthenticated users to REGISTER and then
   take advantage of skip-server-password)
2. Caution operators against the use of require-sasl without disabling
   user-initiated account registration. (Such a configuration is still valid
   in the case of a public server that requires everyone to register.)
2021-04-25 19:22:08 -04:00
Shivaram Lingamneni 5eed48c077 fix #1622
Allow users to set max MySQL connections and connection lifetime;
set a sane default for max connections if it's not present.
2021-04-23 13:54:44 -04:00
Shivaram Lingamneni 517b776b62 don't call (*Config).prepareListeners twice 2021-04-18 21:40:33 -04:00
Shivaram Lingamneni 1a5d079670 fix #1611
Allow setting the minimum TLS version
2021-04-18 21:40:33 -04:00
Shivaram Lingamneni 8dd12b0693 publish the FORWARD 005 token 2021-04-08 07:10:05 -04:00
Shivaram Lingamneni aecb28a616 support SNI 2021-04-07 23:30:24 -04:00
Shivaram Lingamneni f9c1a00b91 populate (tls.Certificate).Leaf 2021-04-07 22:35:54 -04: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 29666107ab fix #1559
Improve debuggability of some config deserialization errors
2021-02-26 01:10:21 -05:00