summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/heimdal/lib/roken/inet_aton.c49
-rw-r--r--source4/heimdal_build/config.m414
-rw-r--r--source4/heimdal_build/config.mk13
3 files changed, 72 insertions, 4 deletions
diff --git a/source4/heimdal/lib/roken/inet_aton.c b/source4/heimdal/lib/roken/inet_aton.c
new file mode 100644
index 0000000000..b26dcb87ff
--- /dev/null
+++ b/source4/heimdal/lib/roken/inet_aton.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
+ * (Royal Institute of Technology, Stockholm, Sweden).
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of the Institute nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+RCSID("$Id: inet_aton.c,v 1.14 2005/04/12 11:28:52 lha Exp $");
+#endif
+
+#include "roken.h"
+
+/* Minimal implementation of inet_aton.
+ * Cannot distinguish between failure and a local broadcast address. */
+
+int ROKEN_LIB_FUNCTION
+inet_aton(const char *cp, struct in_addr *addr)
+{
+ addr->s_addr = inet_addr(cp);
+ return (addr->s_addr == INADDR_NONE) ? 0 : 1;
+}
diff --git a/source4/heimdal_build/config.m4 b/source4/heimdal_build/config.m4
index fa79849750..506acfdfe1 100644
--- a/source4/heimdal_build/config.m4
+++ b/source4/heimdal_build/config.m4
@@ -64,7 +64,6 @@ AC_CHECK_FUNCS([ \
inet_aton \
gethostname \
getnameinfo \
- gai_strerror \
iruserok \
putenv \
rcmd \
@@ -91,7 +90,6 @@ AC_CHECK_FUNCS([ \
flock \
getaddrinfo \
freeaddrinfo \
- gai_strerror \
writev
])
@@ -204,3 +202,15 @@ SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_ADDRINFO, NO)
if test t$ac_cv_func_getaddrinfo != tyes; then
SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_ADDRINFO, YES)
fi
+
+# only add gai_strerror if needed
+SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_GAI_STRERROR, NO)
+AC_CHECK_FUNC(gai_strerror)
+if test t$ac_cv_func_gai_strerror != tyes; then
+ AC_SEARCH_LIBS_EXT(gai_strerror, [xnet], XNET_LIBS)
+ AC_CHECK_FUNC_EXT(gai_strerror, $XNET_LIBS)
+ if test t$ac_cv_func_gai_strerror != tyes; then
+ SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_GAI_STRERROR, YES)
+ fi
+fi
+SMB_EXT_LIB(XNET,[${XNET_LIBS}],[${XNET_CFLAGS}],[${XNET_CPPFLAGS}],[${XNET_LDFLAGS}])
diff --git a/source4/heimdal_build/config.mk b/source4/heimdal_build/config.mk
index 1afa3eaab6..25c872872d 100644
--- a/source4/heimdal_build/config.mk
+++ b/source4/heimdal_build/config.mk
@@ -261,10 +261,15 @@ NOPROTO = YES
#######################
#######################
+# Start SUBSYSTEM HEIMDAL_ROKEN_GAI_STRERROR
+[SUBSYSTEM::HEIMDAL_ROKEN_GAI_STRERROR]
+ADD_OBJ_FILES = heimdal/lib/roken/gai_strerror.o
+NOPROTO = YES
+
+#######################
# Start SUBSYSTEM HEIMDAL_ROKEN_ADDRINFO
[SUBSYSTEM::HEIMDAL_ROKEN_ADDRINFO]
ADD_OBJ_FILES = \
- heimdal/lib/roken/gai_strerror.o \
heimdal/lib/roken/getaddrinfo.o \
heimdal/lib/roken/freeaddrinfo.o \
heimdal/lib/roken/getipnodebyaddr.o \
@@ -297,7 +302,11 @@ ADD_OBJ_FILES = \
heimdal/lib/roken/strupr.o \
heimdal/lib/roken/strpool.o \
heimdal_build/replace.o
-REQUIRED_SUBSYSTEMS = HEIMDAL_ROKEN_ADDRINFO EXT_LIB_SOCKET
+REQUIRED_SUBSYSTEMS = \
+ HEIMDAL_ROKEN_ADDRINFO \
+ HEIMDAL_ROKEN_GAI_STRERROR \
+ EXT_LIB_SOCKET \
+ EXT_LIB_XNET
NOPROTO = YES
# End SUBSYSTEM HEIMDAL_ROKEN
#######################