libnssckbi-compat.patch 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. diff -upr p11-kit-0.23.1.orig/trust/Makefile.am p11-kit-0.23.1/trust/Makefile.am
  2. --- p11-kit-0.23.1.orig/trust/Makefile.am 2014-11-12 12:58:50.000000000 +0200
  3. +++ p11-kit-0.23.1/trust/Makefile.am 2015-03-30 16:43:35.275993032 +0300
  4. @@ -61,6 +61,20 @@ p11_kit_trust_la_LDFLAGS = \
  5. p11_kit_trust_la_SOURCES = $(TRUST_SRCS)
  6. +libnssckbi_compatdir = $(libdir)
  7. +libnssckbi_compat_LTLIBRARIES = \
  8. + libnssckbi-p11-kit.la
  9. +
  10. +libnssckbi_p11_kit_la_CFLAGS = \
  11. + -DLIBNSSCKBI_COMPAT \
  12. + $(p11_kit_trust_la_CFLAGS)
  13. +
  14. +libnssckbi_p11_kit_la_LIBADD = $(p11_kit_trust_la_LIBADD)
  15. +
  16. +libnssckbi_p11_kit_la_LDFLAGS = $(p11_kit_trust_la_LDFLAGS)
  17. +
  18. +libnssckbi_p11_kit_la_SOURCES = $(p11_kit_trust_la_SOURCES)
  19. +
  20. libtrust_testable_la_LDFLAGS = \
  21. -no-undefined
  22. diff -upr p11-kit-0.23.1.orig/trust/module.c p11-kit-0.23.1/trust/module.c
  23. --- p11-kit-0.23.1.orig/trust/module.c 2014-12-16 12:24:01.000000000 +0200
  24. +++ p11-kit-0.23.1/trust/module.c 2015-03-30 16:48:41.370360130 +0300
  25. @@ -196,7 +196,11 @@ create_tokens_inlock (p11_array *tokens,
  26. const char *label;
  27. } labels[] = {
  28. { "~/", "User Trust" },
  29. +#ifdef LIBNSSCKBI_COMPAT
  30. + { DATA_DIR, "Builtin Object Token" },
  31. +#else
  32. { DATA_DIR, "Default Trust" },
  33. +#endif
  34. { SYSCONFDIR, "System Trust" },
  35. { NULL },
  36. };
  37. @@ -521,9 +525,15 @@ sys_C_GetSlotInfo (CK_SLOT_ID id,
  38. info->flags = CKF_TOKEN_PRESENT;
  39. strncpy ((char*)info->manufacturerID, MANUFACTURER_ID, 32);
  40. - /* If too long, copy the first 64 characters into buffer */
  41. - path = p11_token_get_path (token);
  42. +#ifdef LIBNSSCKBI_COMPAT
  43. + /* Change description to match libnssckbi so HPKP works in Chromium */
  44. + if (strcmp (p11_token_get_label (token), "Builtin Object Token" ) == 0)
  45. + path = "NSS Builtin Objects";
  46. + else
  47. +#endif
  48. + path = p11_token_get_path (token);
  49. length = strlen (path);
  50. + /* If too long, copy the first 64 characters into buffer */
  51. if (length > sizeof (info->slotDescription))
  52. length = sizeof (info->slotDescription);
  53. memset (info->slotDescription, ' ', sizeof (info->slotDescription));