[SCM] Samba Shared Repository - branch v3-2-test updated -
initial-v3-2-unstable-111-g11a977a
Stefan Metzmacher
metze at samba.org
Thu Oct 25 13:57:56 GMT 2007
The branch, v3-2-test has been updated
via 11a977aa0757801fb0fa805b123e7bc75c8be447 (commit)
via de01c503f4d16b8c3c0ad75225cf0b1822fd8c7f (commit)
via e56977ea459b3615d33237d19ed8e7ad8b509853 (commit)
via b81d8bc43cd7167a5cd4b18c26ba3eecf75043eb (commit)
via 45150075677451b48ce56ebdce96aca1ed13fa80 (commit)
via fa120f7c50d0084e7d887811e5fa59ae3bcfe53e (commit)
via f1d434a132e424f2fdce59d51a7c398988c1474d (commit)
from d04a8a6cdcc505e0244882a9abb7174eadbf81a7 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit 11a977aa0757801fb0fa805b123e7bc75c8be447
Author: metze <metze at 0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Date: Thu Oct 25 09:16:11 2007 +0000
[libreplace] define AI_NUMERICSERV as it's used in getaddrinfo.c
metze
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25728 0c0555d6-39d7-0310-84fc-f1cc0bd64818
commit de01c503f4d16b8c3c0ad75225cf0b1822fd8c7f
Author: metze <metze at 0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Date: Thu Oct 25 08:43:00 2007 +0000
[libreplace] move and fix getaddrinfo configure checks
- move getaddrinfo check into getaddrinfo.m4
- add getaddrinfo.o to LIBREPLACEOBJ so that we really build the replacements
metze
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25726 0c0555d6-39d7-0310-84fc-f1cc0bd64818
commit e56977ea459b3615d33237d19ed8e7ad8b509853
Author: metze <metze at 0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Date: Thu Oct 25 06:53:38 2007 +0000
- include getaddrinfo.h after we have defined struct addrinfo
- use rep_ instead of pg_ as prefix in getaddrinfo.[ch]
- define HAVE_<name> macros when we replace functions
metze
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25724 0c0555d6-39d7-0310-84fc-f1cc0bd64818
commit b81d8bc43cd7167a5cd4b18c26ba3eecf75043eb
Author: metze <metze at 0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Date: Wed Oct 24 13:01:03 2007 +0000
[libreplace] if we replace types define the HAVE_<type> macro
this is needed as heimdal's roken.h also tries to replace the types
metze
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25718 0c0555d6-39d7-0310-84fc-f1cc0bd64818
commit 45150075677451b48ce56ebdce96aca1ed13fa80
Author: metze <metze at 0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Date: Wed Oct 24 12:57:57 2007 +0000
[libreplace] move definition of struct addrinfo so that it can use socklen_t
metze
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25715 0c0555d6-39d7-0310-84fc-f1cc0bd64818
commit fa120f7c50d0084e7d887811e5fa59ae3bcfe53e
Author: metze <metze at 0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Date: Wed Oct 24 12:55:40 2007 +0000
[libreplace] move define of a constant to near to the others
metze
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25714 0c0555d6-39d7-0310-84fc-f1cc0bd64818
commit f1d434a132e424f2fdce59d51a7c398988c1474d
Author: metze <metze at 0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Date: Wed Oct 24 12:53:34 2007 +0000
[libreplace] include socket_wrapper.h after we have typedef'ed socklen_t
metze
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25713 0c0555d6-39d7-0310-84fc-f1cc0bd64818
-----------------------------------------------------------------------
Summary of changes:
source/lib/replace/getaddrinfo.c | 8 ++--
source/lib/replace/getaddrinfo.h | 23 ++++++++----
source/lib/replace/getaddrinfo.m4 | 32 ++++++++++++++++
source/lib/replace/libreplace.m4 | 31 +---------------
source/lib/replace/system/network.h | 69 +++++++++++++++++++++--------------
5 files changed, 93 insertions(+), 70 deletions(-)
create mode 100644 source/lib/replace/getaddrinfo.m4
Changeset truncated at 500 lines:
diff --git a/source/lib/replace/getaddrinfo.c b/source/lib/replace/getaddrinfo.c
index 0bff746..063bacd 100644
--- a/source/lib/replace/getaddrinfo.c
+++ b/source/lib/replace/getaddrinfo.c
@@ -253,7 +253,7 @@ static int getaddr_info_name(const char *node,
* Bugs: - servname can only be a number, not text.
*/
-int getaddrinfo(const char *node,
+int rep_getaddrinfo(const char *node,
const char *service,
const struct addrinfo * hintp,
struct addrinfo ** res)
@@ -315,7 +315,7 @@ int getaddrinfo(const char *node,
}
-void freeaddrinfo(struct addrinfo *res)
+void rep_freeaddrinfo(struct addrinfo *res)
{
struct addrinfo *next = NULL;
@@ -332,7 +332,7 @@ void freeaddrinfo(struct addrinfo *res)
}
-const char *gai_strerror(int errcode)
+const char *rep_gai_strerror(int errcode)
{
#ifdef HAVE_HSTRERROR
int hcode;
@@ -468,7 +468,7 @@ static int getservicenameinfo(const struct sockaddr *sa,
*
* Bugs: - No IPv6 support.
*/
-int getnameinfo(const struct sockaddr *sa, socklen_t salen,
+int rep_getnameinfo(const struct sockaddr *sa, socklen_t salen,
char *node, size_t nodelen,
char *service, size_t servicelen, int flags)
{
diff --git a/source/lib/replace/getaddrinfo.h b/source/lib/replace/getaddrinfo.h
index 47a62eb..dddd699 100644
--- a/source/lib/replace/getaddrinfo.h
+++ b/source/lib/replace/getaddrinfo.h
@@ -37,6 +37,9 @@ TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
* struct definitions needed to call it. To avoid conflict with the libbind
* definition in such cases, we rename our routines to pg_xxx() via macros.
*
+
+in lib/replace we use rep_xxx()
+
* This code will also work on platforms where struct addrinfo is defined
* in the system headers but no getaddrinfo() can be located.
*
@@ -53,28 +56,32 @@ TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#ifdef getaddrinfo
#undef getaddrinfo
#endif
-#define getaddrinfo pg_getaddrinfo
+#define getaddrinfo rep_getaddrinfo
+#define HAVE_GETADDRINFO
#ifdef freeaddrinfo
#undef freeaddrinfo
#endif
-#define freeaddrinfo pg_freeaddrinfo
+#define freeaddrinfo rep_freeaddrinfo
+#define HAVE_FREEADDRINFO
#ifdef gai_strerror
#undef gai_strerror
#endif
-#define gai_strerror pg_gai_strerror
+#define gai_strerror rep_gai_strerror
+#define HAVE_GAI_STRERROR
#ifdef getnameinfo
#undef getnameinfo
#endif
-#define getnameinfo pg_getnameinfo
+#define getnameinfo rep_getnameinfo
+#define HAVE_GETNAMEINFO
-extern int getaddrinfo(const char *node, const char *service,
+extern int rep_getaddrinfo(const char *node, const char *service,
const struct addrinfo * hints, struct addrinfo ** res);
-extern void freeaddrinfo(struct addrinfo * res);
-extern const char *gai_strerror(int errcode);
-extern int getnameinfo(const struct sockaddr * sa, socklen_t salen,
+extern void rep_freeaddrinfo(struct addrinfo * res);
+extern const char *rep_gai_strerror(int errcode);
+extern int rep_getnameinfo(const struct sockaddr * sa, socklen_t salen,
char *node, size_t nodelen,
char *service, size_t servicelen, int flags);
#endif /* HAVE_GETADDRINFO */
diff --git a/source/lib/replace/getaddrinfo.m4 b/source/lib/replace/getaddrinfo.m4
new file mode 100644
index 0000000..92620aa
--- /dev/null
+++ b/source/lib/replace/getaddrinfo.m4
@@ -0,0 +1,32 @@
+dnl test for getaddrinfo/getnameinfo
+AC_CACHE_CHECK([for getaddrinfo],libreplace_cv_HAVE_GETADDRINFO,[
+AC_TRY_COMPILE([
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#include <sys/socket.h>
+#include <netdb.h>],
+[
+struct sockaddr sa;
+struct addrinfo *ai = NULL;
+int ret = getaddrinfo(NULL, NULL, NULL, &ai);
+if (ret != 0) {
+ const char *es = gai_strerror(ret);
+}
+freeaddrinfo(ai);
+ret = getnameinfo(&sa, sizeof(sa),
+ NULL, 0,
+ NULL, 0, 0);
+
+],
+libreplace_cv_HAVE_GETADDRINFO=yes,libreplace_cv_HAVE_GETADDRINFO=no)])
+if test x"$libreplace_cv_HAVE_GETADDRINFO" = x"yes"; then
+ AC_DEFINE(HAVE_GETADDRINFO,1,[Whether the system has getaddrinfo])
+ AC_DEFINE(HAVE_GETNAMEINFO,1,[Whether the system has getnameinfo])
+ AC_DEFINE(HAVE_FREEADDRINFO,1,[Whether the system has freeaddrinfo])
+ AC_DEFINE(HAVE_GAI_STRERROR,1,[Whether the system has gai_strerror])
+else
+ LIBREPLACEOBJ="${LIBREPLACEOBJ} getaddrinfo.o"
+fi
diff --git a/source/lib/replace/libreplace.m4 b/source/lib/replace/libreplace.m4
index 26b4c36..dd7dbf4 100644
--- a/source/lib/replace/libreplace.m4
+++ b/source/lib/replace/libreplace.m4
@@ -152,36 +152,6 @@ AC_HAVE_TYPE([struct sockaddr_in6], [
#include <netinet/in.h>
])
-dnl test for getaddrinfo/getnameinfo
-AC_CACHE_CHECK([for getaddrinfo],samba_cv_HAVE_GETADDRINFO,[
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#include <sys/socket.h>
-#include <netdb.h>],
-[
-struct sockaddr sa;
-struct addrinfo *ai = NULL;
-int ret = getaddrinfo(NULL, NULL, NULL, &ai);
-if (ret != 0) {
- const char *es = gai_strerror(ret);
-}
-freeaddrinfo(ai);
-ret = getnameinfo(&sa, sizeof(sa),
- NULL, 0,
- NULL, 0, 0);
-
-],
-samba_cv_HAVE_GETADDRINFO=yes,samba_cv_HAVE_GETADDRINFO=no)])
-if test x"$samba_cv_HAVE_GETADDRINFO" = x"yes"; then
- AC_DEFINE(HAVE_GETADDRINFO,1,[Whether the system has getaddrinfo and getnameinfo])
- AC_DEFINE(HAVE_FREEADDRINFO,1,[Whether the system has freeaddrinfo])
- AC_DEFINE(HAVE_GAI_STRERROR,1,[Whether the system has gai_strerror])
-fi
-
AC_CHECK_FUNCS(seteuid setresuid setegid setresgid chroot bzero strerror)
AC_CHECK_FUNCS(vsyslog setlinebuf mktime ftruncate chsize rename)
AC_CHECK_FUNCS(waitpid strlcpy strlcat initgroups memmove strdup)
@@ -358,6 +328,7 @@ m4_include(win32.m4)
m4_include(timegm.m4)
m4_include(inet_ntop.m4)
m4_include(inet_pton.m4)
+m4_include(getaddrinfo.m4)
m4_include(repdir.m4)
AC_CHECK_FUNCS([syslog memset memcpy],,[AC_MSG_ERROR([Required function not found])])
diff --git a/source/lib/replace/system/network.h b/source/lib/replace/system/network.h
index 61de2b7..c7b499a 100644
--- a/source/lib/replace/system/network.h
+++ b/source/lib/replace/system/network.h
@@ -78,13 +78,6 @@
#include <sys/ioctl.h>
#endif
-#ifdef SOCKET_WRAPPER
-#ifndef SOCKET_WRAPPER_NOT_REPLACE
-#define SOCKET_WRAPPER_REPLACE
-#endif
-#include "lib/socket_wrapper/socket_wrapper.h"
-#endif
-
#ifdef REPLACE_INET_NTOA
/* define is in "replace.h" */
char *rep_inet_ntoa(struct in_addr ip);
@@ -100,10 +93,6 @@ int rep_inet_pton(int af, const char *src, void *dst);
const char *rep_inet_ntop(int af, const void *src, char *dst, socklen_t size);
#endif
-#if !defined(HAVE_GETADDRINFO)
-#include "getaddrinfo.h"
-#endif
-
/*
* Some systems have getaddrinfo but not the
* defines needed to use it.
@@ -147,6 +136,17 @@ const char *rep_inet_ntop(int af, const void *src, char *dst, socklen_t size);
#define AI_ADDRCONFIG 0x0020
#endif
+#ifndef AI_NUMERICSERV
+/*
+ * logic copied from AI_NUMERICHOST
+ */
+#if defined(HAVE_STRUCT_ADDRINFO) && defined(HAVE_GETADDRINFO)
+#define AI_NUMERICSERV 0
+#else
+#define AI_NUMERICSERV 0x0400
+#endif
+#endif
+
#ifndef NI_NUMERICHOST
#define NI_NUMERICHOST 1
#endif
@@ -176,21 +176,6 @@ const char *rep_inet_ntop(int af, const void *src, char *dst, socklen_t size);
#define NI_MAXSERV 32
#endif
-#ifndef HAVE_STRUCT_ADDRINFO
-
-struct addrinfo
-{
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- struct sockaddr *ai_addr;
- char *ai_canonname;
- struct addrinfo *ai_next;
-};
-#endif /* HAVE_STRUCT_ADDRINFO */
-
/*
* glibc on linux doesn't seem to have MSG_WAITALL
* defined. I think the kernel has it though..
@@ -219,15 +204,22 @@ struct addrinfo
#define INET6_ADDRSTRLEN 46
#endif
+#ifndef HOST_NAME_MAX
+#define HOST_NAME_MAX 256
+#endif
+
#ifndef HAVE_SOCKLEN_T
+#define HAVE_SOCKLEN_T
typedef int socklen_t;
#endif
#ifndef HAVE_SA_FAMILY_T
+#define HAVE_SA_FAMILY_T
typedef unsigned short int sa_family_t;
#endif
#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
+#define HAVE_STRUCT_SOCKADDR_STORAGE
#ifdef HAVE_STRUCT_SOCKADDR_IN6
#define sockaddr_storage sockaddr_in6
#define ss_family sin6_family
@@ -237,8 +229,29 @@ typedef unsigned short int sa_family_t;
#endif
#endif
-#ifndef HOST_NAME_MAX
-#define HOST_NAME_MAX 256
+#ifndef HAVE_STRUCT_ADDRINFO
+#define HAVE_STRUCT_ADDRINFO
+struct addrinfo {
+ int ai_flags;
+ int ai_family;
+ int ai_socktype;
+ int ai_protocol;
+ socklen_t ai_addrlen;
+ struct sockaddr *ai_addr;
+ char *ai_canonname;
+ struct addrinfo *ai_next;
+};
+#endif /* HAVE_STRUCT_ADDRINFO */
+
+#if !defined(HAVE_GETADDRINFO)
+#include "getaddrinfo.h"
+#endif
+
+#ifdef SOCKET_WRAPPER
+#ifndef SOCKET_WRAPPER_NOT_REPLACE
+#define SOCKET_WRAPPER_REPLACE
+#endif
+#include "lib/socket_wrapper/socket_wrapper.h"
#endif
#endif
--
Samba Shared Repository
More information about the samba-cvs
mailing list