ftpd authentication [PATCH] ftpd: NOMMU/chroot fix
Denys Vlasenko
vda.linux at googlemail.com
Mon Jun 30 13:20:13 UTC 2014
On Fri, Jun 27, 2014 at 3:37 PM, Rich Felker <dalias at libc.org> wrote:
> 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.
O_CLOEXEC is from 2007:
commit f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4
Author: Ulrich Drepper <drepper at redhat.com>
Date: Sun Jul 15 23:40:32 2007 -0700
Introduce O_CLOEXEC
I propose waiting till ~2017 and then deprecate support
for "ancient kernels which doesn't support O_CLOEXEC".
More information about the busybox
mailing list