Print this page
6723237 libcryptoutil should allow mechanism number "0x80000000" (the value of marker CKM_VENDOR_DEFINED)

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/cmd-crypto/cryptoadm/adm_uef.c
          +++ new/usr/src/cmd/cmd-crypto/cryptoadm/adm_uef.c
↓ open down ↓ 15 lines elided ↑ open up ↑
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
  26      -#pragma ident   "@(#)adm_uef.c  1.13    08/06/27 SMI"
       26 +#pragma ident   "@(#)adm_uef.c  1.14    08/07/07 SMI"
  27   27  
  28   28  #include <cryptoutil.h>
  29   29  #include <fcntl.h>
  30   30  #include <libintl.h>
  31   31  #include <stdio.h>
  32   32  #include <stdlib.h>
  33   33  #include <strings.h>
  34   34  #include <unistd.h>
  35   35  #include <errno.h>
  36   36  #include <dlfcn.h>
↓ open down ↓ 404 lines elided ↑ open up ↑
 441  441                  if (verbose && show_mechs) {
 442  442                          display_verbose_mech_header();
 443  443                  }
 444  444                  /*
 445  445                   * Merge the current mechanism list into the returning
 446  446                   * mechanism list.
 447  447                   */
 448  448                  for (j = 0; show_mechs && j < mech_count; j++) {
 449  449                          CK_MECHANISM_TYPE       mech = pmech_list[j];
 450  450  
 451      -                        if (mech > CKM_VENDOR_DEFINED) {
      451 +                        if (mech >= CKM_VENDOR_DEFINED) {
 452  452                                  (void) printf("%#lx", mech);
 453  453                          } else {
 454  454                                  mech_name = pkcs11_mech2str(mech);
 455  455                                  (void) printf("%-29s", mech_name);
 456  456                          }
 457  457  
 458  458                          if (verbose) {
 459  459                                  CK_MECHANISM_INFO mech_info;
 460  460                                  rv = prov_funcs->C_GetMechanismInfo(
 461  461                                      prov_slots[i], mech, &mech_info);
↓ open down ↓ 674 lines elided ↑ open up ↑
1136 1136                  if (ptr == NULL) {
1137 1137                          (void) printf(".");
1138 1138                  } else {
1139 1139                          (void) printf(gettext(", except "));
1140 1140                          while (ptr != NULL) {
1141 1141                                  mech_id = strtoul(ptr->name, NULL, 0);
1142 1142                                  if (mech_id & CKO_VENDOR_DEFINED) {
1143 1143                                          /* vendor defined mechanism */
1144 1144                                          (void) printf("%s", ptr->name);
1145 1145                                  } else {
1146      -                                        if (mech_id > CKM_VENDOR_DEFINED) {
     1146 +                                        if (mech_id >= CKM_VENDOR_DEFINED) {
1147 1147                                                  (void) printf("%#lx", mech_id);
1148 1148                                          } else {
1149 1149                                                  mech_name = pkcs11_mech2str(
1150 1150                                                      mech_id);
1151 1151                                                  if (mech_name == NULL) {
1152 1152                                                          return (FAILURE);
1153 1153                                                  }
1154 1154                                                  (void) printf("%s", mech_name);
1155 1155                                          }
1156 1156                                  }
↓ open down ↓ 666 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX