0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. From 145b88d0c1a71ba6f4d216768388e0c5853d3990 Mon Sep 17 00:00:00 2001
  2. From: Matt Weber <matthew.weber@rockwellcollins.com>
  3. Date: Tue, 5 Feb 2019 10:34:55 -0600
  4. Subject: [PATCH] Support for libressl coexisting with openssl 1.1.x
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. libressl needs to not follow the 1.1.x path of APIs
  9. Resolves build failure like
  10. In file included from svc.c:28:0:
  11. pound.h:348:3: warning: data definition has no type or storage class
  12. DEFINE_LHASH_OF(TABNODE);
  13. ^~~~~~~~~~~~~~~
  14. pound.h:348:3: warning: type defaults to ‘int’ in declaration of ‘DEFINE_LHASH_OF’ [-Wimplicit-int]
  15. svc.c: In function ‘t_add’:
  16. svc.c:69:15: warning: implicit declaration of function ‘lh_TABNODE_insert’; did you mean ‘lh_OBJ_NAME_insert’? [-Wimplicit-function-declaration]
  17. if((old = lh_TABNODE_insert(tab, t)) != NULL) {
  18. ^~~~~~~~~~~~~~~~~
  19. lh_OBJ_NAME_insert
  20. Upstream: Site was down when I tried (http://www.apsis.ch/pound)
  21. Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
  22. ---
  23. config.c | 2 +-
  24. svc.c | 20 ++++++++++----------
  25. 2 files changed, 11 insertions(+), 11 deletions(-)
  26. diff --git a/config.c b/config.c
  27. index 58b928e..3ad7fbb 100644
  28. --- a/config.c
  29. +++ b/config.c
  30. @@ -574,7 +574,7 @@ parse_service(const char *svc_name)
  31. pthread_mutex_init(&res->mut, NULL);
  32. if(svc_name)
  33. strncpy(res->name, svc_name, KEY_SIZE);
  34. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  35. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  36. if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL)
  37. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  38. if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL)
  39. diff --git a/svc.c b/svc.c
  40. index f125be4..8a2f62c 100644
  41. --- a/svc.c
  42. +++ b/svc.c
  43. @@ -27,7 +27,7 @@
  44. #include "pound.h"
  45. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  46. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  47. # define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t)
  48. # define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n)
  49. #else
  50. @@ -65,7 +65,7 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const
  51. }
  52. memcpy(t->content, content, cont_len);
  53. t->last_acc = time(NULL);
  54. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  55. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  56. if((old = lh_TABNODE_insert(tab, t)) != NULL) {
  57. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  58. if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) {
  59. @@ -91,7 +91,7 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key)
  60. TABNODE t, *res;
  61. t.key = key;
  62. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  63. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  64. if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) {
  65. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  66. if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) {
  67. @@ -113,7 +113,7 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key)
  68. TABNODE t, *res;
  69. t.key = key;
  70. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  71. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  72. if((res = lh_TABNODE_delete(tab, &t)) != NULL) {
  73. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  74. if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) {
  75. @@ -140,7 +140,7 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a)
  76. TABNODE *res;
  77. if(t->last_acc < a->lim)
  78. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  79. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  80. if((res = lh_TABNODE_delete(a->tab, t)) != NULL) {
  81. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  82. if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) {
  83. @@ -160,7 +160,7 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG)
  84. IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *)
  85. #endif
  86. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  87. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  88. IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG);
  89. #endif
  90. @@ -177,7 +177,7 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim)
  91. a.lim = lim;
  92. down_load = TABNODE_GET_DOWN_LOAD(tab);
  93. TABNODE_SET_DOWN_LOAD(tab, 0);
  94. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  95. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  96. lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a);
  97. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  98. LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a);
  99. @@ -194,7 +194,7 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg)
  100. TABNODE *res;
  101. if(memcmp(t->content, arg->content, arg->cont_len) == 0)
  102. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  103. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  104. if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) {
  105. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  106. if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) {
  107. @@ -228,7 +228,7 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len
  108. a.cont_len = cont_len;
  109. down_load = TABNODE_GET_DOWN_LOAD(tab);
  110. TABNODE_SET_DOWN_LOAD(tab, 0);
  111. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  112. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  113. lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a);
  114. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  115. LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a);
  116. @@ -1514,7 +1514,7 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const
  117. a.control_sock = control_sock;
  118. a.backends = backends;
  119. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  120. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER
  121. lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a);
  122. #elif OPENSSL_VERSION_NUMBER >= 0x10000000L
  123. LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a);
  124. --
  125. 1.9.1