Re: libsemanage patch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/04/2009 09:56 AM, Joshua Brindle wrote:
> Daniel J Walsh wrote:
>> If you have a homedir that ends in '/', genhomedircon gets confused.
>>
>> # useradd -h /home2/dwalsh/ dwalsh
>> # genhomedircon
>>
>> Check out the labeling.  genhomedircon thinks dwalsh is a toplevel
>> home root.
>>
>> We should just get rid of this command...  :^)
>>
>> Patch removes all trailing '/' from homedir.
> 
>> diff --exclude-from=exclude -N -u -r
>> nsalibsemanage/src/genhomedircon.c libsemanage-2.0.33/src/genhomedircon.c
>> --- nsalibsemanage/src/genhomedircon.c    2008-08-28
>> 09:34:24.000000000 -0400
>> +++ libsemanage-2.0.33/src/genhomedircon.c    2009-07-15
>> 10:32:20.000000000 -0400
>> @@ -304,6 +304,10 @@
>>              continue;
>>          if (!semanage_list_find(shells, pwbuf->pw_shell))
>>              continue;
>> +        int len = strlen(pwbuf->pw_dir) -1;
>> +        for(; len > 0 && pwbuf->pw_dir[len]=='/'; len--) {
>> +            pwbuf->pw_dir[len]=0;
>> +        }
>>          if (strcmp(pwbuf->pw_dir, "/") == 0)
>>              continue;
>>          if (semanage_str_count(pwbuf->pw_dir, '/') <= 1)
> 
> Why aren't you just doing:
> 
> len = strlen(pwbuf->pwdir);
> if (pwbuf->pwdir[len] == '/')
>     pwbuf->pwdir[len] = '\0';
> 
> ?
> 
What about /home/dwalsh//////
Which I believe is legal
> Also, won't this fail if the homedir is set to '/' ? This check should
> probably go below the strcmp(pwbuf->pw_dir, "/") that is currently below
> it.
Yes good point.

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux