ftpd authentication [PATCH] ftpd: NOMMU/chroot fix
Rich Felker
dalias at libc.org
Fri Jun 27 13:37:55 UTC 2014
On Fri, Jun 27, 2014 at 01:55:26PM +0200, Denys Vlasenko wrote:
> On Fri, Jun 27, 2014 at 1:46 PM, Morten Kvistgaard
> <MK at pch-engineering.dk> wrote:
> > A small detail, why do you check if the root_fd is valid? Eg.
> >
> > ...
> > if (G.root_fd >= 0) {
> > ...
> >
> > It shouldn't be possible for it to be invalid and the old code didn't validate it either.
>
> I added this in the next patch:
>
> #if !BB_MMU
> - G.root_fd = xopen("/", O_RDONLY | O_DIRECTORY);
> - close_on_exec_on(G.root_fd);
> + G.root_fd = -1;
> #endif
> argv += optind;
> if (argv[0]) {
> +#if !BB_MMU
> + G.root_fd = xopen("/", O_RDONLY | O_DIRECTORY);
> + close_on_exec_on(G.root_fd);
> +#endif
It would be nice to have an "assume O_CLOEXEC" build option and use
O_CLOEXEC wherever close_on_exec_on is currently used. Might save a
little bit of bloat if nothing else. This could probably be achieved
just by adding O_CLOEXEC at the call sites, defining it to 0 if the
system doesn't define it, and defining close_on_exec_on(x) away to
nothing if the build option is selected.
Rich
More information about the busybox
mailing list