X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslurpd%2Fsanity.c;h=d6cdb090738a4a720da906c808e3d39e05869e2b;hb=da69eca7143234c82a0803f1bbc30edebd8003db;hp=d666f65da0802bd69a6a834b2ccf9488e0141ac0;hpb=7e6ad5100c2702b1d56a285bdfb341ddf38c0d76;p=openldap diff --git a/servers/slurpd/sanity.c b/servers/slurpd/sanity.c index d666f65da0..d6cdb09073 100644 --- a/servers/slurpd/sanity.c +++ b/servers/slurpd/sanity.c @@ -1,5 +1,18 @@ -/* - * Copyright (c) 1996 Regents of the University of Michigan. +/* $OpenLDAP$ */ +/* This work is part of OpenLDAP Software . + * + * 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 + * . + */ +/* 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 +#include #include #include @@ -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'; }