On Sun, Jan 26, 2020 at 08:59:55AM +0100, Richard Ulmer wrote: > Hi Hiltjo, > > Hiltjo Posthuma <hil...@codemadness.org> wrote: > > > I have used quark for this, but found it annoying, that I have to > > > provide a host and port and run it as root (the noroot patch doesn't > > > always work either, because the use of fork(2) is restricted). It seems > > > like others have similar complaints about quark [2]. > > > > You can simply build a version of quark with chroot(2) and privdrop > > commented > > out. > > fork(2) is not restricted, but chroot(2) and setgid(2) is. > > This is exactly what the noroot patch does: Removing chroot(2), > setgid(2), setuid(2) and setgroups(2). I didn't make up the behaviour I > described. I'm unable to reproduce the error right now, but it occurs > occasionally on an Ubuntu system I use. I think the exact error is > "fork: Resource temporarily unavailable". Maybe the problem could be > resolved using ulimit, but I haven't tried that yet. > > > It's not much lines of code by itself, but it is not minimalist I think. > > > > [...] > > > > For port < 1024 you'd still need root or namespace priviledges usually. > > > > quark supports GET and HEAD requests and supports common byte-ranges too. > > I'm getting the feeling that I offended you. This was not my intention. > I don't want to discredit quark; it has use cases, which cannot be > satisfied by the tool I presented. statico is better suited for some > use cases that I frequently encounter, but that doesn't mean it's a > replacement for quark. > > Best regards, > Richard Ulmer >
The fork(2) error is indeed not a restriction, but a resource-limit. ulimit is a good place look for the limit (processes, file descriptors). -- Kind regards, Hiltjo