diff options
Diffstat (limited to 'mail/cyrus-imapd2/files/patch-master::service-thread.c')
-rw-r--r-- | mail/cyrus-imapd2/files/patch-master::service-thread.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/mail/cyrus-imapd2/files/patch-master::service-thread.c b/mail/cyrus-imapd2/files/patch-master::service-thread.c index ea5dfd8b0b2e..9a2016c3c64a 100644 --- a/mail/cyrus-imapd2/files/patch-master::service-thread.c +++ b/mail/cyrus-imapd2/files/patch-master::service-thread.c @@ -1,19 +1,14 @@ Index: master/service-thread.c diff -u master/service-thread.c.orig master/service-thread.c ---- master/service-thread.c.orig Fri Sep 13 18:43:06 2002 -+++ master/service-thread.c Fri Sep 13 19:15:50 2002 -@@ -100,8 +100,13 @@ +--- master/service-thread.c.orig Wed Jan 22 22:52:36 2003 ++++ master/service-thread.c Wed Jan 22 23:09:52 2003 +@@ -99,6 +99,9 @@ + struct sockaddr_storage sin; socklen_t len = sizeof(sin); ++ /* XXX: old FreeBSD didn't fill sockaddr correctly against AF_UNIX */ ++ sin.ss_family = AF_UNIX; ++ /* is this a connection from the local host? */ -+ memset(&sin, 0, len); if (getpeername(fd, (struct sockaddr *) &sin, &len) == 0) { -- if (((struct sockaddr *)&sin)->sa_family == AF_UNIX) { -+ switch (((struct sockaddr *)&sin)->sa_family) { -+ case AF_INET: -+ case AF_INET6: -+ break; -+ default: - return 1; - } - } + if (((struct sockaddr *)&sin)->sa_family == AF_UNIX) { |