lsipc: differentiate between UID and USER names
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
c8b47062ab
commit
7458c061db
|
@ -62,9 +62,13 @@ enum {
|
||||||
COL_OWNER,
|
COL_OWNER,
|
||||||
COL_PERMS,
|
COL_PERMS,
|
||||||
COL_CUID,
|
COL_CUID,
|
||||||
|
COL_CUSER,
|
||||||
COL_CGID,
|
COL_CGID,
|
||||||
|
COL_CGROUP,
|
||||||
COL_UID,
|
COL_UID,
|
||||||
|
COL_USER,
|
||||||
COL_GID,
|
COL_GID,
|
||||||
|
COL_GROUP,
|
||||||
COL_CTIME,
|
COL_CTIME,
|
||||||
COLDESC_IDX_GEN_LAST = COL_CTIME,
|
COLDESC_IDX_GEN_LAST = COL_CTIME,
|
||||||
|
|
||||||
|
@ -152,10 +156,14 @@ static const struct lsipc_coldesc coldescs[] =
|
||||||
[COL_ID] = { "ID", N_("Resource ID"), N_("ID"), 1},
|
[COL_ID] = { "ID", N_("Resource ID"), N_("ID"), 1},
|
||||||
[COL_OWNER] = { "OWNER", N_("Owner"), N_("Owner"), 1, SCOLS_FL_RIGHT},
|
[COL_OWNER] = { "OWNER", N_("Owner"), N_("Owner"), 1, SCOLS_FL_RIGHT},
|
||||||
[COL_PERMS] = { "PERMS", N_("Permissions"), N_("Permissions"), 1, SCOLS_FL_RIGHT},
|
[COL_PERMS] = { "PERMS", N_("Permissions"), N_("Permissions"), 1, SCOLS_FL_RIGHT},
|
||||||
[COL_CUID] = { "CUID", N_("Creator UID"), N_("CUID"), 1, SCOLS_FL_RIGHT},
|
[COL_CUID] = { "CUID", N_("Creator UID"), N_("Creator UID"), 1, SCOLS_FL_RIGHT},
|
||||||
[COL_CGID] = { "CGID", N_("Creator GID"), N_("CGID"), 1, SCOLS_FL_RIGHT},
|
[COL_CUSER] = { "CUSER", N_("Creator user"), N_("Creator user"), 1 },
|
||||||
|
[COL_CGID] = { "CGID", N_("Creator GID"), N_("Creator GID"), 1, SCOLS_FL_RIGHT},
|
||||||
|
[COL_CGROUP] = { "CGROUP", N_("Creator group"), N_("Creator group"), 1 },
|
||||||
[COL_UID] = { "UID", N_("User ID"), N_("UID"), 1, SCOLS_FL_RIGHT},
|
[COL_UID] = { "UID", N_("User ID"), N_("UID"), 1, SCOLS_FL_RIGHT},
|
||||||
|
[COL_USER] = { "USER", N_("User name"), N_("User name"), 1},
|
||||||
[COL_GID] = { "GID", N_("Group ID"), N_("GID"), 1, SCOLS_FL_RIGHT},
|
[COL_GID] = { "GID", N_("Group ID"), N_("GID"), 1, SCOLS_FL_RIGHT},
|
||||||
|
[COL_GROUP] = { "GROUP", N_("Group name"), N_("Group name"), 1},
|
||||||
[COL_CTIME] = { "CTIME", N_("Time of the last change"), N_("Last change"), 1, SCOLS_FL_RIGHT},
|
[COL_CTIME] = { "CTIME", N_("Time of the last change"), N_("Last change"), 1, SCOLS_FL_RIGHT},
|
||||||
|
|
||||||
/* msgq-specific */
|
/* msgq-specific */
|
||||||
|
@ -555,26 +563,35 @@ static void do_sem(int id, struct lsipc_control *ctl, struct libscols_table *tb)
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
case COL_CUID:
|
case COL_CUID:
|
||||||
if (cpw)
|
|
||||||
xasprintf(&arg, "%s", cpw->pw_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", semdsp->sem_perm.cuid);
|
xasprintf(&arg, "%u", semdsp->sem_perm.cuid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_CUSER:
|
||||||
|
if (cpw) {
|
||||||
|
xasprintf(&arg, "%s", cpw->pw_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_CGID:
|
case COL_CGID:
|
||||||
if (cgr)
|
|
||||||
xasprintf(&arg, "%s", cgr->gr_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", semdsp->sem_perm.cuid);
|
xasprintf(&arg, "%u", semdsp->sem_perm.cuid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_CGROUP:
|
||||||
|
if (cgr) {
|
||||||
|
xasprintf(&arg, "%s", cgr->gr_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_UID:
|
case COL_UID:
|
||||||
if (pw)
|
|
||||||
xasprintf(&arg, "%s", pw->pw_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", semdsp->sem_perm.uid);
|
xasprintf(&arg, "%u", semdsp->sem_perm.uid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_USER:
|
||||||
|
if (pw) {
|
||||||
|
xasprintf(&arg, "%u", semdsp->sem_perm.uid);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_GID:
|
case COL_GID:
|
||||||
if (gr)
|
if (gr)
|
||||||
xasprintf(&arg, "%s", gr->gr_name);
|
xasprintf(&arg, "%s", gr->gr_name);
|
||||||
|
@ -582,6 +599,12 @@ static void do_sem(int id, struct lsipc_control *ctl, struct libscols_table *tb)
|
||||||
xasprintf(&arg, "%u", semdsp->sem_perm.gid);
|
xasprintf(&arg, "%u", semdsp->sem_perm.gid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_GROUP:
|
||||||
|
if (gr) {
|
||||||
|
xasprintf(&arg, "%s", gr->gr_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_CTIME:
|
case COL_CTIME:
|
||||||
if (semdsp->sem_ctime != 0) {
|
if (semdsp->sem_ctime != 0) {
|
||||||
rc = scols_line_set_data(ln, n,
|
rc = scols_line_set_data(ln, n,
|
||||||
|
@ -705,35 +728,49 @@ static void do_msg(int id, struct lsipc_control *ctl, struct libscols_table *tb)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COL_CUID:
|
case COL_CUID:
|
||||||
if (msgdsp->msg_perm.cuid == msgdsp->msg_perm.uid
|
|
||||||
|| (pw = getpwuid(msgdsp->msg_perm.cuid)))
|
|
||||||
xasprintf(&arg, "%s", pw->pw_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", msgdsp->msg_perm.cuid);
|
xasprintf(&arg, "%u", msgdsp->msg_perm.cuid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_CUSER:
|
||||||
|
if (msgdsp->msg_perm.cuid == msgdsp->msg_perm.uid
|
||||||
|
|| (pw = getpwuid(msgdsp->msg_perm.cuid))) {
|
||||||
|
xasprintf(&arg, "%s", pw->pw_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_CGID:
|
case COL_CGID:
|
||||||
if (msgdsp->msg_perm.cgid == msgdsp->msg_perm.gid
|
|
||||||
|| (gr = getgrgid(msgdsp->msg_perm.cgid)))
|
|
||||||
xasprintf(&arg, "%s", gr->gr_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", msgdsp->msg_perm.cuid);
|
xasprintf(&arg, "%u", msgdsp->msg_perm.cuid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_CGROUP:
|
||||||
|
if (msgdsp->msg_perm.cgid == msgdsp->msg_perm.gid
|
||||||
|
|| (gr = getgrgid(msgdsp->msg_perm.cgid))) {
|
||||||
|
xasprintf(&arg, "%s", gr->gr_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_UID:
|
case COL_UID:
|
||||||
if (pw)
|
|
||||||
xasprintf(&arg, "%s", pw->pw_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", msgdsp->msg_perm.uid);
|
xasprintf(&arg, "%u", msgdsp->msg_perm.uid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_USER:
|
||||||
|
if (pw) {
|
||||||
|
xasprintf(&arg, "%s", pw->pw_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_GID:
|
case COL_GID:
|
||||||
if (gr)
|
|
||||||
xasprintf(&arg, "%s", gr->gr_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", msgdsp->msg_perm.gid);
|
xasprintf(&arg, "%u", msgdsp->msg_perm.gid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_GROUP:
|
||||||
|
if (gr) {
|
||||||
|
xasprintf(&arg, "%s", gr->gr_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_CTIME:
|
case COL_CTIME:
|
||||||
if (msgdsp->q_ctime != 0) {
|
if (msgdsp->q_ctime != 0) {
|
||||||
rc = scols_line_set_data(ln, n,
|
rc = scols_line_set_data(ln, n,
|
||||||
|
@ -864,35 +901,47 @@ static void do_shm(int id, struct lsipc_control *ctl, struct libscols_table *tb)
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
case COL_CUID:
|
case COL_CUID:
|
||||||
if (shmdsp->shm_perm.cuid == shmdsp->shm_perm.uid
|
|
||||||
|| (pw = getpwuid(shmdsp->shm_perm.cuid)))
|
|
||||||
xasprintf(&arg, "%s", pw->pw_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", shmdsp->shm_perm.cuid);
|
xasprintf(&arg, "%u", shmdsp->shm_perm.cuid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_CUSER:
|
||||||
|
if (shmdsp->shm_perm.cuid == shmdsp->shm_perm.uid
|
||||||
|
|| (pw = getpwuid(shmdsp->shm_perm.cuid))) {
|
||||||
|
xasprintf(&arg, "%s", pw->pw_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_CGID:
|
case COL_CGID:
|
||||||
if (shmdsp->shm_perm.cgid == shmdsp->shm_perm.gid
|
|
||||||
|| (gr = getgrgid(shmdsp->shm_perm.cgid)))
|
|
||||||
xasprintf(&arg, "%s", gr->gr_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", shmdsp->shm_perm.cuid);
|
xasprintf(&arg, "%u", shmdsp->shm_perm.cuid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_CGROUP:
|
||||||
|
if (shmdsp->shm_perm.cgid == shmdsp->shm_perm.gid
|
||||||
|
|| (gr = getgrgid(shmdsp->shm_perm.cgid))) {
|
||||||
|
xasprintf(&arg, "%s", gr->gr_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_UID:
|
case COL_UID:
|
||||||
if (pw)
|
|
||||||
xasprintf(&arg, "%s", pw->pw_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", shmdsp->shm_perm.uid);
|
xasprintf(&arg, "%u", shmdsp->shm_perm.uid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_USER:
|
||||||
|
if (pw) {
|
||||||
|
xasprintf(&arg, "%s", pw->pw_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_GID:
|
case COL_GID:
|
||||||
if (gr)
|
|
||||||
xasprintf(&arg, "%s", gr->gr_name);
|
|
||||||
else
|
|
||||||
xasprintf(&arg, "%u", shmdsp->shm_perm.gid);
|
xasprintf(&arg, "%u", shmdsp->shm_perm.gid);
|
||||||
rc = scols_line_set_data(ln, n, arg);
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
break;
|
break;
|
||||||
|
case COL_GROUP:
|
||||||
|
if (gr) {
|
||||||
|
xasprintf(&arg, "%s", gr->gr_name);
|
||||||
|
rc = scols_line_set_data(ln, n, arg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COL_CTIME:
|
case COL_CTIME:
|
||||||
if (shmdsp->shm_ctim != 0) {
|
if (shmdsp->shm_ctim != 0) {
|
||||||
rc = scols_line_set_data(ln, n,
|
rc = scols_line_set_data(ln, n,
|
||||||
|
|
Loading…
Reference in New Issue