1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
From: Robert Luberda <robert@debian.org>
Date: Sat, 5 Feb 2011 00:36:00 +0100
Subject: 18 init fix
Fix warning caused by 08-init.patch
---
src/standalone.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/standalone.c b/src/standalone.c
index 94faec5..2a8496f 100644
--- a/src/standalone.c
+++ b/src/standalone.c
@@ -108,8 +108,13 @@ int main(int argc, char **argv) {
#if defined(DEBIAN) && defined(STANDALONE)
/* Basic code pinched from Exim4's inetd detection */
- if (getpeername(0, (struct sockaddr *)(&address), &tmpaddrln) == 0 ) {
- int family = ((struct sockaddr *)(&address))->sa_family;
+#ifdef SPIPV6
+ if (getpeername(0, (struct sockaddr *)&address.saddr_in6, &tmpaddrln) == 0) {
+ int family = address.saddr_in6.sin6_family;;
+#else
+ if (getpeername(0, (struct sockaddr *)&address, &tmpaddrln) == 0) {
+ int family = address.sin_family;;
+#endif
standalone = !(family == AF_INET || family == AF_INET6);
if (!standalone) {
do_session(argc,argv);
--
|