summaryrefslogtreecommitdiff
path: root/mail/cyrus-imapd23/files/patch-master::service-thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/cyrus-imapd23/files/patch-master::service-thread.c')
-rw-r--r--mail/cyrus-imapd23/files/patch-master::service-thread.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/mail/cyrus-imapd23/files/patch-master::service-thread.c b/mail/cyrus-imapd23/files/patch-master::service-thread.c
new file mode 100644
index 000000000000..ea5dfd8b0b2e
--- /dev/null
+++ b/mail/cyrus-imapd23/files/patch-master::service-thread.c
@@ -0,0 +1,19 @@
+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 @@
+ 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) {
++ case AF_INET:
++ case AF_INET6:
++ break;
++ default:
+ return 1;
+ }
+ }