]> git.sur5r.net Git - openldap/blobdiff - servers/slurpd/sanity.c
more issues related to slapacl
[openldap] / servers / slurpd / sanity.c
index d666f65da0802bd69a6a834b2ccf9488e0141ac0..d6cdb090738a4a720da906c808e3d39e05869e2b 100644 (file)
@@ -1,5 +1,18 @@
-/*
- * Copyright (c) 1996 Regents of the University of Michigan.
+/* $OpenLDAP$ */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2005 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+/* Portions Copyright (c) 1996 Regents of the University of Michigan.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms are permitted
@@ -9,6 +22,10 @@
  * software without specific prior written permission. This software
  * is provided ``as is'' without express or implied warranty.
  */
+/* ACKNOWLEDGEMENTS:
+ * This work was originally developed by the University of Michigan
+ * (as part of U-MICH LDAP).
+ */
 
 
 /*
@@ -22,6 +39,7 @@
 
 #include <stdio.h>
 
+#include <ac/stdlib.h>
 #include <ac/unistd.h>
 #include <ac/string.h>
 
@@ -65,7 +83,7 @@ sanity( void )
      * Are there any replicas listed in the slapd config file?
      */
     if ( sglob->replicas == NULL ) {
-       fprintf( stderr, "No replicas in slapd config file \"%s\"!\n",
+       fprintf( stderr, "No replicas in slapd.conf file \"%s\"!\n",
            sglob->slapd_configfile );
        err++;
     }
@@ -75,20 +93,24 @@ sanity( void )
      * that the slapd replogfile is readable, if it exists.
      */
     if ( sglob->slapd_replogfile == NULL ) {
-       fprintf( stderr, "Fatal error: no \"replogfile\" directive given\n" );
+       fprintf( stderr, "Fatal error: no \"replogfile\" "
+               "slapd.conf directive given\n" );
        err++;
     } else {
        rc = filecheck( sglob->slapd_replogfile );
        if ( rc & FC_DIRBAD ) {
-           fprintf( stderr, "Error: %s: directory does not exist\n", 
+           fprintf( stderr, "Error: %s: directory specified in "
+                       "\"replogfile\" slapd.conf directive does not exist\n", 
                    sglob->slapd_replogfile );
            err++;
        } else if ( rc & FC_DIRUNREAD ) {
-           fprintf( stderr, "Error: %s: directory not readable\n", 
+           fprintf( stderr, "Error: %s: directory specified in "
+                       "\"replogfile\" slapd.conf directive is not readable\n", 
                    sglob->slapd_replogfile );
            err++;
        } else if (!( rc & FC_FILEBAD) && ( rc & FC_FILEUNREAD )) {
-           fprintf( stderr, "Error: %s: file not readable\n", 
+           fprintf( stderr, "Error: %s: file specified in "
+                       "\"replogfile\" slapd.conf directive is not readable\n", 
                    sglob->slapd_replogfile );
            err++;
        }
@@ -104,19 +126,21 @@ sanity( void )
     } else {
        rc = filecheck( sglob->slurpd_replogfile );
        if ( rc & FC_DIRBAD ) {
-           fprintf( stderr, "Error: %s: directory does not exist\n", 
+           fprintf( stderr, "Error: %s: slurpd \"replogfile\" "
+                       "directory does not exist\n", 
                    sglob->slurpd_replogfile );
            err++;
        } else if ( rc & FC_DIRUNREAD ) {
-           fprintf( stderr, "Error: %s: directory not readable\n", 
+           fprintf( stderr, "Error: %s: slurpd \"replogfile\" "
+                       "directory not readable\n", 
                    sglob->slurpd_replogfile );
            err++;
        } else if ( !( rc & FC_FILEBAD ) && ( rc & FC_FILEUNREAD )) {
-           fprintf( stderr, "Error: %s: file not readable\n", 
+           fprintf( stderr, "Error: %s: slurpd \"replogfile\" not readable\n", 
                    sglob->slurpd_replogfile );
            err++;
        } else if ( !( rc & FC_FILEBAD ) && ( rc & FC_FILEUNWRITE )) {
-           fprintf( stderr, "Error: %s: file not writeable\n", 
+           fprintf( stderr, "Error: %s: slurpd \"replogfile\" not writeable\n", 
                    sglob->slurpd_replogfile );
            err++;
        }
@@ -128,19 +152,19 @@ sanity( void )
      */
     rc = filecheck( sglob->slurpd_status_file );
     if ( rc & FC_DIRBAD ) {
-       fprintf( stderr, "Error: %s: directory does not exist\n", 
+       fprintf( stderr, "Error: %s: status directory does not exist\n", 
                sglob->slurpd_status_file );
        err++;
     } else if ( rc & FC_DIRUNREAD ) {
-       fprintf( stderr, "Error: %s: directory not readable\n", 
+       fprintf( stderr, "Error: %s: status directory not readable\n", 
                sglob->slurpd_status_file );
        err++;
     } else if ( !( rc & FC_FILEBAD ) && ( rc & FC_FILEUNREAD )) {
-       fprintf( stderr, "Error: %s: file not readable\n", 
+       fprintf( stderr, "Error: %s: status file not readable\n", 
                sglob->slurpd_status_file );
        err++;
     } else if ( !( rc & FC_FILEBAD ) && ( rc & FC_FILEUNWRITE )) {
-       fprintf( stderr, "Error: %s: file not writeable\n", 
+       fprintf( stderr, "Error: %s: status file not writeable\n", 
                sglob->slurpd_status_file );
        err++;
     }
@@ -173,8 +197,8 @@ filecheck(
     char               *p;
     unsigned int       ret = 0;
 
-    strcpy( dir, sglob->slapd_replogfile );
-    p = strrchr( dir, '/' );
+       snprintf( dir, sizeof dir, "%s", f );
+    p = strrchr( dir, LDAP_DIRSEP[0] );
     if ( p != NULL ) {
        *p = '\0';
     }