diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-05-17 21:16:22 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-05-17 21:16:22 +1000 |
commit | d975cd9d8c3fc504a8ccbb80f239d4648ac0c304 (patch) | |
tree | 8272375ede8a170bdd7b09d48db833248c65a54d /source4/build/tests/unixsock.c | |
parent | fd0d47b746be322b60fca29c1daa13e72b360e62 (diff) | |
parent | 250478d0445cf56e8b0b4e876977a9ae968ff55b (diff) | |
download | samba-d975cd9d8c3fc504a8ccbb80f239d4648ac0c304.tar.gz samba-d975cd9d8c3fc504a8ccbb80f239d4648ac0c304.tar.bz2 samba-d975cd9d8c3fc504a8ccbb80f239d4648ac0c304.zip |
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local
(This used to be commit 60579269d1e0bebce5b595ef95d68fd4bf781cfd)
Diffstat (limited to 'source4/build/tests/unixsock.c')
-rw-r--r-- | source4/build/tests/unixsock.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/source4/build/tests/unixsock.c b/source4/build/tests/unixsock.c deleted file mode 100644 index f2765d68f6..0000000000 --- a/source4/build/tests/unixsock.c +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- c-file-style: "linux" -*- - * - * Try creating a Unix-domain socket, opening it, and reading from it. - * The POSIX name for these is AF_LOCAL/PF_LOCAL. - * - * This is used by the Samba autoconf scripts to detect systems which - * don't have Unix-domain sockets, such as (probably) VMS, or systems - * on which they are broken under some conditions, such as RedHat 7.0 - * (unpatched). We can't build WinBind there at the moment. - * - * Coding standard says to always use exit() for this, not return, so - * we do. - * - * Martin Pool <mbp@samba.org>, June 2000. */ - -/* TODO: Look for AF_LOCAL (most standard), AF_UNIX, and AF_FILE. */ - -#include <stdio.h> - -#ifdef HAVE_SYS_SOCKET_H -# include <sys/socket.h> -#endif - -#ifdef HAVE_SYS_UN_H -# include <sys/un.h> -#endif - -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif - -#if HAVE_SYS_WAIT_H -# include <sys/wait.h> -#endif - -#if HAVE_ERRNO_DECL -# include <errno.h> -#else -extern int errno; -#endif - -static int bind_socket(char const *filename) -{ - int sock_fd; - struct sockaddr_un name; - size_t size; - - /* Create the socket. */ - if ((sock_fd = socket(PF_LOCAL, SOCK_STREAM, 0)) < 0) { - perror ("socket(PF_LOCAL, SOCK_STREAM)"); - exit(1); - } - - /* Bind a name to the socket. */ - name.sun_family = AF_LOCAL; - strncpy(name.sun_path, filename, sizeof (name.sun_path)); - - /* The size of the address is - the offset of the start of the filename, - plus its length, - plus one for the terminating null byte. - Alternatively you can just do: - size = SUN_LEN (&name); - */ - size = SUN_LEN(&name); - /* XXX: This probably won't work on unfriendly libcs */ - - if (bind(sock_fd, (struct sockaddr *) &name, size) < 0) { - perror ("bind"); - exit(1); - } - - return sock_fd; -} - - -int main(void) -{ - int sock_fd; - int kid; - char const *filename = "conftest.unixsock.sock"; - - /* abolish hanging */ - alarm(15); /* secs */ - - if ((sock_fd = bind_socket(filename)) < 0) - exit(1); - - /* the socket will be deleted when autoconf cleans up these - files. */ - - exit(0); -} |