Denys,

On Tue, May 12, 2015 at 6:36 PM, Denys Vlasenko
<vda.li...@googlemail.com> wrote:
> Is this behavior compatible with standard coreutils?

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/mkdir.c
.....
        case 'Z':
          if (is_smack_enabled ())
            {
              /* We don't yet support -Z to restore context with SMACK.  */
              scontext = optarg;
            }
          else if (is_selinux_enabled () > 0)
            {
              if (optarg)
                scontext = optarg;
              else
                options.set_security_context = true;
            }
          else if (optarg)
            {
              error (0, 0,
                     _("warning: ignoring --context; "
                       "it requires an SELinux/SMACK-enabled kernel"));
            }
          break;

The first arg of the error() if not 0 exits the application.  So in
this case Coreutils prints a warning and doesn't error out.

>
> On Mon, May 11, 2015 at 4:00 PM, Matt Weber
> <matthew.we...@rockwellcollins.com> wrote:
>> Fixes the case of using mkdir in inittab where a system might boot
>> with selinux disable during testing and still needs the folders created
>> by this command for ram mounts, etc before a mount -a.  Currently it
>> errors out and doesn't create the folder.
>>
>> Signed-off-by: Matthew Weber <matthew.we...@rockwellcollins.com>
>> ---
>>  coreutils/mkdir.c | 7 +++++--
>>  1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/coreutils/mkdir.c b/coreutils/mkdir.c
>> index 864edfb..9fb6e7e 100644
>> --- a/coreutils/mkdir.c
>> +++ b/coreutils/mkdir.c
>> @@ -83,8 +83,11 @@ int mkdir_main(int argc UNUSED_PARAM, char **argv)
>>                 flags |= FILEUTILS_VERBOSE;
>>  #if ENABLE_SELINUX
>>         if (opt & 8) {
>> -               selinux_or_die();
>> -               setfscreatecon_or_die(scontext);
>> +               if (is_selinux_enabled()) {
>> +                       setfscreatecon_or_die(scontext);
>> +               }
>> +               else
>> +                       bb_perror_msg("Ignored -Z for [%s]",*(argv+optind));
>>         }
>
> Move "argv += optind;" above this code block -
> then you can use argv[0] instead of *(argv+optind),
> which is less code.

Sure

>
> The message should start with lowercase letter
> and use '%s', not [%s].

Sure, I hadn't though about it, but should I partially match the
coreutils output?  Maybe  "-Z requires an SELinux enabled kernel,
ignored for %s"


-- 
Matthew L Weber / Pr Software Engineer
Airborne Information Systems / Security Systems and Software / Secure Platforms
MS 131-100, C Ave NE, Cedar Rapids, IA, 52498, USA
www.rockwellcollins.com

Note: Any Export License Required Information and License Restricted
Third Party Intellectual Property (TPIP) content must be encrypted and
sent to matthew.we...@corp.rockwellcollins.com.
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to