Fredrik Tolf [Tue, 13 May 2025 01:16:55 +0000 (03:16 +0200)]
call[fs]cgi: Handle serialized child connections asynchronously.
Fredrik Tolf [Tue, 13 May 2025 01:11:27 +0000 (03:11 +0200)]
lib: Allow mtio block to take no file descriptor, allowing threads to just sleep.
Fredrik Tolf [Mon, 12 May 2025 15:59:39 +0000 (17:59 +0200)]
call[fs]cgi: At least for now, simply block when connecting to handler.
It's not optimal, but the naive mtio implementation has the thundering-herd
problem, and this also creates a natural choke-point, transmitting the request
buffering responsibility to the parent handler where it belongs.
The more ideal solution would probably be to let running requests continue
being handled while serializing receving incoming requests and connecting to
the request handler.
Fredrik Tolf [Mon, 12 May 2025 15:37:31 +0000 (17:37 +0200)]
call[fs]cgi: Fix handler connect blocking bug.
Fredrik Tolf [Sat, 16 Nov 2024 00:39:26 +0000 (01:39 +0100)]
Merge branch 'master' of git://git.dolda.net/ashd
Fredrik Tolf [Sun, 20 Oct 2024 13:58:05 +0000 (15:58 +0200)]
Merge branch 'master' of git.dolda2000.com:/srv/git/r/ashd
Fredrik Tolf [Sun, 20 Oct 2024 13:57:37 +0000 (15:57 +0200)]
Use sys/xattr.h instead of attr/xattr.h.
Fredrik Tolf [Sat, 31 Aug 2024 14:56:36 +0000 (16:56 +0200)]
ratequeue: Improve rehash implementation.
Fredrik Tolf [Sat, 31 Aug 2024 14:29:22 +0000 (16:29 +0200)]
ratequeue: Fix rehash bug again.
Fredrik Tolf [Sat, 31 Aug 2024 14:25:40 +0000 (16:25 +0200)]
ratequeue: Fix rehash bug.
Fredrik Tolf [Tue, 11 Jun 2024 22:19:21 +0000 (00:19 +0200)]
python3: Fix ByteString reference in perf module.
Fredrik Tolf [Thu, 23 Nov 2023 18:53:06 +0000 (19:53 +0100)]
etc: Add environment option to run init.d/ashd silently.
Fredrik Tolf [Thu, 10 Aug 2023 11:18:22 +0000 (13:18 +0200)]
python3: Encode ashd-wsgi3 output headers with utf-8 instead of latin-1.
Fredrik Tolf [Wed, 9 Aug 2023 17:23:52 +0000 (19:23 +0200)]
accesslog: Fix %p bug.
Fredrik Tolf [Wed, 9 Aug 2023 17:14:12 +0000 (19:14 +0200)]
accesslog: Add standard response header for logging user info.
Fredrik Tolf [Wed, 9 Aug 2023 17:11:33 +0000 (19:11 +0200)]
accesslog: Add %p and %P format options.
Fredrik Tolf [Fri, 28 Jul 2023 23:54:26 +0000 (01:54 +0200)]
htpipe: Add some missing includes.
Fredrik Tolf [Fri, 28 Jul 2023 23:54:15 +0000 (01:54 +0200)]
ratequeue: Add some missing includes.
Fredrik Tolf [Fri, 28 Jul 2023 23:54:06 +0000 (01:54 +0200)]
htparser: Added some missing includes.
Fredrik Tolf [Fri, 28 Jul 2023 23:42:48 +0000 (01:42 +0200)]
htparser: Remember to properly make ssl-openssl.c conditional.
Fredrik Tolf [Fri, 28 Jul 2023 13:36:10 +0000 (15:36 +0200)]
htparser: Add an initial OpenSSL backend.
It is still lacking somewhat important features like SNI support, however.
Fredrik Tolf [Fri, 28 Jul 2023 12:55:58 +0000 (14:55 +0200)]
build: Rename configure.in according to autoconf standards.
Fredrik Tolf [Fri, 28 Jul 2023 12:55:43 +0000 (14:55 +0200)]
build: Update configure.in to slightly more modern standards.
Fredrik Tolf [Thu, 27 Jul 2023 14:55:45 +0000 (16:55 +0200)]
dirplex: Document the `dot-allow' directive.
Fredrik Tolf [Thu, 27 Jul 2023 14:39:21 +0000 (16:39 +0200)]
etc: Allow `.well-known' in default dirplex configuration.
Fredrik Tolf [Thu, 27 Jul 2023 14:38:53 +0000 (16:38 +0200)]
dirplex: Add directive to allow selected dot-files and -directories.
Fredrik Tolf [Mon, 24 Jul 2023 20:20:55 +0000 (22:20 +0200)]
htparser: Expose TLS session-ID in request headers.
Fredrik Tolf [Mon, 24 Jul 2023 20:19:15 +0000 (22:19 +0200)]
Merge branch 'master' of moltke.seatribe.se:/usr/local/src/ashd
Fredrik Tolf [Mon, 24 Jul 2023 20:18:04 +0000 (22:18 +0200)]
htparser: Stop using GCC inner functions for setcreds.
Fredrik Tolf [Sat, 15 Jul 2023 14:03:38 +0000 (16:03 +0200)]
python: Ignore EINTR in serveloop.
Fredrik Tolf [Sat, 27 Aug 2022 13:52:03 +0000 (15:52 +0200)]
python3: Fixed ABC import for Python 3.8 compatibility.
Fredrik Tolf [Sat, 27 Aug 2022 13:50:28 +0000 (15:50 +0200)]
python3: Rename async module to asyncio for Python 3.7 compatibility.
ashd.async is still around for now as a compatibility measure, simply
re-importing everything from asyncio.
Fredrik Tolf [Mon, 7 Feb 2022 01:36:53 +0000 (02:36 +0100)]
ratequeue: Be consistent with signedness in rehash vs. hashget/hashdel.
Fredrik Tolf [Sun, 6 Feb 2022 17:14:30 +0000 (18:14 +0100)]
ratequeue: Handle bucket emptying more correctly.
Fredrik Tolf [Sun, 6 Feb 2022 17:06:48 +0000 (18:06 +0100)]
ratequeue: Log request blocking.
Fredrik Tolf [Sat, 5 Feb 2022 16:51:41 +0000 (17:51 +0100)]
Added the `ratequeue' program.
Fredrik Tolf [Thu, 2 Dec 2021 23:22:17 +0000 (00:22 +0100)]
htparser: Request client certificate only of trust- and/or crl-lists have been given.
Fredrik Tolf [Wed, 10 Nov 2021 18:34:13 +0000 (19:34 +0100)]
htparser: Fixed readcrtchain bug.
Fredrik Tolf [Wed, 10 Nov 2021 18:30:19 +0000 (19:30 +0100)]
htparser: Use certificate chains in named credentials, and allow them to reuse the default key.
Fredrik Tolf [Mon, 19 Jul 2021 14:48:46 +0000 (16:48 +0200)]
doc: Fixed some typos.
Fredrik Tolf [Sat, 17 Jul 2021 23:35:26 +0000 (01:35 +0200)]
doc: Fixed typo.
Fredrik Tolf [Sat, 17 Jul 2021 23:31:38 +0000 (01:31 +0200)]
patplex: Add reparse action.
Fredrik Tolf [Sat, 17 Jul 2021 15:50:25 +0000 (17:50 +0200)]
patplex: Replace the `default' handling with arbitrary priorities.
Fredrik Tolf [Sun, 16 May 2021 14:44:56 +0000 (16:44 +0200)]
doc: Clarify httrcall limit functionality further.
Fredrik Tolf [Sun, 16 May 2021 14:43:39 +0000 (16:43 +0200)]
doc: Fixed typo.
Fredrik Tolf [Sun, 16 May 2021 14:13:10 +0000 (16:13 +0200)]
Updated changelog.
Fredrik Tolf [Sun, 16 May 2021 13:30:54 +0000 (15:30 +0200)]
examples: Fix up vhosts example to run with new patplex conventions.
Fredrik Tolf [Sat, 15 May 2021 01:55:22 +0000 (03:55 +0200)]
doc: Documented htpipe.
Fredrik Tolf [Sat, 15 May 2021 01:33:27 +0000 (03:33 +0200)]
htparser: Fixed pidfile initialization bug.
Fredrik Tolf [Sat, 15 May 2021 01:29:16 +0000 (03:29 +0200)]
htpipe: Fixed socket leakage.
Fredrik Tolf [Sat, 15 May 2021 01:21:02 +0000 (03:21 +0200)]
htpipe: Fixed simple initialization bug.
Fredrik Tolf [Sat, 15 May 2021 01:18:11 +0000 (03:18 +0200)]
Added the `htpipe' program.
Fredrik Tolf [Sat, 15 May 2021 01:17:02 +0000 (03:17 +0200)]
doc: Documented the new `htparser' behaviors.
Fredrik Tolf [Fri, 14 May 2021 14:29:11 +0000 (16:29 +0200)]
etc: Allow init.d/ashd to handle remaining connections more gracefully.
Fredrik Tolf [Fri, 14 May 2021 14:06:07 +0000 (16:06 +0200)]
htparser: Allow PID-file, chuser and chroot arguments to be treated as NULL if empty.
Fredrik Tolf [Fri, 14 May 2021 14:05:07 +0000 (16:05 +0200)]
htparser: Added a simple PID-file state monitoring protocol.
Fredrik Tolf [Fri, 22 Jan 2021 01:45:33 +0000 (02:45 +0100)]
doc: Document userplex' use of setsid().
Fredrik Tolf [Sat, 2 Feb 2019 14:44:52 +0000 (15:44 +0100)]
Merge branch 'master' of git.dolda2000.com:/srv/git/r/ashd
Fredrik Tolf [Sat, 2 Feb 2019 10:44:41 +0000 (11:44 +0100)]
python*: Use poll instead of select in ckflush.
Fredrik Tolf [Mon, 2 Apr 2018 01:18:47 +0000 (03:18 +0200)]
psendfile: Fixed missing include.
Fredrik Tolf [Sat, 11 Mar 2017 05:08:46 +0000 (06:08 +0100)]
Merge branch 'master' of rpi2:src/ashd
Fredrik Tolf [Sat, 11 Mar 2017 05:08:03 +0000 (05:08 +0000)]
lib: Fixed potential kqueue timespec storage bug.
Fredrik Tolf [Sat, 11 Mar 2017 04:59:38 +0000 (04:59 +0000)]
lib: Replicated mtio-epoll's timeheap implementation to mtio-kqueue.
Fredrik Tolf [Tue, 7 Mar 2017 02:24:17 +0000 (03:24 +0100)]
callcgi: Fixed possible deadlock problem on aborted requests.
Fredrik Tolf [Thu, 2 Mar 2017 04:49:00 +0000 (05:49 +0100)]
Merge branch 'master' of git.dolda2000.com:/srv/git/r/ashd
Fredrik Tolf [Thu, 2 Mar 2017 03:48:14 +0000 (04:48 +0100)]
doc: Fixed typo.
Fredrik Tolf [Thu, 2 Mar 2017 03:40:27 +0000 (04:40 +0100)]
doc: Fixed typo.
Fredrik Tolf [Wed, 1 Feb 2017 04:16:10 +0000 (05:16 +0100)]
python3: Cache async channel FDs so that updates always happen correctly.
Fredrik Tolf [Wed, 1 Feb 2017 04:02:22 +0000 (05:02 +0100)]
python3: To be safe, abort entirely if initial epoller registration fails.
Fredrik Tolf [Mon, 9 Jan 2017 05:58:37 +0000 (06:58 +0100)]
python3: Fixed some threadpool handler bugs.
Fredrik Tolf [Sat, 31 Dec 2016 20:55:25 +0000 (21:55 +0100)]
lib: Fixed timeheap bug with ioloop reentrancy.
Fredrik Tolf [Sat, 31 Dec 2016 19:26:22 +0000 (20:26 +0100)]
Merge branch 'timeheap'
This should fix the mblock-related iteration bug in mtio-epoll.
Fredrik Tolf [Sat, 31 Dec 2016 18:56:24 +0000 (19:56 +0100)]
lib: Removed the surely redundant struct timeentry from the mtio-epoll.
Fredrik Tolf [Sat, 31 Dec 2016 17:53:33 +0000 (18:53 +0100)]
Merge branch 'master' into timeheap
Conflicts:
lib/mtio-epoll.c
Fredrik Tolf [Sat, 31 Dec 2016 17:36:47 +0000 (18:36 +0100)]
lib: Fixed blocker iteration bug in mtio-select introduced by mblock.
Fredrik Tolf [Wed, 23 Nov 2016 16:58:04 +0000 (17:58 +0100)]
lib: Use abort() instead of exit() when smalloc fails.
Fredrik Tolf [Sun, 30 Oct 2016 20:08:26 +0000 (21:08 +0100)]
lib: Fixed bioprintf bug.
Fredrik Tolf [Wed, 22 Jun 2016 02:30:06 +0000 (04:30 +0200)]
python: Improved current-watcher implementation.
Fredrik Tolf [Sun, 19 Jun 2016 01:03:16 +0000 (03:03 +0200)]
python: Fixed async module bug.
Fredrik Tolf [Sun, 19 Jun 2016 00:33:48 +0000 (02:33 +0200)]
python: Added a channel superclass for ashd.async.
Fredrik Tolf [Sun, 19 Jun 2016 00:33:28 +0000 (02:33 +0200)]
htparser: Fixed up duplex timeouts.
Fredrik Tolf [Sat, 18 Jun 2016 01:07:41 +0000 (03:07 +0200)]
python: Somewhat integrate async watchers with wsgidir currency.
Fredrik Tolf [Fri, 17 Jun 2016 23:03:04 +0000 (01:03 +0200)]
python: Rewrote ashd.async for greater generality.
Fredrik Tolf [Sat, 11 Jun 2016 00:59:40 +0000 (02:59 +0200)]
python3: Added utility module for dealing with asynchronous clients.
Fredrik Tolf [Wed, 18 May 2016 23:44:16 +0000 (01:44 +0200)]
Updated changelog.
Fredrik Tolf [Wed, 18 May 2016 12:56:50 +0000 (14:56 +0200)]
Merge branch 'master' into duplex
Fredrik Tolf [Wed, 18 May 2016 04:48:32 +0000 (06:48 +0200)]
Merge branch 'master' of git.dolda2000.com:/srv/git/r/ashd
Fredrik Tolf [Wed, 18 May 2016 03:58:50 +0000 (05:58 +0200)]
Merge branch 'master' into duplex
Fredrik Tolf [Wed, 18 May 2016 03:57:56 +0000 (05:57 +0200)]
Merge branch 'master' of ansgar.seatribe.se:/usr/local/src/ashd
Fredrik Tolf [Wed, 18 May 2016 03:57:00 +0000 (05:57 +0200)]
python: Added ashd-wsgi3 support for passing file descriptors as part of the response.
Fredrik Tolf [Wed, 18 May 2016 03:41:32 +0000 (05:41 +0200)]
Merge branch 'duplex' of nerv.dolda.net:src/ashd into duplex
Fredrik Tolf [Wed, 18 May 2016 03:40:39 +0000 (05:40 +0200)]
lib: Added mblock support for kqueue.
Fredrik Tolf [Wed, 18 May 2016 03:22:18 +0000 (05:22 +0200)]
lib: Fixed mblock bug for epoll.
Fredrik Tolf [Wed, 18 May 2016 03:04:44 +0000 (05:04 +0200)]
htparser: Fixed bad size_t.
Fredrik Tolf [Wed, 18 May 2016 01:04:11 +0000 (03:04 +0200)]
accesslog: Pass file descriptors through response.
Fredrik Tolf [Wed, 18 May 2016 01:03:43 +0000 (03:03 +0200)]
htparser: Added support for full-duplex requests.
Fredrik Tolf [Wed, 18 May 2016 01:02:23 +0000 (03:02 +0200)]
lib: Added support for blocking on multiple file descriptors.
Lacking support for kqueue for now.
Fredrik Tolf [Mon, 16 May 2016 02:45:29 +0000 (04:45 +0200)]
lib: Added mtio ability to pass file descriptors over streams.
Fredrik Tolf [Mon, 16 May 2016 02:31:03 +0000 (04:31 +0200)]
lib: Added bufio I/O-less copy function.
Fredrik Tolf [Sat, 14 May 2016 01:13:58 +0000 (03:13 +0200)]
accesslog: Fail as soon as possible on broken channels.