From: Howard Chu Date: Wed, 3 Jun 2009 02:20:56 +0000 (+0000) Subject: Do a mkdir on /var/run/nslcd before trying to create the socket X-Git-Tag: ACLCHECK_0~522 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2f2802342fe830f6f3d296413f7cffa1bf61c206;p=openldap Do a mkdir on /var/run/nslcd before trying to create the socket --- diff --git a/contrib/slapd-modules/nssov/nssov.c b/contrib/slapd-modules/nssov/nssov.c index 65f736e7a9..08f318d65e 100644 --- a/contrib/slapd-modules/nssov/nssov.c +++ b/contrib/slapd-modules/nssov/nssov.c @@ -800,16 +800,24 @@ nssov_db_open( } } if ( slapMode & SLAP_SERVER_MODE ) { + /* make sure /var/run/nslcd exists */ + if (mkdir(NSLCD_PATH, (mode_t) 0555)) { + Debug(LDAP_DEBUG_TRACE,"nssov: mkdir(%s) failed (ignored): %s\n", + NSLCD_PATH,strerror(errno),0); + } else { + Debug(LDAP_DEBUG_TRACE,"nssov: created %s\n",NSLCD_PATH,0,0); + } + /* create a socket */ if ( (sock=socket(PF_UNIX,SOCK_STREAM,0))<0 ) { - Debug(LDAP_DEBUG_ANY,"nssov: cannot create socket: %s",strerror(errno),0,0); + Debug(LDAP_DEBUG_ANY,"nssov: cannot create socket: %s\n",strerror(errno),0,0); return -1; } /* remove existing named socket */ if (unlink(NSLCD_SOCKET)<0) { - Debug( LDAP_DEBUG_TRACE,"nssov: unlink() of "NSLCD_SOCKET" failed (ignored): %s", + Debug( LDAP_DEBUG_TRACE,"nssov: unlink() of "NSLCD_SOCKET" failed (ignored): %s\n", strerror(errno),0,0); } /* create socket address structure */ diff --git a/contrib/slapd-modules/nssov/nssov.h b/contrib/slapd-modules/nssov/nssov.h index 54b2f55e5f..6e65ce0745 100644 --- a/contrib/slapd-modules/nssov/nssov.h +++ b/contrib/slapd-modules/nssov/nssov.h @@ -9,8 +9,12 @@ #ifndef NSSOV_H #define NSSOV_H +#ifndef NSLCD_PATH +#define NSLCD_PATH "/var/run/nslcd" +#endif + #ifndef NSLCD_SOCKET -#define NSLCD_SOCKET "/var/run/nslcd/socket" +#define NSLCD_SOCKET NSLCD_PATH "/socket" #endif #include