3
0
mirror of https://github.com/ergochat/ergo.git synced 2025-05-05 14:17:36 +02:00

654 Commits

Author SHA1 Message Date
Shivaram Lingamneni
9c3173f573
safer 005 length limits ()
* Limit the payload to 380 bytes instead of 400
* Don't translate the final parameter

This leaves about 60 bytes for the server name.
2025-04-06 02:59:03 -04:00
Shivaram Lingamneni
a6df370bd9
block HTTP DoS attacks ()
Block uses of the JS Fetch API to send HTTP message bodies that are also valid
IRC. The constraint on such messages is that they must begin with a valid HTTP
verb; we can detect this and reject them immediately.
2025-03-30 21:33:06 -04:00
Shivaram Lingamneni
ea81ec86e1
MVP for HTTP API ()
Co-authored-by: Klaas Tammling <klaas@tammling.hamburg>
2025-03-18 23:13:03 -04:00
Shivaram Lingamneni
7b71839615 fix buggy persistence of push timestamps
getPushSubscriptions() could have a stale view of the latest subscription
renewal and successful push times. We don't want to rebuild on every renewal
or every push, so add a boolean refresh argument that controls rebuilding.
2025-01-16 00:06:11 -05:00
Shivaram Lingamneni
21ee867ebb
fix ()
Add require-sasl support to KLINE / UBAN on NUH masks
2025-01-13 22:20:47 -05:00
Shivaram Lingamneni
36e5451aa5
implement draft/webpush () 2025-01-13 21:47:21 -05:00
Shivaram Lingamneni
efd3764337
add unique connection ID to debug logs ()
Fixes 
2025-01-11 23:07:04 -05:00
Shivaram Lingamneni
eddd4cc723
fix incorrect batch parameter in draft/extended-isupport () 2024-10-26 22:11:20 -04:00
Shivaram Lingamneni
7586520032
implement draft/extended-isupport () 2024-09-27 00:40:56 -04:00
Shivaram Lingamneni
7726160ec7 add a config switch to accept hostnames from WEBIRC
See ; this allows i2pd to pass the i2p address to Ergo, which may be
useful for moderation under some circumstances.
2024-04-13 21:43:41 -04:00
Shivaram Lingamneni
cab192e2af fix
We load registered channels unconditionally; reloading them again on rehash
is incorrect. This caused buggy behavior when channel registration was
disabled in the config, but some registered channels were already loaded.
2024-02-25 03:34:21 -05:00
Shivaram Lingamneni
75bd63d0bc add channel autojoin feature
See discussion on 
2023-07-04 21:44:18 -04:00
Shivaram Lingamneni
0f39fde647 remove insecure reattach check
See ; given that plaintext is deprecated now, it seems like there is no
added value from continuing to police this.
2023-06-05 04:22:40 -04:00
Shivaram Lingamneni
7ce0636276 refactor of channel persistence to use UUIDs 2023-01-04 05:06:21 -05:00
Shivaram Lingamneni
d17faf6bcb fix
Provide a nondestructive stack trace dump option even when the http pprof
listener is disabled
2022-12-10 22:15:37 -08:00
Shivaram Lingamneni
ae1de2554e add persistence broadcasting 2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
893922afe0 don't report PERSISTENCE STATUS in reg burst for anonymous clients 2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
99d27ff737 initial implementation of draft/persistence 2022-12-10 22:05:46 -08:00
Shivaram Lingamneni
35128bfc23 use new aligned atomic types everywhere
See 69448b13a10a14517 / ; 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
a99c8a42f9 remove utils.ConfigStore in favor of atomic.Pointer[T] 2022-08-03 00:59:00 -04:00
Shivaram Lingamneni
737697d1d4 exempt operators from history cutoffs
See ; this enables a client-side implementation of bulk deletion
2022-05-12 16:43:11 -04:00
Shivaram Lingamneni
c5579a6a34 fix
* 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
d5814c10ab
Merge pull request from slingamn/generic_config.2
genericize atomic config changes
2022-05-04 01:30:52 -04:00
Shivaram Lingamneni
077081076c fix
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
c603d41d08 genericize atomic config changes 2022-05-03 11:12:11 -04:00
Shivaram Lingamneni
2b8eb93c00 clean up magic numbers 2022-04-24 11:57:21 -04:00
Shivaram Lingamneni
51cdebf167 fix
RPL_WHOISCHANNELS didn't have proper line breaks
2022-04-24 02:47:31 -04:00
Val Lorentz
379632a9e6
Fix implementation of LIST <n 2022-04-16 22:55:58 +02:00
Shivaram Lingamneni
32f7868bfd implement draft/read-marker capability 2022-03-30 23:16:09 -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 ()
* optionally protect against multiple starts with flock

Fixes 

* use traditional .lock extension

* move config key to top level
2022-01-01 18:56:40 -05:00
Shivaram Lingamneni
c9b54ee2b8
Merge pull request from slingamn/issue1676_again.3
fix , take 2
2021-11-02 03:51:04 -04:00
Shivaram Lingamneni
51d573d3c9 fix
Add a config option to suppress LUSERS
2021-11-01 04:48:31 -04:00
Shivaram Lingamneni
3ec5ffa340 Revert "fix "
This reverts commit 5bbee02fe6bb8ed9dea23675df4349604c5fe247.
2021-11-01 04:34:59 -04:00
Shivaram Lingamneni
5bbee02fe6 fix
Fix various pagination issues with CHATHISTORY; also undo 
(msgid munging).
2021-10-29 04:50:24 -04:00
Shivaram Lingamneni
b0f412538c move signals code to utils/ 2021-09-19 04:02:44 -04:00
Shivaram Lingamneni
2cae19dde5 remove unnecessary indirection in config 2021-09-19 02:09:43 -04:00
Shivaram Lingamneni
e0e4791f72 factor out some shared code 2021-09-18 21:28:16 -04:00
Shivaram Lingamneni
69d88fb231 update logo in /INFO response 2021-09-09 21:25:07 -04:00
Shivaram Lingamneni
26cdb4cf36 fix
RPL_WHOISACTUALLY should display some arbitrarily chosen IP address and
hostname.
2021-08-25 22:44:55 -04:00
Shivaram Lingamneni
5fc7ac41da always mark the service ready after rehash 2021-07-04 19:51:35 -04:00
Shivaram Lingamneni
364193df4e refactor some start-stop logging 2021-07-04 17:58:48 -04:00
Shivaram Lingamneni
6f24082705 support systemd notifications
Fixes 
2021-07-04 07:41:59 -04:00
Shivaram Lingamneni
4910aefa37 use ergochat/irc-go instead of goshuirc/irc-go 2021-06-18 02:43:25 -04:00
Shivaram Lingamneni
6ff0486aa0 changelog, documentation, and distrib updates for ergo 2.7 2021-05-30 03:45:25 -04:00
Shivaram Lingamneni
f1ae8051cb update readmes, add placeholder logo 2021-05-26 18:01:11 -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
aa27ad98a8 add a warning for the case
Configurations with require-sasl and open account registration are valid,
but likely unintended. Show a warning about them.
2021-04-27 08:44:54 -04:00