0001-Use-accessors-for-DSA-and-RSA-objects.patch 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. From 887d618239312cc8c11e41c45492eee02a8f28a2 Mon Sep 17 00:00:00 2001
  2. From: Theo Buehler <tb@openbsd.org>
  3. Date: Tue, 11 Jan 2022 21:14:24 +0100
  4. Subject: [PATCH] Use accessors for DSA and RSA objects
  5. In the upcoming LibreSSL version 3.5, the DSA and RSA structs will
  6. become opaque, so we should use the OpenSSL 1.1 setters and getters
  7. to fix the build. The relevant API has been available since
  8. LibreSSL 2.7. The last LibreSSL version (2.6) not having these
  9. accessors was EOL late 2018, so no users should be affected by this
  10. change.
  11. [Retrieved from:
  12. https://github.com/NLnetLabs/ldns/commit/887d618239312cc8c11e41c45492eee02a8f28a2]
  13. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  14. ---
  15. dnssec.c | 4 ++--
  16. host2str.c | 4 ++--
  17. keys.c | 6 +++---
  18. 3 files changed, 7 insertions(+), 7 deletions(-)
  19. diff --git a/dnssec.c b/dnssec.c
  20. index 63fece52..fbaa518a 100644
  21. --- a/dnssec.c
  22. +++ b/dnssec.c
  23. @@ -381,7 +381,7 @@ ldns_key_buf2dsa_raw(const unsigned char* key, size_t len)
  24. BN_free(Y);
  25. return NULL;
  26. }
  27. -#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
  28. +#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER < 0x20700000)
  29. #ifndef S_SPLINT_S
  30. dsa->p = P;
  31. dsa->q = Q;
  32. @@ -468,7 +468,7 @@ ldns_key_buf2rsa_raw(const unsigned char* key, size_t len)
  33. BN_free(modulus);
  34. return NULL;
  35. }
  36. -#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
  37. +#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER < 0x20700000)
  38. #ifndef S_SPLINT_S
  39. rsa->n = modulus;
  40. rsa->e = exponent;
  41. diff --git a/host2str.c b/host2str.c
  42. index a207a913..634c5676 100644
  43. --- a/host2str.c
  44. +++ b/host2str.c
  45. @@ -2451,7 +2451,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k)
  46. const BIGNUM *n=NULL, *e=NULL, *d=NULL,
  47. *p=NULL, *q=NULL, *dmp1=NULL,
  48. *dmq1=NULL, *iqmp=NULL;
  49. -#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
  50. +#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER < 0x20700000)
  51. n = rsa->n;
  52. e = rsa->e;
  53. d = rsa->d;
  54. @@ -2504,7 +2504,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k)
  55. if(1) {
  56. const BIGNUM *p=NULL, *q=NULL, *g=NULL,
  57. *priv_key=NULL, *pub_key=NULL;
  58. -#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
  59. +#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER < 0x20700000)
  60. #ifndef S_SPLINT_S
  61. p = dsa->p;
  62. q = dsa->q;
  63. diff --git a/keys.c b/keys.c
  64. index 91a3dffd..78bea972 100644
  65. --- a/keys.c
  66. +++ b/keys.c
  67. @@ -861,7 +861,7 @@ ldns_key_new_frm_fp_rsa_l(FILE *f, int *line_nr)
  68. }
  69. #endif /* splint */
  70. -#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
  71. +#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER < 0x20700000)
  72. # ifndef S_SPLINT_S
  73. rsa->n = n;
  74. rsa->e = e;
  75. @@ -982,7 +982,7 @@ ldns_key_new_frm_fp_dsa_l(FILE *f, ATTR_UNUSED(int *line_nr))
  76. }
  77. #endif /* splint */
  78. -#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
  79. +#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER < 0x20700000)
  80. # ifndef S_SPLINT_S
  81. dsa->p = p;
  82. dsa->q = q;
  83. @@ -1660,7 +1660,7 @@ ldns_key_rsa2bin(unsigned char *data, RSA *k, uint16_t *size)
  84. if (!k) {
  85. return false;
  86. }
  87. -#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
  88. +#if OPENSSL_VERSION_NUMBER < 0x10100000 || (defined(HAVE_LIBRESSL) && LIBRESSL_VERSION_NUMBER < 0x20700000)
  89. n = k->n;
  90. e = k->e;
  91. #else