Print this page
1784 zone configuration passes zonecfg but not zoneadm for limitpriv property
@@ -5727,10 +5727,12 @@
char zonepath[MAXPATHLEN];
char sched[MAXNAMELEN];
char brand[MAXNAMELEN];
char hostidp[HW_HOSTID_LEN];
char fsallowedp[ZONE_FS_ALLOWED_MAX];
+ priv_set_t *privs;
+ char *privname = NULL;
int err, ret_val = Z_OK, arg;
int pset_res;
boolean_t save = B_FALSE;
boolean_t arg_err = B_FALSE;
zone_iptype_t iptype;
@@ -5794,10 +5796,22 @@
zerr("%s %s", gettext("cannot get"), pt_to_str(PT_IPTYPE));
ret_val = Z_REQD_RESOURCE_MISSING;
saw_error = B_TRUE;
}
+ if ((privs = priv_allocset()) == NULL) {
+ zerr(gettext("%s: priv_allocset failed"), zone);
+ return;
+ }
+ if (zonecfg_get_privset(handle, privs, &privname) != Z_OK) {
+ zerr(gettext("%s: invalid privilege: %s"), zone, privname);
+ priv_freeset(privs);
+ free(privname);
+ return;
+ }
+ priv_freeset(privs);
+
if (zonecfg_get_hostid(handle, hostidp,
sizeof (hostidp)) == Z_INVALID_PROPERTY) {
zerr(gettext("%s: invalid hostid: %s"),
zone, hostidp);
return;