Przeglądaj źródła

Fix crashes while setting socket buffer size (#1789)

Some places in code do not have access to the buffer size which result
in crash which can be seen in tests
This PR removes the call to `set_ioa_socket_buf_size` from those places
(which is redundant anyway)
Pavel Punsky 2 dni temu
rodzic
commit
21ddce65be

+ 3 - 0
examples/run_tests.sh

@@ -8,6 +8,7 @@ fi
 
 echo 'Running turnserver'
 $BINDIR/turnserver --use-auth-secret  --sock-buf-size=1048576 --static-auth-secret=secret --realm=north.gov --allow-loopback-peers --no-cli --cert ../examples/ca/turn_server_cert.pem --pkey ../examples/ca/turn_server_pkey.pem > /dev/null &
+turnserver_pid="$!"
 echo 'Running peer client'
 $BINDIR/turnutils_peer -L 127.0.0.1 -L ::1 -L 0.0.0.0 > /dev/null &
 
@@ -48,3 +49,5 @@ else
     echo FAIL
 	exit $?
 fi
+sleep 2
+kill "$turnserver_pid"

+ 4 - 0
examples/run_tests_conf.sh

@@ -17,6 +17,7 @@ echo "pkey=../examples/ca/turn_server_pkey.pem" >> $BINDIR/turnserver.conf
 
 echo 'Running turnserver'
 $BINDIR/turnserver -c $BINDIR/turnserver.conf > /dev/null &
+turnserver_pid="$!"
 echo 'Running peer client'
 $BINDIR/turnutils_peer -L 127.0.0.1 -L ::1 -L 0.0.0.0 > /dev/null &
 
@@ -57,3 +58,6 @@ else
     echo FAIL
 	exit $?
 fi
+
+sleep 2
+kill "$turnserver_pid"

+ 1 - 1
examples/run_tests_prom.sh

@@ -31,7 +31,7 @@ function assert_prom_response() {
 }
 
 echo "Running without prometheus"
-$BINDIR/turnserver /dev/null &
+$BINDIR/turnserver  > /dev/null &
 turnserver_pid="$!"
 sleep 2
 assert_prom_no_response "http://localhost:9641/metrics"

+ 0 - 1
src/apps/relay/dtls_listener.c

@@ -520,7 +520,6 @@ static int create_new_connected_udp_socket(dtls_listener_relay_server_type *serv
   addr_cpy(&(ret->remote_addr), &(server->sm.m.sm.nd.src_addr));
 
   set_socket_options(ret);
-  set_ioa_socket_buf_size(ret, server->ts->sock_buf_size);
 
   ret->current_ttl = s->current_ttl;
   ret->default_ttl = s->default_ttl;

+ 0 - 2
src/apps/relay/tls_listener.c

@@ -109,8 +109,6 @@ static void server_input_handler(struct evconnlistener *l, evutil_socket_t fd, s
     server->sm.m.sm.can_resume = 1;
     server->sm.relay_server = server->relay_server;
 
-    set_ioa_socket_buf_size(ioas, server->relay_server->server.sock_buf_size);
-
     const int rc = server->connect_cb(server->e, &(server->sm));
 
     if (rc < 0) {