version 1.120, 2006/09/10 22:52:43
|
version 1.121, 2006/12/24 09:51:07
|
Line 1
|
Line 1
|
/* root_dse.c - Provides the Root DSA-Specific Entry */ |
/* root_dse.c - Provides the Root DSA-Specific Entry */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/root_dse.c,v 1.119 2006/08/28 23:43:24 hyc Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/root_dse.c,v 1.120 2006/09/10 22:52:43 ando Exp $ */ |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
* |
* |
* Copyright 1999-2006 The OpenLDAP Foundation. |
* Copyright 1999-2006 The OpenLDAP Foundation. |
Line 375 fail:
|
Line 375 fail:
|
return LDAP_SUCCESS; |
return LDAP_SUCCESS; |
} |
} |
|
|
|
int |
|
root_dse_init( void ) |
|
{ |
|
return 0; |
|
} |
|
|
|
int |
|
root_dse_destroy( void ) |
|
{ |
|
if ( usr_attr ) { |
|
entry_free( usr_attr ); |
|
usr_attr = NULL; |
|
} |
|
|
|
return 0; |
|
} |
|
|
/* |
/* |
* Read the entries specified in fname and merge the attributes |
* Read the entries specified in fname and merge the attributes |
* to the user defined rootDSE. Note thaat if we find any errors |
* to the user defined rootDSE. Note thaat if we find any errors |
* what so ever, we will discard the entire entries, print an |
* what so ever, we will discard the entire entries, print an |
* error message and return. |
* error message and return. |
*/ |
*/ |
int read_root_dse_file( const char *fname ) |
int |
|
root_dse_read_file( const char *fname ) |
{ |
{ |
struct LDIFFP *fp; |
struct LDIFFP *fp; |
int rc = 0, lineno = 0, lmax = 0; |
int rc = 0, lineno = 0, lmax = 0; |
Line 389 int read_root_dse_file( const char *fnam
|
Line 407 int read_root_dse_file( const char *fnam
|
|
|
if ( (fp = ldif_open( fname, "r" )) == NULL ) { |
if ( (fp = ldif_open( fname, "r" )) == NULL ) { |
Debug( LDAP_DEBUG_ANY, |
Debug( LDAP_DEBUG_ANY, |
"could not open rootdse attr file \"%s\" - absolute path?\n", |
"root_dse_read_file: could not open rootdse attr file \"%s\" - absolute path?\n", |
fname, 0, 0 ); |
fname, 0, 0 ); |
perror( fname ); |
perror( fname ); |
return EXIT_FAILURE; |
return EXIT_FAILURE; |
Line 398 int read_root_dse_file( const char *fnam
|
Line 416 int read_root_dse_file( const char *fnam
|
usr_attr = entry_alloc(); |
usr_attr = entry_alloc(); |
if( usr_attr == NULL ) { |
if( usr_attr == NULL ) { |
Debug( LDAP_DEBUG_ANY, |
Debug( LDAP_DEBUG_ANY, |
"read_root_dse_file: entry_alloc failed", 0, 0, 0 ); |
"root_dse_read_file: entry_alloc failed", 0, 0, 0 ); |
ldif_close( fp ); |
ldif_close( fp ); |
return LDAP_OTHER; |
return LDAP_OTHER; |
} |
} |
Line 409 int read_root_dse_file( const char *fnam
|
Line 427 int read_root_dse_file( const char *fnam
|
Attribute *a; |
Attribute *a; |
|
|
if( e == NULL ) { |
if( e == NULL ) { |
fprintf( stderr, "root_dse: could not parse entry (line=%d)\n", |
Debug( LDAP_DEBUG_ANY, "root_dse_read_file: " |
lineno ); |
"could not parse entry (file=\"%s\" line=%d)\n", |
|
fname, lineno, 0 ); |
rc = EXIT_FAILURE; |
rc = EXIT_FAILURE; |
break; |
break; |
} |
} |
|
|
/* make sure the DN is the empty DN */ |
/* make sure the DN is the empty DN */ |
if( e->e_nname.bv_len ) { |
if( e->e_nname.bv_len ) { |
fprintf( stderr, |
Debug( LDAP_DEBUG_ANY, |
"root_dse: invalid rootDSE - dn=\"%s\" (line=%d)\n", |
"root_dse_read_file: invalid rootDSE " |
e->e_dn, lineno ); |
"- dn=\"%s\" (file=\"%s\" line=%d)\n", |
|
e->e_dn, fname, lineno ); |
entry_free( e ); |
entry_free( e ); |
rc = EXIT_FAILURE; |
rc = EXIT_FAILURE; |
break; |
break; |
Line 453 int read_root_dse_file( const char *fnam
|
Line 473 int read_root_dse_file( const char *fnam
|
|
|
ldif_close( fp ); |
ldif_close( fp ); |
|
|
Debug(LDAP_DEBUG_CONFIG, "rootDSE file %s read.\n", fname, 0, 0); |
Debug(LDAP_DEBUG_CONFIG, "rootDSE file=\"%s\" read.\n", fname, 0, 0); |
return rc; |
return rc; |
} |
} |
|
|