From af8a057eacb545e86a9b5d057e33ece41e1a4b49 Mon Sep 17 00:00:00 2001 From: Pavel Punsky Date: Mon, 10 Apr 2023 19:00:08 -0700 Subject: [PATCH] Update version to 4.6.2 (#1174) Update version number, generate authors and changelog files Release notes (short summary of changes) ``` - Make sure microhttpd starts using epoll if supported - Add sessioncount to prometheus metrics - Add STUN request/response/error prometheus counters - Cleanup logs on turnserver start - Fix duplicate stdout log output - Log threadId to logs to aid in multi-threaded debugging - Optional build info compiled into turnserver binary - Fix arguments expansion in `docker-entrypoint.sh` - Santise database connection strings before printing to log - Support Windows MSVC - Add configuration option for TLS 1.3 ciphersuites - Improve openssl3 and FIPS support - Use single SSL_CTX for TLS and DTLS support - Update openssl API use to non-deprecated version - Set string bytes to null to prevent random origin - Fix memory corruption on socket close - Fix packet backlog fifo that processed packets in reverse order in some scenarios - Fix off-by-one when terminating gcm_nonce - Fixes to Redis memleaks and socketleaks - Fix malformed response to mobility refresh request - Fuzzing support - Ignore raw UDP if no_udp is enabled - Better detect availability of SCTP protocol ``` --------- Co-authored-by: tyranron --- AUTHORS.md | 5 ++ CMakeLists.txt | 2 +- ChangeLog | 176 +++++++++++++++++++++++++-------------------- src/ns_turn_defs.h | 2 +- 4 files changed, 106 insertions(+), 79 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index a2cfaf86..a43741be 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -40,6 +40,7 @@ Thanks to the following contributors (in alphabetical order): - Hyorin Choi <17173216+hyorin@users.noreply.github.com> - Ilya Kisleyko - James Huang +- Jasper - Jens Elkner - Jens Elkner - Jeremy Murphy @@ -68,6 +69,7 @@ Thanks to the following contributors (in alphabetical order): - Mészáros Mihály - Michal Biskup - Miquel Ortega +- Molly Miller <33266253+sysvinit@users.noreply.github.com> - Molly Miller - Mustafa Bingül - NeoCat @@ -101,6 +103,8 @@ Thanks to the following contributors (in alphabetical order): - Sergey Safarov - Serhii Charykov - Shu Muto +- Shu Muto +- Stefan Sundin - Steffen Moser - Steffen Moser - Thibaut ACKERMANN @@ -126,6 +130,7 @@ Thanks to the following contributors (in alphabetical order): - oleg - oleg - ooookai +- r3g_5z - raghumuppa - release-it - root diff --git a/CMakeLists.txt b/CMakeLists.txt index d63ae71a..3b99ee18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) # TODO: Modify this when the version is released -SET(BUILD_VERSION "4.6.1") +SET(BUILD_VERSION "4.6.2") option(FUZZER "Build oss-fuzz fuzzing" OFF) diff --git a/ChangeLog b/ChangeLog index 83b0fc5a..b7425761 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,82 +1,104 @@ -TBD Version 4.7.0 '': -Contributors: - - Arjun (36335769+0x34d@users.noreply.github.com) - - Emil Ljungdahl (111423223+pando-emil@users.noreply.github.com) - - Gregor Jasny (gjasny@googlemail.com) - - Gustavo Garcia (gustavogb@gmail.com) - - Hyorin Choi (17173216+hyorin@users.noreply.github.com) - - Joachim Bauch (bauch@struktur.de) - - Kang Lin (kl222@126.com) - - Paul Kramer (47924093+paulkram@users.noreply.github.com) - - Pavel Punsky (eakraly@users.noreply.github.com) - - Robert Scheck (robert-scheck@users.noreply.github.com) - - Samuel Marks (807580+SamuelMarks@users.noreply.github.com) - - Scott Godin (sgodin@sipspectrum.com) - - Thibaut ACKERMANN (thib-ack@users.noreply.github.com) - - Tom Bevan (thehorrorthehorror@gmail.com) - - Yoshiki Kadoshita (sublimer.me@gmail.com) - - tyranron (tyranron@gmail.com) +Release 4.6.2 Changelist: - - Do not build debug version during PR preflight (Pavel Punsky) - - Fix duplicate prometheus metric report (#1079) (Pavel Punsky) - - feature(1026): add sessioncount to prometheus metrics (#1075) (Paul Kramer) - - Update openssl API use to non-deprecated version (#1072) (Pavel Punsky) - - Log threadId to logs to aid in multi-threaded debugging. (#1030) (Scott Godin) - - Use khash 0.2.8 (#1047) (Gregor Jasny) - - Reflect new native Windows build support in documentation (#1060) (Samuel Marks) - - Check and fix format string for turn_log_func_default (#1064) (Gregor Jasny) - - Properly calculate size for sm_allocated (#1063) (Gregor Jasny) - - Do not discard qualifiers in free() (#1065) (Gregor Jasny) - - Simplify defines for macOS platform (#1058) (Pavel Punsky) - - Fix warnings (unused arguments, undeclared function) (#1057) (Pavel Punsky) - - WINDOWS: unsigned long should not be used to store pointers (#1055) (Emil Ljungdahl) - - Reduce usage of TURN_NO_HIREDIS macros (#1022) (Pavel Punsky) - - Update to fix duplicate stdout log output (#1054) (Yoshiki Kadoshita) - - Use c11 standard See: #1055 (#1056) (Kang Lin) - - Reduce usage of TURN_NO_PROMETHEUS (#1023) (Pavel Punsky) - - Remove unnecessary declaration from header file (#1052) (Yoshiki Kadoshita) - - Fix compilation warnings for functions with no arguments (#1053) (Pavel Punsky) - - Support Windows MSVC (#855) (Kang Lin) - - Fix resource leaks (#1048) (Gregor Jasny) - - Update turnserver.conf (#1009) (Hyorin Choi) - - Fix warnings (#1046) (Gregor Jasny) - - Backlog fifo (#1029) (Scott Godin) - - Change rpm systemd service type from notify to exec (#1043) (Gustavo Garcia) - - Add missing comma (#1041) (Gregor Jasny) - - Fix off-by-one when terminating gcm_nonce (#1039) (Gregor Jasny) - - Use %zu format specifier for size_t (#1040) (Gregor Jasny) - - Fix variable argument handling (#1042) (Gregor Jasny) - - Cleanup openssl initialization (#1012) (Pavel Punsky) - - fuzzing support (#982) (Arjun) - - created netengine.c get_relay_server utility method to reduce code duplication (#1032) (Scott Godin) - - fix bug in calls to ssl_read and ssl_send where extra verbose flag goes missing (#1033) (Scott Godin) - - ignore raw UDP if no_udp is enabled (#1031) (Scott Godin) - - Fix 2 warnings in code (#1027) (Pavel Punsky) - - Sanitize DB connection string before printing to log (#1020) (Pavel Punsky) - - Better detect SCTP protocol (#1016) (Pavel Punsky) - - Redis memleaks and socketleaks (#1015) (Thibaut ACKERMANN) - - Fix : Issue 51563 in oss-fuzz (#1010) (Arjun) - - Fix multiple warnings in libtelnet.c file (#1011) (Pavel Punsky) - - Update libtelnet to 0.23 (portability issues) (#1005) (Pavel Punsky) - - Remove debug publish to redis (#1008) (Pavel Punsky) - - Cleanup unused include of header files (#1004) (Pavel Punsky) - - Use single SSL_CTX for DTLS support (#996) (Pavel Punsky) - - Malformed response to mobility refresh request (#1006) (Tom Bevan) - - Silence warnings by converting STRCPY to strncpy calls (#995) (Pavel Punsky) - - Build CI with prometheus support (#999) (Pavel Punsky) - - Replace references to non-existent pdf file with links (#1002) (Pavel Punsky) - - Fix TLS1.3 support (Pavel Punsky) - - Use a single SSL context object (#989) (Pavel Punsky) - - Use epoll for promhttp server if supported. (#997) (Joachim Bauch) - - Fix issues reported by cppcheck (#987) (Pavel Punsky) - - Replace bcopy with memcpy (#991) (Pavel Punsky) - - Add CI tests in older ubuntu version (#981) (Gustavo Garcia) - - Replace bzero with memset (#986) (Pavel Punsky) - - Fix a warning (#988) (Pavel Punsky) - - Improve openssl3 and FIPS support (#955) (Pavel Punsky) - - Preserve file timestamps when using install(1) (#983) (Robert Scheck) - - Fix renegotiation flag for older version of openssl (#978) (Pavel Punsky) +- Fix MSVC CI build (#1182) (Cédric DIJOUX <45537432+PrinceChoco@users.noreply.github.com>) +- Prometheus: make sure microhttpd starts using epoll if supported (#1173) (Thibaut ACKERMANN ) +- Fix typo in mainrelay.c (#1169) (Stefan Sundin ) +- Remove unused include that breaks OpenBSD (#1165) (Pavel Punsky ) +- Delete LICENSE.OpenSSL (Pavel Punsky ) +- use santisied psql string (#1144) (r3g_5z ) +- Use the actual redis connection string to connect, not the sanitized one (#1141) (Jasper ) +- Implement non-blocking recvfrom on Windows (#1124) (Emil Ljungdahl <111423223+pando-emil@users.noreply.github.com>) +- Add contributing guidelines (#1135) (Gustavo Garcia ) +- Move and split documentation files (#1096) (Pavel Punsky ) +- Use inline functions for errno checks (#1123) (Emil Ljungdahl <111423223+pando-emil@users.noreply.github.com>) +- Add STUN request/response/error prometheus counters (#1115) (Pavel Punsky ) +- Add configuration option for TLS 1.3 ciphersuites (#1118) (Molly Miller <33266253+sysvinit@users.noreply.github.com>) +- Fix wrong usage of C-sytle in place generated array (#1122) (Paul Kramer <47924093+paulkram@users.noreply.github.com>) +- bugfix: fix broken type label of turn_total_allocations gauge (#1119) (Paul Kramer <47924093+paulkram@users.noreply.github.com>) +- Add explicit SIGTERM and SIGINT handlers. (#1106) (Molly Miller <33266253+sysvinit@users.noreply.github.com>) +- Set string bytes to null to prevent random origin (#1114) (Pavel Punsky ) +- Regenerate manual pages from README files (#1117) (Molly Miller <33266253+sysvinit@users.noreply.github.com>) +- Fix inverted logic in TLS configuration options (#1105) (Molly Miller <33266253+sysvinit@users.noreply.github.com>) +- Reduce code duplication when printing userdb (#1103) (Pavel Punsky ) +- Fix memory corruption on socket close (#1113) (Paul Kramer <47924093+paulkram@users.noreply.github.com>) +- Cleanup logs on turnserver start (#1088) (Pavel Punsky ) +- Optional build info compiled into turnserver binary (#1083) (Erik Moqvist ) +- Fix duplicate prometheus metric report (#1079) (Pavel Punsky ) +- Add sessioncount to prometheus metrics (#1075) (Paul Kramer <47924093+paulkram@users.noreply.github.com>) +- Update openssl API use to non-deprecated version (#1072) (Pavel Punsky ) +- Log threadId to logs to aid in multi-threaded debugging. (#1030) (Scott Godin ) +- Use khash 0.2.8 (#1047) (Gregor Jasny ) +- Reflect new native Windows build support in documentation (#1060) (Samuel Marks <807580+SamuelMarks@users.noreply.github.com>) +- Check and fix format string for turn_log_func_default (#1064) (Gregor Jasny ) +- Properly calculate size for sm_allocated (#1063) (Gregor Jasny ) +- Do not discard qualifiers in free() (#1065) (Gregor Jasny ) +- Simplify defines for macOS platform (#1058) (Pavel Punsky ) +- WINDOWS: unsigned long should not be used to store pointers (#1055) (Emil Ljungdahl <111423223+pando-emil@users.noreply.github.com>) +- Reduce usage of TURN_NO_HIREDIS macros (#1022) (Pavel Punsky ) +- Update to fix duplicate stdout log output (#1054) (Yoshiki Kadoshita ) +- Use c11 standard See: #1055 (#1056) (Kang Lin ) +- Reduce usage of TURN_NO_PROMETHEUS (#1023) (Pavel Punsky ) +- Remove unnecessary declaration from header file (#1052) (Yoshiki Kadoshita ) +- Support Windows MSVC (#855) (Kang Lin ) +- Fix resource leaks (#1048) (Gregor Jasny ) +- Backlog fifo (#1029) (Scott Godin ) +- Change rpm systemd service type from notify to exec (#1043) (Gustavo Garcia ) +- Add missing comma (#1041) (Gregor Jasny ) +- Fix off-by-one when terminating gcm_nonce (#1039) (Gregor Jasny ) +- Use %zu format specifier for size_t (#1040) (Gregor Jasny ) +- Fix variable argument handling (#1042) (Gregor Jasny ) +- Cleanup openssl initialization (#1012) (Pavel Punsky ) +- fuzzing support (#982) (Arjun <36335769+0x34d@users.noreply.github.com>) +- created netengine.c get_relay_server utility method to reduce code duplication (#1032) (Scott Godin ) +- fix bug in calls to ssl_read and ssl_send where extra verbose flag goes missing (#1033) (Scott Godin ) +- ignore raw UDP if no_udp is enabled (#1031) (Scott Godin ) +- Sanitize DB connection string before printing to log (#1020) (Pavel Punsky ) +- Better detect SCTP protocol (#1016) (Pavel Punsky ) +- Redis memleaks and socketleaks (#1015) (Thibaut ACKERMANN ) +- Fix issue 51563 in oss-fuzz (#1010) (Arjun <36335769+0x34d@users.noreply.github.com>) +- Fix multiple warnings in libtelnet.c file (#1011) (Pavel Punsky ) +- Update libtelnet to 0.23 (portability issues) (#1005) (Pavel Punsky ) +- Remove debug publish to redis (#1008) (Pavel Punsky ) +- Cleanup unused include of header files (#1004) (Pavel Punsky ) +- Use single SSL_CTX for DTLS support (#996) (Pavel Punsky ) +- Malformed response to mobility refresh request (#1006) (Tom Bevan ) +- Silence warnings by converting STRCPY to strncpy calls (#995) (Pavel Punsky ) +- Build CI with prometheus support (#999) (Pavel Punsky ) +- Replace references to non-existent pdf file with links (#1002) (Pavel Punsky ) +- Fix TLS1.3 support (Pavel Punsky ) +- Use a single SSL context object (#989) (Pavel Punsky ) +- Use epoll for promhttp server if supported. (#997) (Joachim Bauch ) +- Fix issues reported by cppcheck (#987) (Pavel Punsky ) +- Replace bcopy with memcpy (#991) (Pavel Punsky ) +- Replace bzero with memset (#986) (Pavel Punsky ) +- Improve openssl3 and FIPS support (#955) (Pavel Punsky ) +- Preserve file timestamps when using install(1) (#983) (Robert Scheck ) +- Fix renegotiation flag for older version of openssl (#978) (Pavel Punsky ) + +Contributors: +- Arjun <36335769+0x34d@users.noreply.github.com> +- Cédric DIJOUX <45537432+PrinceChoco@users.noreply.github.com> +- Emil Ljungdahl <111423223+pando-emil@users.noreply.github.com> +- Erik Moqvist +- Gregor Jasny +- Gustavo Garcia +- Hyorin Choi <17173216+hyorin@users.noreply.github.com> +- Jasper +- Joachim Bauch +- Kang Lin +- Molly Miller <33266253+sysvinit@users.noreply.github.com> +- Paul Kramer <47924093+paulkram@users.noreply.github.com> +- Pavel Punsky +- Robert Scheck +- Samuel Marks <807580+SamuelMarks@users.noreply.github.com> +- Scott Godin +- Stefan Sundin +- Thibaut ACKERMANN +- Tom Bevan +- Yoshiki Kadoshita +- r3g_5z + 03/12/2022 Gustavo Garcia Paul Kramer Version 4.6.1 'Gorst': diff --git a/src/ns_turn_defs.h b/src/ns_turn_defs.h index b4f137cb..0f92807f 100644 --- a/src/ns_turn_defs.h +++ b/src/ns_turn_defs.h @@ -31,7 +31,7 @@ #ifndef __IOADEFS__ #define __IOADEFS__ -#define TURN_SERVER_VERSION "4.6.1" +#define TURN_SERVER_VERSION "4.6.2" #define TURN_SERVER_VERSION_NAME "Gorst" #ifndef TURN_SERVER_BUILD_INFO #define TURN_SERVER_BUILD_INFO ""