Print this page
Code review comments from pmooney (sundry), and igork (screwups in zonecfg refactoring)

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/zonecfg/zonecfg.c
          +++ new/usr/src/cmd/zonecfg/zonecfg.c
↓ open down ↓ 2109 lines elided ↑ open up ↑
2110 2110          while (zonecfg_getadminent(handle, &admintab) == Z_OK) {
2111 2111                  (void) fprintf(of, "%s %s\n", cmd_to_str(CMD_ADD),
2112 2112                      rt_to_str(RT_ADMIN));
2113 2113                  export_prop(of, PT_USER, admintab.zone_admin_user);
2114 2114                  export_prop(of, PT_AUTHS, admintab.zone_admin_auths);
2115 2115                  (void) fprintf(of, "%s\n", cmd_to_str(CMD_END));
2116 2116          }
2117 2117  
2118 2118          (void) zonecfg_endadminent(handle);
2119 2119  
2120      -        if ((err = zonecfg_getsecflagsent(handle, &secflagstab)) != Z_OK) {
2121      -                zone_perror(zone, err, B_FALSE);
2122      -                goto done;
     2120 +        if (zonecfg_getsecflagsent(handle, &secflagstab) == Z_OK) {
     2121 +                (void) fprintf(of, "%s %s\n", cmd_to_str(CMD_ADD),
     2122 +                    rt_to_str(RT_SECFLAGS));
     2123 +                export_prop(of, PT_DEFAULT, secflagstab.zone_secflags_default);
     2124 +                export_prop(of, PT_LOWER, secflagstab.zone_secflags_lower);
     2125 +                export_prop(of, PT_UPPER, secflagstab.zone_secflags_upper);
     2126 +                (void) fprintf(of, "%s\n", cmd_to_str(CMD_END));
2123 2127          }
2124 2128  
2125      -        (void) fprintf(of, "%s %s\n", cmd_to_str(CMD_ADD),
2126      -            rt_to_str(RT_SECFLAGS));
2127      -        export_prop(of, PT_DEFAULT, secflagstab.zone_secflags_default);
2128      -        export_prop(of, PT_LOWER, secflagstab.zone_secflags_lower);
2129      -        export_prop(of, PT_UPPER, secflagstab.zone_secflags_upper);
2130      -        (void) fprintf(of, "%s\n", cmd_to_str(CMD_END));
2131      -
2132 2129          /*
2133 2130           * There is nothing to export for pcap since this resource is just
2134 2131           * a container for an rctl alias.
2135 2132           */
2136 2133  
2137 2134  done:
2138 2135          if (need_to_close)
2139 2136                  (void) fclose(of);
2140 2137  }
2141 2138  
↓ open down ↓ 3475 lines elided ↑ open up ↑
5617 5614           */
5618 5615          if (!output && cmd->cmd_prop_nv_pairs > 0)
5619 5616                  (void) printf(gettext("No such %s resource.\n"),
5620 5617                      rt_to_str(RT_ADMIN));
5621 5618  }
5622 5619  
5623 5620  static void
5624 5621  info_secflags(zone_dochandle_t handle, FILE *fp)
5625 5622  {
5626 5623          struct zone_secflagstab sftab;
5627      -        int err;
5628 5624  
5629      -        if ((err = zonecfg_lookup_secflags(handle, &sftab)) != Z_OK) {
5630      -                zone_perror(zone, err, B_TRUE);
5631      -                return;
     5625 +        if (zonecfg_lookup_secflags(handle, &sftab) == Z_OK) {
     5626 +                output_secflags(fp, &sftab);
5632 5627          }
5633      -
5634      -        output_secflags(fp, &sftab);
5635 5628  }
5636 5629  
5637 5630  void
5638 5631  info_func(cmd_t *cmd)
5639 5632  {
5640 5633          FILE *fp = stdout;
5641 5634          boolean_t need_to_close = B_FALSE;
5642 5635          int type;
5643 5636          int res1, res2;
5644 5637          uint64_t swap_limit;
↓ open down ↓ 741 lines elided ↑ open up ↑
6386 6379                              admintab.zone_admin_user);
6387 6380                          ret_val = Z_BAD_PROPERTY;
6388 6381                  }
6389 6382                  if ((ret_val == Z_OK) && (!zonecfg_valid_auths(
6390 6383                      admintab.zone_admin_auths, zone))) {
6391 6384                          ret_val = Z_BAD_PROPERTY;
6392 6385                  }
6393 6386          }
6394 6387          (void) zonecfg_endadminent(handle);
6395 6388  
6396      -        if ((err = zonecfg_getsecflagsent(handle, &secflagstab)) != Z_OK) {
6397      -                zone_perror(zone, err, B_TRUE);
6398      -                return;
6399      -        }
6400      -
6401      -        /*
6402      -         * No properties are required, but any specified should be
6403      -         * valid
6404      -         */
6405      -        if (verify_secflags(&secflagstab) != B_TRUE) {
6406      -                /* Error is reported from verify_secflags */
6407      -                ret_val = Z_BAD_PROPERTY;
     6389 +        if (zonecfg_getsecflagsent(handle, &secflagstab) == Z_OK) {
     6390 +                /*
     6391 +                 * No properties are required, but any specified should be
     6392 +                 * valid
     6393 +                 */
     6394 +                if (verify_secflags(&secflagstab) != B_TRUE) {
     6395 +                        /* Error is reported from verify_secflags */
     6396 +                        ret_val = Z_BAD_PROPERTY;
     6397 +                }
6408 6398          }
6409 6399  
6410 6400          if (!global_scope) {
6411 6401                  zerr(gettext("resource specification incomplete"));
6412 6402                  saw_error = B_TRUE;
6413 6403                  if (ret_val == Z_OK)
6414 6404                          ret_val = Z_INSUFFICIENT_SPEC;
6415 6405          }
6416 6406  
6417 6407          if (save) {
↓ open down ↓ 1212 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX