diff options
author | ume <ume@FreeBSD.org> | 2002-08-15 16:10:56 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2002-08-15 16:10:56 +0000 |
commit | 16bd96bf7bdc55b53184ccdacb00738060a1ebb1 (patch) | |
tree | 46e8b00e642b89ced2f07bcd1d908b8e647f69ea /mail/cyrus-imapd24 | |
parent | a742bfc7a31d68d8c81b7c12a44e9e69b88e43c7 (diff) | |
download | FreeBSD-ports-16bd96bf7bdc55b53184ccdacb00738060a1ebb1.zip FreeBSD-ports-16bd96bf7bdc55b53184ccdacb00738060a1ebb1.tar.gz |
It seems getpeername() returns with no error but doesn't fill struct
sockaddr correctly against PF_UNIX socket under 5-CURRENT. Because of
this behavior, PF_UNIX socket was always checked by libwrap. This
work around prevents PF_UNIX socket from checking by libwrap to always
allow LMTP.
Diffstat (limited to 'mail/cyrus-imapd24')
-rw-r--r-- | mail/cyrus-imapd24/files/patch-df | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mail/cyrus-imapd24/files/patch-df b/mail/cyrus-imapd24/files/patch-df index 1b09223..e95e795 100644 --- a/mail/cyrus-imapd24/files/patch-df +++ b/mail/cyrus-imapd24/files/patch-df @@ -1,10 +1,12 @@ Index: master/service.c diff -u master/service.c.orig master/service.c ---- master/service.c.orig Mon Dec 17 18:08:07 2001 -+++ master/service.c Mon Dec 17 18:08:38 2001 -@@ -101,7 +101,11 @@ +--- 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 @@ + socklen_t len = sizeof(sin); /* 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) { |