summaryrefslogtreecommitdiff
path: root/lib/Zinternal.c
diff options
context:
space:
mode:
authorGravatar Karl Ramm <kcr@1ts.org>2009-12-18 15:33:18 +0000
committerGravatar Karl Ramm <kcr@1ts.org>2009-12-18 15:33:18 +0000
commitbdebdf31d76e65ee7a45ffaea219510fc7b9a3a7 (patch)
treefeb9f50d68d1f8119b05c7b5a5539294e31d9a93 /lib/Zinternal.c
parent88e556d598741de725a73b757c072dc473e3e9c0 (diff)
roleplay accordingly with sin_len and sin6_len values on BSD systems
Diffstat (limited to 'lib/Zinternal.c')
-rw-r--r--lib/Zinternal.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Zinternal.c b/lib/Zinternal.c
index d121026..7c9bb4a 100644
--- a/lib/Zinternal.c
+++ b/lib/Zinternal.c
@@ -688,6 +688,9 @@ Z_FormatHeader(ZNotice_t *notice,
notice->z_sender_sockaddr.ip4.sin_family = AF_INET; /*XXX*/
notice->z_sender_sockaddr.ip4.sin_port = notice->z_port;
(void) memcpy(&notice->z_sender_sockaddr.ip4.sin_addr, &__My_addr, sizeof(__My_addr));
+#ifdef HAVE_SOCKADDR_IN_SIN_LEN
+ notice->z_sender_sockaddr.ip4.sin_len = sizeof(notice->z_sender_sockaddr.ip4);
+#endif
}
notice->z_multiuid = notice->z_uid;
@@ -740,6 +743,9 @@ Z_NewFormatHeader(ZNotice_t *notice,
notice->z_sender_sockaddr.ip4.sin_family = AF_INET; /*XXX*/
notice->z_sender_sockaddr.ip4.sin_port = notice->z_port;
(void) memcpy(&notice->z_sender_sockaddr.ip4.sin_addr, &__My_addr, sizeof(__My_addr));
+#ifdef HAVE_SOCKADDR_IN_SIN_LEN
+ notice->z_sender_sockaddr.ip4.sin_len = sizeof(notice->z_sender_sockaddr.ip4);
+#endif
notice->z_multiuid = notice->z_uid;
@@ -1251,6 +1257,9 @@ Z_SendFragmentedNotice(ZNotice_t *notice,
notice->z_sender_sockaddr.ip4.sin_family = AF_INET; /*XXX*/
notice->z_sender_sockaddr.ip4.sin_port = notice->z_port;
(void) memcpy(&notice->z_sender_sockaddr.ip4.sin_addr, &__My_addr, sizeof(__My_addr));
+#ifdef HAVE_SOCKADDR_IN_SIN_LEN
+ notice->z_sender_sockaddr.ip4.sin_len = sizeof(notice->z_sender_sockaddr.ip4);
+#endif
}
message_len = min(notice->z_message_len-offset, fragsize);
partnotice.z_message = notice->z_message+offset;