summaryrefslogtreecommitdiffstats
path: root/source3/lib/system.c
diff options
context:
space:
mode:
authorGerald (Jerry) Carter <jerry@samba.org>2007-11-02 14:16:40 -0400
committerGerald (Jerry) Carter <jerry@samba.org>2007-11-02 14:16:40 -0400
commit8a33035038d176ca3065daf2ff4f1c93464d5e9c (patch)
treedbc3d000567ecded7aeb80fa6eba2d5ea0ffd1fd /source3/lib/system.c
parent7bbdc00545ded27f10e87c5b90345bd96d09dfd2 (diff)
parent414ab2ce46dd62d0119f03eca93783bc489af896 (diff)
downloadsamba-8a33035038d176ca3065daf2ff4f1c93464d5e9c.tar.gz
samba-8a33035038d176ca3065daf2ff4f1c93464d5e9c.tar.xz
samba-8a33035038d176ca3065daf2ff4f1c93464d5e9c.zip
Merge branch 'v3-2-test' of git://git.samba.org/samba into v3-2-test
(This used to be commit 95de80218c10a72c7b28541c3c2e475e083b68f1)
Diffstat (limited to 'source3/lib/system.c')
-rw-r--r--source3/lib/system.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/source3/lib/system.c b/source3/lib/system.c
index 604228233c..fe4e700176 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -2545,3 +2545,27 @@ int sys_getpeereid( int s, uid_t *uid)
return -1;
#endif
}
+
+int sys_getnameinfo(const struct sockaddr *psa,
+ socklen_t salen,
+ char *host,
+ size_t hostlen,
+ char *service,
+ size_t servlen,
+ int flags)
+{
+ /*
+ * For Solaris we must make sure salen is the
+ * correct length for the incoming sa_family.
+ */
+
+ if (salen == sizeof(struct sockaddr_storage)) {
+ salen = sizeof(struct sockaddr_in);
+#if defined(HAVE_IPV6)
+ if (psa->sa_family == AF_INET6) {
+ salen = sizeof(struct sockaddr_in6);
+ }
+#endif
+ }
+ return getnameinfo(psa, salen, host, hostlen, service, servlen, flags);
+}