On Sun, Jan 26, 2020 at 08:59:55AM +0100, Richard Ulmer wrote:
> Hi Hiltjo,
>
> Hiltjo Posthuma <hiltjo_AT_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
Received on Sun Jan 26 2020 - 13:34:38 CET