diff --git a/ChangeLog b/ChangeLog index 83ae46e..54b93b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,15 +22,17 @@ Version 4.5.3 'dan Eider': - merge PR #739 (by hills) * SSL reload has hidden bugs which cause crashes - Fix regression in PR #739 - - Try to mitigate amplification attatck + - Try to mitigate STUN amplification attatck * Add new option --no-rfc5780 - to force disable RFC8750 + to force disable RFC8750 * Add new option --no-stun-backward-compatibility - Disable handling old STUN Binding requests and disable - MAPPED-ADDRESS attribute in binding response (use only the - XOR-MAPPED-ADDRESS) + Disable handling old STUN Binding requests and disable + MAPPED-ADDRESS attribute in binding response (use only the + XOR-MAPPED-ADDRESS) * Add new option --response-origin-only-with-rfc5780 - Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled + Add RESPONSE_ORIGIN attribute only if rfc5780 is enabled + * Don't send SOFTWARE attribute if --no-software-attribute + set on (BREAKING CHANGE) 10/01/2021 Oleg Moskalenko Mihály Mészáros Version 4.5.2 'dan Eider': diff --git a/src/server/ns_turn_server.c b/src/server/ns_turn_server.c index f0cbd23..fcbb9c4 100644 --- a/src/server/ns_turn_server.c +++ b/src/server/ns_turn_server.c @@ -1766,6 +1766,7 @@ static int handle_turn_refresh(turn_turnserver *server, (uint8_t*)ss->s_mobile_id,strlen(ss->s_mobile_id)); ioa_network_buffer_set_size(nbh,len); + if(!(*server->no_software_attribute)) { const uint8_t *field = (const uint8_t *) get_version(server); size_t fsz = strlen(get_version(server)); @@ -2248,6 +2249,7 @@ static void tcp_peer_accept_connection(ioa_socket_handle s, void *arg) ioa_network_buffer_set_size(nbh,len); + if(!(*server->no_software_attribute)) { const uint8_t *field = (const uint8_t *) get_version(server); size_t fsz = strlen(get_version(server)); @@ -2525,6 +2527,7 @@ int turnserver_accept_tcp_client_data_connection(turn_turnserver *server, tcp_co } } + if(!(*server->no_software_attribute)) { size_t fsz = strlen(get_version(server)); const uint8_t *field = (const uint8_t *) get_version(server); @@ -3846,6 +3849,7 @@ static int handle_turn_command(turn_turnserver *server, ts_ur_super_session *ss, TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "RFC 5780 request successfully processed\n"); } + if(!(*server->no_software_attribute)) { const uint8_t *field = (const uint8_t *) get_version(server); size_t fsz = strlen(get_version(server)); @@ -3947,6 +3951,7 @@ static int handle_turn_command(turn_turnserver *server, ts_ur_super_session *ss, *resp_constructed = 1; } + if(!(*server->no_software_attribute)) { const uint8_t *field = (const uint8_t *) get_version(server); size_t fsz = strlen(get_version(server)); @@ -4846,6 +4851,7 @@ static void peer_input_handler(ioa_socket_handle s, int event_type, &(in_buffer->src_addr)); ioa_network_buffer_set_size(nbh,len); + if(!(*server->no_software_attribute)) { const uint8_t *field = (const uint8_t *) get_version(server); size_t fsz = strlen(get_version(server));