]> git.kaiwu.me - nginx.git/commitdiff
Mail: fixed handling of AF_UNIX addresses in "listen".
authorRuslan Ermilov <ru@nginx.com>
Fri, 17 Aug 2012 05:21:28 +0000 (05:21 +0000)
committerRuslan Ermilov <ru@nginx.com>
Fri, 17 Aug 2012 05:21:28 +0000 (05:21 +0000)
This makes AF_UNIX addresses in mail officially supported.

src/mail/ngx_mail.c
src/mail/ngx_mail_core_module.c

index b097778db107f9e77e25e5ca92f0157ecfff489c..3812e15179e35d52f30c2ba360ba62508a79cfce 100644 (file)
@@ -263,6 +263,12 @@ ngx_mail_add_ports(ngx_conf_t *cf, ngx_array_t *ports,
         break;
 #endif
 
+#if (NGX_HAVE_UNIX_DOMAIN)
+    case AF_UNIX:
+        p = 0;
+        break;
+#endif
+
     default: /* AF_INET */
         sin = (struct sockaddr_in *) sa;
         p = sin->sin_port;
index ecb7229941273eec29b22a647e25875a2c6f30f9..86d0b3beedc27cccfcc40211cd2f3dba01e5b848 100644 (file)
@@ -340,6 +340,14 @@ ngx_mail_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
             break;
 #endif
 
+#if (NGX_HAVE_UNIX_DOMAIN)
+        case AF_UNIX:
+            off = offsetof(struct sockaddr_un, sun_path);
+            len = sizeof(((struct sockaddr_un *) sa)->sun_path);
+            port = 0;
+            break;
+#endif
+
         default: /* AF_INET */
             off = offsetof(struct sockaddr_in, sin_addr);
             len = 4;