diff options
author | Noriko Hosoi <nhosoi@redhat.com> | 2007-07-11 01:14:05 +0000 |
---|---|---|
committer | Noriko Hosoi <nhosoi@redhat.com> | 2007-07-11 01:14:05 +0000 |
commit | 64f60a0fb1b81693d67d0e613e8a63d361a45974 (patch) | |
tree | 474b439da22c2e1fdcf23274d0456d50bdc543dc | |
parent | 6f2efd5beaf603f8b731dd99d753874794f451a3 (diff) | |
download | ds-64f60a0fb1b81693d67d0e613e8a63d361a45974.tar.gz ds-64f60a0fb1b81693d67d0e613e8a63d361a45974.tar.xz ds-64f60a0fb1b81693d67d0e613e8a63d361a45974.zip |
Resolves: #247215
Summary: Reimplement ds_remove without setuputil code (comment #6)
Description: adding nsslapd-instancedir to dse.ldif for ds_remove to find out
the instance dir path.
-rw-r--r-- | ldap/admin/src/create_instance.c | 1 | ||||
-rw-r--r-- | ldap/servers/slapd/libglobs.c | 10 | ||||
-rw-r--r-- | ldap/servers/slapd/proto-slap.h | 1 | ||||
-rw-r--r-- | ldap/servers/slapd/slap.h | 1 |
4 files changed, 13 insertions, 0 deletions
diff --git a/ldap/admin/src/create_instance.c b/ldap/admin/src/create_instance.c index 52641425..7623e2e0 100644 --- a/ldap/admin/src/create_instance.c +++ b/ldap/admin/src/create_instance.c @@ -2687,6 +2687,7 @@ char *ds_gen_confs(char *sroot, server_config_s *cf, char *cs_path) fprintf(f, "nsslapd-tmpdir: %s\n", cf->tmp_dir); fprintf(f, "nsslapd-certdir: %s\n", cf->cert_dir); fprintf(f, "nsslapd-ldifdir: %s\n", cf->ldif_dir); + fprintf(f, "nsslapd-instancedir: %s\n", cf->inst_dir); fprintf(f, "nsslapd-bakdir: %s\n", cf->bak_dir); /* We use the system SASL by default on Linux, so we don't need to set sasl path */ if (NULL != cf->sasl_path) { diff --git a/ldap/servers/slapd/libglobs.c b/ldap/servers/slapd/libglobs.c index 400cedcc..2e03e297 100644 --- a/ldap/servers/slapd/libglobs.c +++ b/ldap/servers/slapd/libglobs.c @@ -542,6 +542,9 @@ static struct config_get_and_set { CONFIG_CONSTANT_STRING, NULL}, {CONFIG_HASH_FILTERS_ATTRIBUTE, config_set_hash_filters, NULL, 0, NULL, CONFIG_ON_OFF, (ConfigGetFunc)config_get_hash_filters}, + /* instance dir; used by admin tasks */ + {CONFIG_INSTDIR_ATTRIBUTE, config_set_instancedir, + NULL, 0, NULL, CONFIG_STRING, NULL}, /* parameterizing schema dir */ {CONFIG_SCHEMADIR_ATTRIBUTE, config_set_schemadir, NULL, 0, @@ -4462,6 +4465,13 @@ config_set_configdir(const char *attrname, char *value, char *errorbuf, int appl return retVal; } +/* W/o the setter, "config_set: the attribute nsslapd-instancedir is read only" is printed out. */ +int +config_set_instancedir(const char *attrname, char *value, char *errorbuf, int apply) +{ + return LDAP_SUCCESS; +} + char * config_get_schemadir() { diff --git a/ldap/servers/slapd/proto-slap.h b/ldap/servers/slapd/proto-slap.h index d3849446..06d92c11 100644 --- a/ldap/servers/slapd/proto-slap.h +++ b/ldap/servers/slapd/proto-slap.h @@ -316,6 +316,7 @@ int config_set_versionstring(const char *attrname, char *versionstring, char *e int config_set_enquote_sup_oc(const char *attrname, char *value, char *errorbuf, int apply ); int config_set_basedn( const char *attrname, char *value, char *errorbuf, int apply ); int config_set_configdir( const char *attrname, char *value, char *errorbuf, int apply ); +int config_set_instancedir( const char *attrname, char *value, char *errorbuf, int apply ); int config_set_schemadir( const char *attrname, char *value, char *errorbuf, int apply ); int config_set_lockdir( const char *attrname, char *value, char *errorbuf, int apply ); int config_set_tmpdir( const char *attrname, char *value, char *errorbuf, int apply ); diff --git a/ldap/servers/slapd/slap.h b/ldap/servers/slapd/slap.h index 2079abf3..1be6c20e 100644 --- a/ldap/servers/slapd/slap.h +++ b/ldap/servers/slapd/slap.h @@ -1724,6 +1724,7 @@ typedef struct _slapdEntryPoints { #define CONFIG_REWRITE_RFC1274_ATTRIBUTE "nsslapd-rewrite-rfc1274" #define CONFIG_CONFIG_ATTRIBUTE "nsslapd-config" +#define CONFIG_INSTDIR_ATTRIBUTE "nsslapd-instancedir" #define CONFIG_SCHEMADIR_ATTRIBUTE "nsslapd-schemadir" #define CONFIG_LOCKDIR_ATTRIBUTE "nsslapd-lockdir" #define CONFIG_TMPDIR_ATTRIBUTE "nsslapd-tmpdir" |