From 2f2802342fe830f6f3d296413f7cffa1bf61c206 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 3 Jun 2009 02:20:56 +0000 Subject: [PATCH] Do a mkdir on /var/run/nslcd before trying to create the socket --- contrib/slapd-modules/nssov/nssov.c | 12 ++++++++++-- contrib/slapd-modules/nssov/nssov.h | 6 +++++- 2 files changed, 15 insertions(+), 3 deletions(-) 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 -- 2.39.5