diff options
author | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-01-22 14:30:20 +0000 |
---|---|---|
committer | Hajimu UMEMOTO <ume@FreeBSD.org> | 2003-01-22 14:30:20 +0000 |
commit | 90fd9a1b448f7addc951967e3324fad509a2ba1e (patch) | |
tree | 6c244ad99203b02a1c6215963f36561a578eec0d /mail/cyrus-imapd22/files/patch-df | |
parent | Take over maintainership (Brian says he's too busy flying real planes). (diff) |
better workaround against PF_LOCAL.
Notes
Notes:
svn path=/head/; revision=73782
Diffstat (limited to 'mail/cyrus-imapd22/files/patch-df')
-rw-r--r-- | mail/cyrus-imapd22/files/patch-df | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/mail/cyrus-imapd22/files/patch-df b/mail/cyrus-imapd22/files/patch-df index e95e795d2092..69a0841343ee 100644 --- a/mail/cyrus-imapd22/files/patch-df +++ b/mail/cyrus-imapd22/files/patch-df @@ -1,19 +1,14 @@ Index: master/service.c diff -u master/service.c.orig master/service.c ---- master/service.c.orig Thu Aug 15 06:02:41 2002 -+++ master/service.c Fri Aug 16 00:28:31 2002 -@@ -103,8 +103,13 @@ +--- master/service.c.orig Wed Jan 22 22:52:36 2003 ++++ master/service.c Wed Jan 22 22:57:20 2003 +@@ -102,6 +102,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) { |