6393 if (zonecfg_getsecflagsent(handle, &secflagstab) == Z_OK) {
6394 /*
6395 * No properties are required, but any specified should be
6396 * valid
6397 */
6398 if (verify_secflags(&secflagstab) != B_TRUE) {
6399 /* Error is reported from verify_secflags */
6400 ret_val = Z_BAD_PROPERTY;
6401 }
6402 }
6403
6404 if (!global_scope) {
6405 zerr(gettext("resource specification incomplete"));
6406 saw_error = B_TRUE;
6407 if (ret_val == Z_OK)
6408 ret_val = Z_INSUFFICIENT_SPEC;
6409 }
6410
6411 if (save) {
6412 if (ret_val == Z_OK) {
6413 if ((ret_val = zonecfg_save(handle)) == Z_OK) {
6414 need_to_commit = B_FALSE;
6415 (void) strlcpy(revert_zone, zone,
6416 sizeof (revert_zone));
6417 }
6418 } else {
6419 zerr(gettext("Zone %s failed to verify"), zone);
6420 }
6421 }
6422 if (ret_val != Z_OK)
6423 zone_perror(zone, ret_val, B_TRUE);
6424 }
6425
6426 void
6427 cancel_func(cmd_t *cmd)
6428 {
6429 int arg;
6430 boolean_t arg_err = B_FALSE;
6431
6432 assert(cmd != NULL);
|
6393 if (zonecfg_getsecflagsent(handle, &secflagstab) == Z_OK) {
6394 /*
6395 * No properties are required, but any specified should be
6396 * valid
6397 */
6398 if (verify_secflags(&secflagstab) != B_TRUE) {
6399 /* Error is reported from verify_secflags */
6400 ret_val = Z_BAD_PROPERTY;
6401 }
6402 }
6403
6404 if (!global_scope) {
6405 zerr(gettext("resource specification incomplete"));
6406 saw_error = B_TRUE;
6407 if (ret_val == Z_OK)
6408 ret_val = Z_INSUFFICIENT_SPEC;
6409 }
6410
6411 if (save) {
6412 if (ret_val == Z_OK) {
6413 /*
6414 * If the zone doesn't yet have a debug ID, set one now.
6415 */
6416 if (zonecfg_get_did(handle) == -1)
6417 zonecfg_set_did(handle);
6418
6419 if ((ret_val = zonecfg_save(handle)) == Z_OK) {
6420 need_to_commit = B_FALSE;
6421 (void) strlcpy(revert_zone, zone,
6422 sizeof (revert_zone));
6423 }
6424 } else {
6425 zerr(gettext("Zone %s failed to verify"), zone);
6426 }
6427 }
6428 if (ret_val != Z_OK)
6429 zone_perror(zone, ret_val, B_TRUE);
6430 }
6431
6432 void
6433 cancel_func(cmd_t *cmd)
6434 {
6435 int arg;
6436 boolean_t arg_err = B_FALSE;
6437
6438 assert(cmd != NULL);
|