[PATH] support for UNIX socket in abstract namespace

Igor Sysoev igor at sysoev.ru
Mon May 23 21:51:51 MSD 2011


On Mon, May 23, 2011 at 07:42:02PM +0200, Roberto De Ioris wrote:
> 
> > On Mon, May 23, 2011 at 04:18:30PM +0200, Roberto De Ioris wrote:
> >> (Warning this is Linux only)
> >>
> >> Hi all, the attached path adds support for unix socket in abstract
> >> namespace.
> >> They are special sockets without filesystem correspondence (so you can
> >> use
> >> them without thinking about permissions or in chroot). In netstat they
> >> are
> >> reported with a '@' prefix.
> >>
> >> For example (using uWSGI):
> >>
> >> uwsgi -s @funnysock
> >>
> >> netstat -l
> >>
> >> unix  2      [ ACC ]     STREAM     LISTENING     23813    @funnysock
> >>
> >> After applying the patch you can connect to it with
> >>
> >> uwsgi_pass unix:@funnysock;
> >>
> >> I hope it can be useful
> >
> > Thank you for the feature. I think it's better to allow nginx
> > configuration
> > parser to support "\0" as binary 0. Then this socket may be set as
> >
> > uwsgi_pass   unix:\0funnysock;
> >
> 
> I fear it will require changes changes as 0 being the token delimeter in
> config parsing :(

Could you test the attached patch ?


-- 
Igor Sysoev
-------------- next part --------------
Index: src/core/ngx_conf_file.c
===================================================================
--- src/core/ngx_conf_file.c	(revision 3923)
+++ src/core/ngx_conf_file.c	(working copy)
@@ -714,6 +714,11 @@
                             *dst++ = '\n';
                             src += 2;
                             continue;
+
+                        case '0':
+                            *dst++ = '\0';
+                            src += 2;
+                            continue;
                         }
 
                     }


More information about the nginx mailing list