X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Flsxid.c;h=a3064cd1c6053f6334c17be88f255e4d7ca6071f;hb=4fc0d7c31dd9fb6bae2e77ba37d8a08ab26dd65c;hp=36cb18919d46ab0afcd186d3925be71f33e35c8a;hpb=869ef86707f88fe8924fdc30c434a21e128390d9;p=util-vserver.git diff --git a/util-vserver/src/lsxid.c b/util-vserver/src/lsxid.c index 36cb189..a3064cd 100644 --- a/util-vserver/src/lsxid.c +++ b/util-vserver/src/lsxid.c @@ -84,7 +84,7 @@ getFileContext(char const *name, struct stat const *exp_st) uint32_t mask = VC_IATTR_XID; if (vc_get_iattr_compat(name, exp_st->st_dev, exp_st->st_ino, - &res, 0, &mask)==-1) + &res, 0, &mask, &exp_st->st_mode)==-1) perror("vc_get_iattr_compat()"); return (mask&VC_IATTR_XID) ? res : VC_NOCTX; @@ -100,31 +100,24 @@ handleFile(char const *name, char const *display_name, memset(buf, ' ', sizeof buf); - if (!S_ISREG(exp_st->st_mode)) { - memcpy(buf, "-------", 7); + ctx = getFileContext(name, exp_st); + + if (ctx==VC_NOCTX) { + memcpy(buf, "!!ERR!!", 7); write(1, buf, sizeof buf); need_write = false; } - else { - ctx = getFileContext(name, exp_st); - - if (ctx==VC_NOCTX) { - memcpy(buf, "!!ERR!!", 7); - write(1, buf, sizeof buf); + else if (global_args->do_mapping) { + char const * vname = vc_getVserverByCtx(ctx, 0,0); + if (!vname) buf[0] = '\0'; + else { + size_t l = strlen(vname); + if (ldo_mapping) { - char const * vname = vc_getVserverByCtx(ctx, 0,0); - if (!vname) buf[0] = '\0'; - else { - size_t l = strlen(vname); - if (l