From fb9f9165f67196a2286d810f466662754b4751a0 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Thu, 26 Jul 2001 02:55:10 +0000 Subject: [PATCH] Import slurpd include support --- CHANGES | 21 ++++++++++++++------- servers/slurpd/config.c | 34 ++++++++++++++++++++++++++++++++++ servers/slurpd/slurp.h | 5 +++++ 3 files changed, 53 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index a8a7b89760..1f24cc4336 100644 --- a/CHANGES +++ b/CHANGES @@ -1,30 +1,37 @@ OpenLDAP 2.0 Change Log OpenLDAP 2.0.12 Engineering - Fixed ldapmodrdn SASL auth bug (ITS#1179) + Fixed slapd acl default clause bug (ITS#1187) Fixed slapd modlist2mods error text bug - Fixed slapd empty rootdn bug (ITS#1172) Fixed slapd numericString empty value bug (ITS#1182) - Fixed slapd acl default clause bug (ITS#1187) + Fixed slapd empty rootdn bug (ITS#1172) Fixed slapd passwd modify replication - Added slapadd already exists check (ITS#1191) + Fixed ldapmodrdn SASL auth bug (ITS#1179) + Fixed slapadd already exists bug (ITS#1191) + Fixed slapadd empty dn bug Added slapd modrdn children check (ITS#1053,1192) Added slapd sb_max_incoming_auth support (ITS#1181) Added slapd crypt salt format support (ITS#1202) + Added slurpd include support (ITS#121) + Added -lldap critical client control checks Updated slapd schema check handling Updated ldbm to use BerkeleyDB's CDB (ITS#1176) Updated ldbm error handling Updated slapd filter checks + Updated slapd single-value checks Updated ldaptcl API (contrib) + Updated -lldap sasl/tls referral handling + Updated -lldap pthread code + Removed -lldap UFN search support Build environment - Remove extraneous files + Removed extraneous files OpenLDAP 2.0.11 Release - Fix attribute parse bug (ITS#1159) + Fixed attribute parse bug (ITS#1159) OpenLDAP 2.0.10 Release Build Environment - Fix TLS-less build (ITS#1156) + Fixed TLS-less build (ITS#1156) OpenLDAP 2.0.9 Release Add slapd obsolete schema check diff --git a/servers/slurpd/config.c b/servers/slurpd/config.c index 9bde24e88f..308a4edd42 100644 --- a/servers/slurpd/config.c +++ b/servers/slurpd/config.c @@ -1,4 +1,8 @@ /* $OpenLDAP$ */ +/* + * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ /* * Copyright (c) 1996 Regents of the University of Michigan. * All rights reserved. @@ -107,6 +111,34 @@ slurpd_read_config( } } else if ( strcasecmp( cargv[0], "replica" ) == 0 ) { add_replica( cargv, cargc ); + + /* include another config file */ + } else if ( strcasecmp( cargv[0], "include" ) == 0 ) { + char *savefname; + int savelineno; + + if ( cargc < 2 ) { +#ifdef NEW_LOGGING + LDAP_LOG(( "config", LDAP_LEVEL_CRIT, + "%s: line %d: missing filename in \"include " + "\" line.\n", fname, lineno )); +#else + Debug( LDAP_DEBUG_ANY, + "%s: line %d: missing filename in \"include \" line\n", + fname, lineno, 0 ); +#endif + + return( 1 ); + } + savefname = strdup( cargv[1] ); + savelineno = lineno; + + if ( slurpd_read_config( savefname ) != 0 ) { + return( 1 ); + } + + free( savefname ); + lineno = savelineno - 1; } } fclose( fp ); @@ -345,6 +377,8 @@ parse_replica_line( } ri->ri_hostname = strdup( val ); gots |= GOT_HOST; + } else if ( !strncasecmp( cargv[ i ], SUFFIXSTR, strlen( HOSTSTR ))) { + /* ignore it */ ; } else if ( !strncasecmp( cargv[ i ], TLSSTR, strlen( TLSSTR ))) { val = cargv[ i ] + strlen( TLSSTR ) + 1; if( !strcasecmp( val, TLSCRITICALSTR ) ) { diff --git a/servers/slurpd/slurp.h b/servers/slurpd/slurp.h index e0fe83fb64..6dcd42554f 100644 --- a/servers/slurpd/slurp.h +++ b/servers/slurpd/slurp.h @@ -1,4 +1,8 @@ /* $OpenLDAP$ */ +/* + * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ /* * Copyright (c) 1996 Regents of the University of Michigan. * All rights reserved. @@ -115,6 +119,7 @@ /* Config file keywords */ #define HOSTSTR "host" +#define SUFFIXSTR "suffix" #define BINDDNSTR "binddn" #define BINDMETHSTR "bindmethod" #define KERBEROSSTR "kerberos" -- 2.39.5