0002-fix-static-build-with-openssl-3.2.0.patch 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. From 145f80df25d23492ed3aa01b3750d7c002964332 Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Fri, 5 Jan 2024 23:15:00 +0100
  4. Subject: [PATCH] fix static build with openssl >= 3.2.0
  5. Rename tls_free into sofia_sip_tls_free as openssl also defines tls_free
  6. since version 3.2.0 and
  7. https://github.com/openssl/openssl/commit/1853d20a008a85d327f4faa9e07be40a85549f8e
  8. resulting in the following static build failure:
  9. /home/autobuild/autobuild/instance-12/output-1/host/lib/gcc/powerpc-buildroot-linux-uclibcspe/8.4.0/../../../../powerpc-buildroot-linux-uclibcspe/bin/ld: /home/autobuild/autobuild/instance-12/output-1/host/bin/../powerpc-buildroot-linux-uclibcspe/sysroot/usr/lib/libssl.a(libssl-lib-tls_common.o): in function `tls_free':
  10. tls_common.c:(.text+0x808): multiple definition of `tls_free'; ../libsofia-sip-ua/.libs/libsofia-sip-ua.a(tport_tls.o):tport_tls.c:(.text+0x1128): first defined here
  11. Fixes:
  12. - http://autobuild.buildroot.org/results/ee862bdafd44c8c56f77e2702ee0a7462634fa0b
  13. Upstream: https://github.com/freeswitch/sofia-sip/pull/240
  14. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  15. ---
  16. libsofia-sip-ua/tport/tport_tls.c | 10 +++++-----
  17. libsofia-sip-ua/tport/tport_tls.h | 2 +-
  18. libsofia-sip-ua/tport/tport_type_tls.c | 4 ++--
  19. 3 files changed, 8 insertions(+), 8 deletions(-)
  20. diff --git a/libsofia-sip-ua/tport/tport_tls.c b/libsofia-sip-ua/tport/tport_tls.c
  21. index a17186de..0739c93f 100644
  22. --- a/libsofia-sip-ua/tport/tport_tls.c
  23. +++ b/libsofia-sip-ua/tport/tport_tls.c
  24. @@ -460,7 +460,7 @@ int tls_init_context(tls_t *tls, tls_issues_t const *ti)
  25. return 0;
  26. }
  27. -void tls_free(tls_t *tls)
  28. +void sofia_sip_tls_free(tls_t *tls)
  29. {
  30. int ret;
  31. if (!tls)
  32. @@ -473,7 +473,7 @@ void tls_free(tls_t *tls)
  33. /* The return value -1 means that the connection wasn't actually established */
  34. /* so it should be safe to not call shutdown again. We need to clear the eror */
  35. /* queue for other connections though. */
  36. - tls_log_errors(3, "tls_free", 0);
  37. + tls_log_errors(3, "sofia_sip_tls_free", 0);
  38. ret = 1;
  39. }
  40. } while (ret != 1);
  41. @@ -514,7 +514,7 @@ tls_t *tls_init_master(tls_issues_t *ti)
  42. if (tls_init_context(tls, ti) < 0) {
  43. int err = errno;
  44. - tls_free(tls);
  45. + sofia_sip_tls_free(tls);
  46. errno = err;
  47. return NULL;
  48. }
  49. @@ -544,7 +544,7 @@ tls_t *tls_init_master(tls_issues_t *ti)
  50. if (tls->bio_con == NULL) {
  51. tls_log_errors(1, "tls_init_master", 0);
  52. - tls_free(tls);
  53. + sofia_sip_tls_free(tls);
  54. errno = EIO;
  55. return NULL;
  56. }
  57. @@ -581,7 +581,7 @@ tls_t *tls_init_secondary(tls_t *master, int sock, int accept)
  58. if (tls->con == NULL) {
  59. tls_log_errors(1, "tls_init_secondary", 0);
  60. - tls_free(tls);
  61. + sofia_sip_tls_free(tls);
  62. errno = EIO;
  63. return NULL;
  64. }
  65. diff --git a/libsofia-sip-ua/tport/tport_tls.h b/libsofia-sip-ua/tport/tport_tls.h
  66. index e8d04a14..3a5fde22 100644
  67. --- a/libsofia-sip-ua/tport/tport_tls.h
  68. +++ b/libsofia-sip-ua/tport/tport_tls.h
  69. @@ -81,7 +81,7 @@ typedef struct tport_tls_primary_s {
  70. tls_t *tls_init_master(tls_issues_t *tls_issues);
  71. tls_t *tls_init_secondary(tls_t *tls_master, int sock, int accept);
  72. -void tls_free(tls_t *tls);
  73. +void sofia_sip_tls_free(tls_t *tls);
  74. int tls_get_socket(tls_t *tls);
  75. void tls_log_errors(unsigned level, char const *s, unsigned long e);
  76. ssize_t tls_read(tls_t *tls);
  77. diff --git a/libsofia-sip-ua/tport/tport_type_tls.c b/libsofia-sip-ua/tport/tport_type_tls.c
  78. index e030e706..fa72eed8 100644
  79. --- a/libsofia-sip-ua/tport/tport_type_tls.c
  80. +++ b/libsofia-sip-ua/tport/tport_type_tls.c
  81. @@ -276,7 +276,7 @@ static int tport_tls_init_master(tport_primary_t *pri,
  82. static void tport_tls_deinit_primary(tport_primary_t *pri)
  83. {
  84. tport_tls_primary_t *tlspri = (tport_tls_primary_t *)pri;
  85. - tls_free(tlspri->tlspri_master), tlspri->tlspri_master = NULL;
  86. + sofia_sip_tls_free(tlspri->tlspri_master), tlspri->tlspri_master = NULL;
  87. }
  88. static int tport_tls_init_secondary(tport_t *self, int socket, int accepted,
  89. @@ -303,7 +303,7 @@ static void tport_tls_deinit_secondary(tport_t *self)
  90. /* XXX - PPe: does the tls_shutdown zap everything but socket? */
  91. if (tlstp->tlstp_context != NULL)
  92. - tls_free(tlstp->tlstp_context);
  93. + sofia_sip_tls_free(tlstp->tlstp_context);
  94. tlstp->tlstp_context = NULL;
  95. su_free(self->tp_home, tlstp->tlstp_buffer);