[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Fri Nov 5 08:40:01 MDT 2010
The branch, master has been updated
via c1e3c8b socket_wrapper: fill in sa.sa_len if the system supports it
from 11ae104 s4-join: fixed secure_channel_type
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit c1e3c8b550e10199ad29983cc759f6e259cac613
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Nov 5 09:43:05 2010 +0100
socket_wrapper: fill in sa.sa_len if the system supports it
metze
Autobuild-User: Stefan Metzmacher <metze at samba.org>
Autobuild-Date: Fri Nov 5 14:40:00 UTC 2010 on sn-devel-104
-----------------------------------------------------------------------
Summary of changes:
lib/socket_wrapper/socket_wrapper.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/socket_wrapper/socket_wrapper.c b/lib/socket_wrapper/socket_wrapper.c
index c52d98c..2985d00 100644
--- a/lib/socket_wrapper/socket_wrapper.c
+++ b/lib/socket_wrapper/socket_wrapper.c
@@ -584,10 +584,14 @@ static struct socket_info *find_socket_info(int fd)
static int sockaddr_convert_to_un(struct socket_info *si, const struct sockaddr *in_addr, socklen_t in_len,
struct sockaddr_un *out_addr, int alloc_sock, int *bcast)
{
+ struct sockaddr *out = (struct sockaddr *)(void *)out_addr;
if (!out_addr)
return 0;
- out_addr->sun_family = AF_UNIX;
+ out->sa_family = AF_UNIX;
+#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
+ out->sa_len = sizeof(*out_addr);
+#endif
switch (in_addr->sa_family) {
case AF_INET:
@@ -622,6 +626,8 @@ static int sockaddr_convert_from_un(const struct socket_info *si,
struct sockaddr *out_addr,
socklen_t *out_addrlen)
{
+ int ret;
+
if (out_addr == NULL || out_addrlen == NULL)
return 0;
@@ -643,7 +649,11 @@ static int sockaddr_convert_from_un(const struct socket_info *si,
errno = ESOCKTNOSUPPORT;
return -1;
}
- return convert_un_in(in_addr, out_addr, out_addrlen);
+ ret = convert_un_in(in_addr, out_addr, out_addrlen);
+#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
+ out_addr->sa_len = *out_addrlen;
+#endif
+ return ret;
default:
break;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list