The branch, master has been updated via c3c5f02 swrap: Call dlclose() in the destructor via 19fd43f tests: Rename s_addr to send_addr via cf8fc6d tests: Fix memset() call in new tests via 94e6f3b tests: Fix passing pointer of incompatible type via 9434cdc swrap: Fix signed comparsion warnings from 6ece682 swrap: Add enviornment variable to specify mtu size
https://git.samba.org/?p=socket_wrapper.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit c3c5f02b0746958845eb825620765ac741920985 Author: Andreas Schneider <a...@samba.org> Date: Mon Aug 17 12:14:44 2015 +0200 swrap: Call dlclose() in the destructor Signed-off-by: Andreas Schneider <a...@samba.org> commit 19fd43f706cd73add4c7dd23613ceccf00fc0c84 Author: Andreas Schneider <a...@samba.org> Date: Mon Aug 17 12:06:30 2015 +0200 tests: Rename s_addr to send_addr The preprocessor on Solaris replaces s_addr with S_un.S_addr. Signed-off-by: Andreas Schneider <a...@samba.org> commit cf8fc6d9572cf7800e46e68e3d01802345a7e54b Author: Andreas Schneider <a...@samba.org> Date: Wed Aug 12 08:48:56 2015 +0200 tests: Fix memset() call in new tests Signed-off-by: Andreas Schneider <a...@samba.org> commit 94e6f3b24ad8e21857f3062a2a21429dea31b790 Author: Andreas Schneider <a...@samba.org> Date: Wed Aug 12 08:37:39 2015 +0200 tests: Fix passing pointer of incompatible type Signed-off-by: Andreas Schneider <a...@samba.org> commit 9434cdc6747b0837551bdd341d2f9b0f5479eb07 Author: Andreas Schneider <a...@samba.org> Date: Wed Aug 12 08:37:07 2015 +0200 swrap: Fix signed comparsion warnings Signed-off-by: Andreas Schneider <a...@samba.org> ----------------------------------------------------------------------- Summary of changes: src/socket_wrapper.c | 11 ++++++++-- tests/test_echo_tcp_connect.c | 2 +- tests/test_echo_tcp_get_peer_sock_name.c | 2 +- tests/test_echo_tcp_sendmsg_recvmsg.c | 12 +++++------ tests/test_echo_tcp_socket.c | 2 +- tests/test_echo_udp_sendmsg_recvmsg.c | 36 ++++++++++++++++---------------- 6 files changed, 36 insertions(+), 29 deletions(-) Changeset truncated at 500 lines: diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c index 01ab8d5..45282ed 100644 --- a/src/socket_wrapper.c +++ b/src/socket_wrapper.c @@ -3799,7 +3799,7 @@ static ssize_t swrap_sendmsg_before(int fd, msg->msg_iovlen = i; if (msg->msg_iovlen == 0) { *tmp_iov = msg->msg_iov[0]; - tmp_iov->iov_len = MIN(tmp_iov->iov_len, mtu); + tmp_iov->iov_len = MIN(tmp_iov->iov_len, (size_t)mtu); msg->msg_iov = tmp_iov; msg->msg_iovlen = 1; } @@ -4016,7 +4016,7 @@ static int swrap_recvmsg_before(int fd, msg->msg_iovlen = i; if (msg->msg_iovlen == 0) { *tmp_iov = msg->msg_iov[0]; - tmp_iov->iov_len = MIN(tmp_iov->iov_len, mtu); + tmp_iov->iov_len = MIN(tmp_iov->iov_len, (size_t)mtu); msg->msg_iov = tmp_iov; msg->msg_iovlen = 1; } @@ -5131,4 +5131,11 @@ void swrap_destructor(void) } s = sockets; } + + if (swrap.libc_handle != NULL) { + dlclose(swrap.libc_handle); + } + if (swrap.libsocket_handle) { + dlclose(swrap.libsocket_handle); + } } diff --git a/tests/test_echo_tcp_connect.c b/tests/test_echo_tcp_connect.c index f97b5ac..d2020c8 100644 --- a/tests/test_echo_tcp_connect.c +++ b/tests/test_echo_tcp_connect.c @@ -76,7 +76,7 @@ static void test_connect_downgrade_ipv6(void **state) assert_int_equal(rc, 1); /* Connect should downgrade to IPv4 and allow the connect */ - rc = connect(s, &addr.sa.in, addr.sa_socklen); + rc = connect(s, &addr.sa.s, addr.sa_socklen); assert_int_equal(rc, 0); close(s); diff --git a/tests/test_echo_tcp_get_peer_sock_name.c b/tests/test_echo_tcp_get_peer_sock_name.c index 9a00255..ac369dd 100644 --- a/tests/test_echo_tcp_get_peer_sock_name.c +++ b/tests/test_echo_tcp_get_peer_sock_name.c @@ -413,7 +413,7 @@ static void test_connect_getsockname_getpeername_len(void **state) assert_int_equal(rc, 1); /* Connect */ - rc = connect(s, &addr.sa.in, addr.sa_socklen); + rc = connect(s, &addr.sa.s, addr.sa_socklen); assert_return_code(rc, errno); /* Check with len=0 */ diff --git a/tests/test_echo_tcp_sendmsg_recvmsg.c b/tests/test_echo_tcp_sendmsg_recvmsg.c index 2adaa75..4f7629e 100644 --- a/tests/test_echo_tcp_sendmsg_recvmsg.c +++ b/tests/test_echo_tcp_sendmsg_recvmsg.c @@ -193,7 +193,7 @@ static void test_sendmsg_recvmsg_ipv6(void **state) static void test_sendmsg_recvmsg_ipv4_null(void **state) { - struct torture_address s_addr = { + struct torture_address send_addr = { .sa_socklen = sizeof(struct sockaddr_storage), }; struct msghdr s_msg = { @@ -213,15 +213,15 @@ static void test_sendmsg_recvmsg_ipv4_null(void **state) s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); assert_int_not_equal(s, -1); - s_addr.sa.in.sin_family = AF_INET; - s_addr.sa.in.sin_port = htons(torture_server_port()); + send_addr.sa.in.sin_family = AF_INET; + send_addr.sa.in.sin_port = htons(torture_server_port()); rc = inet_pton(AF_INET, torture_server_address(AF_INET), - &s_addr.sa.in.sin_addr); + &send_addr.sa.in.sin_addr); assert_int_equal(rc, 1); - rc = connect(s, &s_addr.sa.s, s_addr.sa_socklen); + rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen); /* msg_name = NULL */ @@ -236,7 +236,7 @@ static void test_sendmsg_recvmsg_ipv4_null(void **state) /* msg_name = NULL */ - memset(payload, '0', sizeof(payload)); + memset(payload, 0, sizeof(payload)); r_msg.msg_iov = &iov; r_msg.msg_iovlen = 1; diff --git a/tests/test_echo_tcp_socket.c b/tests/test_echo_tcp_socket.c index 1bd4710..57b92de 100644 --- a/tests/test_echo_tcp_socket.c +++ b/tests/test_echo_tcp_socket.c @@ -28,7 +28,7 @@ static void test_socket_getsockname(void **state) s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); assert_int_not_equal(s, -1); - rc = getsockname(s, &addr.sa.in, &addr.sa_socklen); + rc = getsockname(s, &addr.sa.s, &addr.sa_socklen); assert_return_code(rc, errno); assert_int_equal(addr.sa.in.sin_family, AF_INET); } diff --git a/tests/test_echo_udp_sendmsg_recvmsg.c b/tests/test_echo_udp_sendmsg_recvmsg.c index 8ebaa90..93450b7 100644 --- a/tests/test_echo_udp_sendmsg_recvmsg.c +++ b/tests/test_echo_udp_sendmsg_recvmsg.c @@ -197,7 +197,7 @@ static void test_sendmsg_recvmsg_ipv6(void **state) static void test_sendmsg_recvmsg_ipv4_connected(void **state) { - struct torture_address s_addr = { + struct torture_address send_addr = { .sa_socklen = sizeof(struct sockaddr_storage), }; struct torture_address r_addr = { @@ -222,15 +222,15 @@ static void test_sendmsg_recvmsg_ipv4_connected(void **state) s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); assert_int_not_equal(s, -1); - s_addr.sa.in.sin_family = AF_INET; - s_addr.sa.in.sin_port = htons(torture_server_port()); + send_addr.sa.in.sin_family = AF_INET; + send_addr.sa.in.sin_port = htons(torture_server_port()); rc = inet_pton(AF_INET, torture_server_address(AF_INET), - &s_addr.sa.in.sin_addr); + &send_addr.sa.in.sin_addr); assert_int_equal(rc, 1); - rc = connect(s, &s_addr.sa.s, s_addr.sa_socklen); + rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen); iov.iov_base = (void *)payload; iov.iov_len = sizeof(payload); @@ -246,7 +246,7 @@ static void test_sendmsg_recvmsg_ipv4_connected(void **state) r_msg.msg_name = &r_addr.sa.ss; r_msg.msg_namelen = r_addr.sa_socklen; - memset(payload, '0', sizeof(payload)); + memset(payload, 0, sizeof(payload)); r_msg.msg_iov = &iov; r_msg.msg_iovlen = 1; @@ -265,7 +265,7 @@ static void test_sendmsg_recvmsg_ipv4_connected(void **state) static void test_sendmsg_recvmsg_ipv4_connected_null(void **state) { - struct torture_address s_addr = { + struct torture_address send_addr = { .sa_socklen = sizeof(struct sockaddr_storage), }; struct msghdr s_msg = { @@ -285,15 +285,15 @@ static void test_sendmsg_recvmsg_ipv4_connected_null(void **state) s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); assert_int_not_equal(s, -1); - s_addr.sa.in.sin_family = AF_INET; - s_addr.sa.in.sin_port = htons(torture_server_port()); + send_addr.sa.in.sin_family = AF_INET; + send_addr.sa.in.sin_port = htons(torture_server_port()); rc = inet_pton(AF_INET, torture_server_address(AF_INET), - &s_addr.sa.in.sin_addr); + &send_addr.sa.in.sin_addr); assert_int_equal(rc, 1); - rc = connect(s, &s_addr.sa.s, s_addr.sa_socklen); + rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen); /* msg_name = NULL */ @@ -308,7 +308,7 @@ static void test_sendmsg_recvmsg_ipv4_connected_null(void **state) /* msg_name = NULL */ - memset(payload, '0', sizeof(payload)); + memset(payload, 0, sizeof(payload)); r_msg.msg_iov = &iov; r_msg.msg_iovlen = 1; @@ -324,7 +324,7 @@ static void test_sendmsg_recvmsg_ipv4_connected_null(void **state) static void test_sendmsg_recvmsg_ipv4_connected_namelen(void **state) { - struct torture_address s_addr = { + struct torture_address send_addr = { .sa_socklen = sizeof(struct sockaddr_storage), }; struct msghdr s_msg = { @@ -344,15 +344,15 @@ static void test_sendmsg_recvmsg_ipv4_connected_namelen(void **state) s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); assert_int_not_equal(s, -1); - s_addr.sa.in.sin_family = AF_INET; - s_addr.sa.in.sin_port = htons(torture_server_port()); + send_addr.sa.in.sin_family = AF_INET; + send_addr.sa.in.sin_port = htons(torture_server_port()); rc = inet_pton(AF_INET, torture_server_address(AF_INET), - &s_addr.sa.in.sin_addr); + &send_addr.sa.in.sin_addr); assert_int_equal(rc, 1); - rc = connect(s, &s_addr.sa.s, s_addr.sa_socklen); + rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen); /* msg_name = NULL */ @@ -367,7 +367,7 @@ static void test_sendmsg_recvmsg_ipv4_connected_namelen(void **state) /* msg_name = NULL */ - memset(payload, '0', sizeof(payload)); + memset(payload, 0, sizeof(payload)); r_msg.msg_iov = &iov; r_msg.msg_iovlen = 1; -- Socket Wrapper Repository