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)