On 4/13/24 14:09, Oliver Webb via Toybox wrote:
> The first thing I ran into is that httpd doesn't do that by default,
> running "toybox httpd dist/" won't actually host those pages
> on localhost.

It's an inetd client:


  toybox netcat -s -p 88888 -L httpd .

I've been meaning to come up with an actual inetd, and possibly lib/*.c plumbing
to do standalone servers, but nommu support and rate limiting incoming
connections and so on all go in a layer I haven't implemented yet and am not
interested in reproducing in multiple commands.

Genericizing the plumbing I've already got in netcat, but making it available
from individual commands, implies having a standard set of command line
utilities that get exposed in commands to specify address to bind to and port to
listen on and max simultaneous connections (including max per source IP) and
output inactivity timeout.... Possibly some sort of IPSERVER macro flung into
the option string, with a corresponding structure in TT and then a function I
call? Or maybe just stick with inetd so it's somebody else's problem...

I explain this here periodically, by the way:

In theory a tcpsvd was contributed to pending long ago, which kind of has the
od/hexdump/xxd problem of multiple implementations not sharing code (as I
periodically mention here, ala
It's in the todo heap...

> "Why?": Looking at the source code and typing
> input into httpd, it wants input from stdin and seemingly outputs to
> stdout like a normal unix tool (which httpd is usually not).

As all inetd clients do, yes: nbd_server.c is another one. Lots of other things
(like the tftpd in pending, or dropbear) can work in inetd mode.

> Forgive me, but I'm going to compare this to busybox httpd.

You do you.

Toybox mailing list

Reply via email to