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.