diff options
Diffstat (limited to 'source4/lib/socket')
-rw-r--r-- | source4/lib/socket/config.m4 | 54 | ||||
-rw-r--r-- | source4/lib/socket/config.mk | 24 | ||||
-rw-r--r-- | source4/lib/socket/testsuite.c | 8 |
3 files changed, 23 insertions, 63 deletions
diff --git a/source4/lib/socket/config.m4 b/source4/lib/socket/config.m4 index b40002b321..9c0072dd8b 100644 --- a/source4/lib/socket/config.m4 +++ b/source4/lib/socket/config.m4 @@ -1,57 +1,19 @@ AC_CHECK_FUNCS(writev) AC_CHECK_FUNCS(readv) - -AC_CACHE_CHECK([for sin_len in sock],samba_cv_HAVE_SOCK_SIN_LEN,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h>], -[struct sockaddr_in sock; sock.sin_len = sizeof(sock);], -samba_cv_HAVE_SOCK_SIN_LEN=yes,samba_cv_HAVE_SOCK_SIN_LEN=no)]) -if test x"$samba_cv_HAVE_SOCK_SIN_LEN" = x"yes"; then - AC_DEFINE(HAVE_SOCK_SIN_LEN,1,[Whether the sockaddr_in struct has a sin_len property]) -fi +AC_CHECK_FUNCS(gethostbyname2) ############################################ # check for unix domain sockets -AC_CACHE_CHECK([for unix domain sockets],samba_cv_unixsocket, [ - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <stdlib.h> -#include <stddef.h> -#include <sys/socket.h> -#include <sys/un.h>], -[ - struct sockaddr_un sunaddr; - sunaddr.sun_family = AF_UNIX; -], - samba_cv_unixsocket=yes,samba_cv_unixsocket=no)]) +# done by AC_LIBREPLACE_NETWORK_CHECKS SMB_ENABLE(socket_unix, NO) -if test x"$samba_cv_unixsocket" = x"yes"; then - SMB_ENABLE(socket_unix, YES) - AC_DEFINE(HAVE_UNIXSOCKET,1,[If we need to build with unixscoket support]) +if test x"$libreplace_cv_HAVE_UNIXSOCKET" = x"yes"; then + SMB_ENABLE(socket_unix, YES) fi -AC_CACHE_CHECK([for AF_LOCAL socket support], samba_cv_HAVE_WORKING_AF_LOCAL, [ -AC_TRY_RUN([#include "${srcdir-.}/build/tests/unixsock.c"], - samba_cv_HAVE_WORKING_AF_LOCAL=yes, - samba_cv_HAVE_WORKING_AF_LOCAL=no, - samba_cv_HAVE_WORKING_AF_LOCAL=cross)]) -if test x"$samba_cv_HAVE_WORKING_AF_LOCAL" != xno -then - AC_DEFINE(HAVE_WORKING_AF_LOCAL, 1, [Define if you have working AF_LOCAL sockets]) -fi - -dnl test for ipv6 using the gethostbyname2() function. That should be sufficient -dnl for now -AC_CHECK_FUNCS(gethostbyname2, have_ipv6=true, have_ipv6=false) +############################################ +# check for ipv6 +# done by AC_LIBREPLACE_NETWORK_CHECKS SMB_ENABLE(socket_ipv6, NO) -if $have_ipv6 = true; then +if test x"$libreplace_cv_HAVE_IPV6" = x"yes"; then SMB_ENABLE(socket_ipv6, YES) - AC_DEFINE(HAVE_IPV6,1,[Whether the system has ipv6 support]) fi -dnl don't build ipv6 by default, unless the above test enables it, or -dnl the configure uses --with-static-modules=socket_ipv6 - - - - diff --git a/source4/lib/socket/config.mk b/source4/lib/socket/config.mk index 777882f6e0..18aa806e41 100644 --- a/source4/lib/socket/config.mk +++ b/source4/lib/socket/config.mk @@ -1,45 +1,43 @@ ############################## # Start SUBSYSTEM LIBNETIF [SUBSYSTEM::LIBNETIF] -PRIVATE_PROTO_HEADER = netif_proto.h -OBJ_FILES = \ - interface.o \ - netif.o PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBREPLACE_NETWORK # End SUBSYSTEM LIBNETIF ############################## +LIBNETIF_OBJ_FILES = $(addprefix $(libsocketsrcdir)/, interface.o netif.o) + +$(eval $(call proto_header_template,$(libsocketsrcdir)/netif_proto.h,$(LIBNETIF_OBJ_FILES:.o=.c))) + ################################################ # Start MODULE socket_ip [MODULE::socket_ip] SUBSYSTEM = samba-socket OUTPUT_TYPE = MERGED_OBJ -OBJ_FILES = \ - socket_ip.o PRIVATE_DEPENDENCIES = LIBSAMBA-ERRORS LIBREPLACE_NETWORK # End MODULE socket_ip ################################################ +socket_ip_OBJ_FILES = $(libsocketsrcdir)/socket_ip.o + ################################################ # Start MODULE socket_unix [MODULE::socket_unix] SUBSYSTEM = samba-socket OUTPUT_TYPE = MERGED_OBJ -OBJ_FILES = \ - socket_unix.o PRIVATE_DEPENDENCIES = LIBREPLACE_NETWORK # End MODULE socket_unix ################################################ +socket_unix_OBJ_FILES = $(libsocketsrcdir)/socket_unix.o + ################################################ # Start SUBSYSTEM SOCKET [SUBSYSTEM::samba-socket] -OBJ_FILES = \ - socket.o \ - access.o \ - connect_multi.o \ - connect.o PUBLIC_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = SOCKET_WRAPPER LIBCLI_COMPOSITE LIBCLI_RESOLVE # End SUBSYSTEM SOCKET ################################################ + +samba-socket_OBJ_FILES = $(addprefix $(libsocketsrcdir)/, socket.o access.o connect_multi.o connect.o) + diff --git a/source4/lib/socket/testsuite.c b/source4/lib/socket/testsuite.c index 6d4d81a884..2c25d8f491 100644 --- a/source4/lib/socket/testsuite.c +++ b/source4/lib/socket/testsuite.c @@ -86,7 +86,7 @@ static bool test_udp(struct torture_context *tctx) torture_assert_int_equal(tctx, nread, size, "Unexpected recvfrom size"); - torture_assert(tctx, memcmp(blob2.data, blob.data, size) == 0, + torture_assert_mem_equal(tctx, blob2.data, blob.data, size, "Bad data in recvfrom"); generate_random_buffer(blob.data, blob.length); @@ -104,7 +104,7 @@ static bool test_udp(struct torture_context *tctx) torture_assert_int_equal(tctx, from_addr->port, srv_addr->port, "Unexpected recvfrom port"); - torture_assert(tctx, memcmp(blob2.data, blob.data, size) == 0, + torture_assert_mem_equal(tctx, blob2.data, blob.data, size, "Bad data in recvfrom"); talloc_free(sock1); @@ -124,7 +124,7 @@ static bool test_tcp(struct torture_context *tctx) DATA_BLOB blob, blob2; size_t sent, nread; TALLOC_CTX *mem_ctx = tctx; - struct event_context *ev = event_context_init(mem_ctx); + struct event_context *ev = tctx->ev; struct interface *ifaces; status = socket_create("ip", SOCKET_TYPE_STREAM, &sock1, 0); @@ -181,7 +181,7 @@ static bool test_tcp(struct torture_context *tctx) torture_assert_int_equal(tctx, nread, size, "Unexpected recvfrom size"); - torture_assert(tctx, memcmp(blob2.data, blob.data, size) == 0, + torture_assert_mem_equal(tctx, blob2.data, blob.data, size, "Bad data in recv"); return true; } |