Print this page
8927 sadb_x_kmc_t's KM cookie should be 64-bits (fix improper upstream)

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libipsecutil/common/ipsec_util.c
          +++ new/usr/src/lib/libipsecutil/common/ipsec_util.c
↓ open down ↓ 2594 lines elided ↑ open up ↑
2595 2595  {
2596 2596          char *cookie_label;
2597 2597  
2598 2598          switch (kmc->sadb_x_kmc_proto) {
2599 2599          case SADB_X_KMP_IKE:
2600 2600                  cookie_label = kmc_lookup_by_cookie(kmc->sadb_x_kmc_cookie);
2601 2601                  if (cookie_label == NULL)
2602 2602                          cookie_label =
2603 2603                              dgettext(TEXT_DOMAIN, "<Label not found.>");
2604 2604                  (void) fprintf(file, dgettext(TEXT_DOMAIN,
2605      -                    "%sProtocol %u, cookie=\"%s\" (%u)\n"), prefix,
     2605 +                    "%s Protocol %u, cookie=\"%s\" (%u)\n"), prefix,
2606 2606                      kmc->sadb_x_kmc_proto, cookie_label,
2607 2607                      kmc->sadb_x_kmc_cookie);
2608 2608                  return;
     2609 +        case SADB_X_KMP_KINK:
     2610 +                cookie_label = dgettext(TEXT_DOMAIN, "KINK:");
     2611 +                break;
2609 2612          case SADB_X_KMP_MANUAL:
2610      -                cookie_label = dgettext(TEXT_DOMAIN, "Manual SA with cookie");
     2613 +                cookie_label = dgettext(TEXT_DOMAIN, "Manual SA with cookie:");
2611 2614                  break;
2612 2615          /* case SADB_X_KMP_IKEV2: */
2613 2616          default:
2614 2617                  cookie_label =
2615 2618                      dgettext(TEXT_DOMAIN, "<unknown KM protocol>");
2616 2619                  break;
2617 2620          }
2618 2621  
2619      -        /* XXX KEBE ASKS... htonll() on generic kmc_cookie? */
     2622 +        /*
     2623 +         * Assume native-byte-order printing for now.  Exceptions (like
     2624 +         * byte-swapping) should be handled in per-KM-protocol cases above.
     2625 +         */
2620 2626          (void) fprintf(file, dgettext(TEXT_DOMAIN,
2621      -            "%sProtocol %u, cookie=\"%s\" (0x%"PRIx64"/%"PRIu64")\n"),
     2627 +            "%s Protocol %u, cookie=\"%s\" (0x%"PRIx64"/%"PRIu64")\n"),
2622 2628              prefix, kmc->sadb_x_kmc_proto, cookie_label,
2623 2629              kmc->sadb_x_kmc_cookie64, kmc->sadb_x_kmc_cookie64);
2624 2630  }
2625 2631  
2626 2632  /*
2627 2633   * Print an SADB_X_EXT_REPLAY_CTR extension.
2628 2634   */
2629 2635  
2630 2636  void
2631 2637  print_replay(FILE *file, char *prefix, sadb_x_replay_ctr_t *repl)
↓ open down ↓ 837 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX