From: Stefan Metzmacher Date: Thu, 21 Oct 2010 07:00:34 +0000 (+0200) Subject: tsocket: fill in sa.sa_len if the system supports it X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwip.git;a=commitdiff_plain;h=874752e8208cb50c95a25c246d5549bba98253b9 tsocket: fill in sa.sa_len if the system supports it metze --- diff --git a/lib/tsocket/tsocket_bsd.c b/lib/tsocket/tsocket_bsd.c index bc7cfe3fe9e2..bbc0692f6e6d 100644 --- a/lib/tsocket/tsocket_bsd.c +++ b/lib/tsocket/tsocket_bsd.c @@ -263,6 +263,9 @@ int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx, memcpy(&bsda->u.ss, sa, sa_socklen); bsda->sa_socklen = sa_socklen; +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN + bsda->u.sa.sa_len = bsda->sa_socklen; +#endif *_addr = addr; return 0; @@ -291,6 +294,9 @@ ssize_t tsocket_address_bsd_sockaddr(const struct tsocket_address *addr, } memcpy(sa, &bsda->u.ss, sa_socklen); +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN + sa->sa_len = sa_socklen; +#endif return sa_socklen; } @@ -900,6 +906,9 @@ static void tdgram_bsd_recvfrom_handler(void *private_data) ZERO_STRUCTP(bsda); bsda->sa_socklen = sizeof(bsda->u.ss); +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN + bsda->u.sa.sa_len = bsda->sa_socklen; +#endif ret = recvfrom(bsds->fd, state->buf, state->len, 0, &bsda->u.sa, &bsda->sa_socklen);