Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv16227
Modified Files:
slap.h proto-slap.h libglobs.c
Log Message:
Resolves: #245407
Summary: Add config attributes to cn=config to support Console (comment #1)
Description: Console needs to know the default paths for ldif_dir and bak_dir.
Adding the paths to cn=config.
Index: slap.h
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/slap.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- slap.h 27 Feb 2007 02:57:30 -0000 1.21
+++ slap.h 22 Jun 2007 21:54:58 -0000 1.22
@@ -1728,6 +1728,8 @@
#define CONFIG_LOCKDIR_ATTRIBUTE "nsslapd-lockdir"
#define CONFIG_TMPDIR_ATTRIBUTE "nsslapd-tmpdir"
#define CONFIG_CERTDIR_ATTRIBUTE "nsslapd-certdir"
+#define CONFIG_LDIFDIR_ATTRIBUTE "nsslapd-ldifdir"
+#define CONFIG_BAKDIR_ATTRIBUTE "nsslapd-bakdir"
#define CONFIG_SASLPATH_ATTRIBUTE "nsslapd-saslpath"
#define CONFIG_SSLCLIENTAUTH_ATTRIBUTE "nsslapd-SSLclientAuth"
#define CONFIG_SSL_CHECK_HOSTNAME_ATTRIBUTE "nsslapd-ssl-check-hostname"
@@ -1906,6 +1908,8 @@
char *lockdir; /* full path name of directory containing lock files */
char *tmpdir; /* full path name of directory containing tmp files */
char *certdir; /* full path name of directory containing cert files */
+ char *ldifdir; /* full path name of directory containing ldif files */
+ char *bakdir; /* full path name of directory containing bakup files */
char *saslpath; /* full path name of directory containing sasl plugins */
int attrname_exceptions; /* if true, allow questionable attribute names */
int rewrite_rfc1274; /* return attrs for both v2 and v3 names */
Index: proto-slap.h
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/proto-slap.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- proto-slap.h 27 Feb 2007 02:57:30 -0000 1.26
+++ proto-slap.h 22 Jun 2007 21:54:58 -0000 1.27
@@ -320,6 +320,8 @@
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 );
int config_set_certdir( const char *attrname, char *value, char *errorbuf, int apply );
+int config_set_ldifdir( const char *attrname, char *value, char *errorbuf, int apply );
+int config_set_bakdir( const char *attrname, char *value, char *errorbuf, int apply );
int config_set_saslpath( const char *attrname, char *value, char *errorbuf, int apply );
int config_set_attrname_exceptions( const char *attrname, char *value, char *errorbuf,
int apply );
int config_set_hash_filters( const char *attrname, char *value, char *errorbuf, int apply
);
@@ -430,6 +432,8 @@
char *config_get_lockdir();
char *config_get_tmpdir();
char *config_get_certdir();
+char *config_get_ldifdir();
+char *config_get_bakdir();
char *config_get_saslpath();
char **config_get_errorlog_list();
char **config_get_accesslog_list();
Index: libglobs.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/libglobs.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- libglobs.c 2 Mar 2007 22:38:07 -0000 1.16
+++ libglobs.c 22 Jun 2007 21:54:58 -0000 1.17
@@ -558,6 +558,14 @@
{CONFIG_CERTDIR_ATTRIBUTE, config_set_certdir,
NULL, 0,
(void**)&global_slapdFrontendConfig.certdir, CONFIG_STRING, config_get_certdir},
+ /* parameterizing ldif dir */
+ {CONFIG_LDIFDIR_ATTRIBUTE, config_set_ldifdir,
+ NULL, 0,
+ (void**)&global_slapdFrontendConfig.ldifdir, CONFIG_STRING, config_get_ldifdir},
+ /* parameterizing bak dir */
+ {CONFIG_BAKDIR_ATTRIBUTE, config_set_bakdir,
+ NULL, 0,
+ (void**)&global_slapdFrontendConfig.bakdir, CONFIG_STRING, config_get_bakdir},
/* parameterizing sasl plugin path */
{CONFIG_SASLPATH_ATTRIBUTE, config_set_saslpath,
NULL, 0,
@@ -4599,6 +4607,77 @@
}
char *
+config_get_ldifdir()
+{
+ slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
+ char *retVal;
+
+ CFG_LOCK_READ(slapdFrontendConfig);
+ retVal = config_copy_strval(slapdFrontendConfig->ldifdir);
+ CFG_UNLOCK_READ(slapdFrontendConfig);
+
+ return retVal;
+}
+
+int
+config_set_ldifdir(const char *attrname, char *value, char *errorbuf, int apply)
+{
+ int retVal = LDAP_SUCCESS;
+ slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
+
+ if ( config_value_is_null( attrname, value, errorbuf, 0 )) {
+ return LDAP_OPERATIONS_ERROR;
+ }
+
+ if (!apply) {
+ return retVal;
+ }
+
+ CFG_LOCK_WRITE(slapdFrontendConfig);
+ slapi_ch_free((void **)&slapdFrontendConfig->ldifdir);
+
+ slapdFrontendConfig->ldifdir = slapi_ch_strdup(value);
+
+ CFG_UNLOCK_WRITE(slapdFrontendConfig);
+ return retVal;
+}
+
+char *
+config_get_bakdir()
+{
+ slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
+ char *retVal;
+
+ CFG_LOCK_READ(slapdFrontendConfig);
+ retVal = config_copy_strval(slapdFrontendConfig->bakdir);
+ CFG_UNLOCK_READ(slapdFrontendConfig);
+
+ return retVal;
+}
+
+int
+config_set_bakdir(const char *attrname, char *value, char *errorbuf, int apply)
+{
+ int retVal = LDAP_SUCCESS;
+ slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
+
+ if ( config_value_is_null( attrname, value, errorbuf, 0 )) {
+ return LDAP_OPERATIONS_ERROR;
+ }
+
+ if (!apply) {
+ return retVal;
+ }
+
+ CFG_LOCK_WRITE(slapdFrontendConfig);
+ slapi_ch_free((void **)&slapdFrontendConfig->bakdir);
+
+ slapdFrontendConfig->bakdir = slapi_ch_strdup(value);
+
+ CFG_UNLOCK_WRITE(slapdFrontendConfig);
+ return retVal;
+}
+char *
config_get_saslpath()
{
slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();