From: Kurt Zeilenga Date: Sun, 25 Jul 1999 20:32:12 +0000 (+0000) Subject: Support attribute types list and only parameters on cn=config X-Git-Tag: OPENLDAP_REL_ENG_1_2_5~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3d0bd8d5c28101a72ca04f8951052d852fab6fb;p=thirdparty%2Fopenldap.git Support attribute types list and only parameters on cn=config and cn=monitor. --- diff --git a/servers/slapd/configinfo.c b/servers/slapd/configinfo.c index 9736b296c1..4becb0c090 100644 --- a/servers/slapd/configinfo.c +++ b/servers/slapd/configinfo.c @@ -27,7 +27,10 @@ */ void -config_info( Connection *conn, Operation *op ) +config_info( + Connection *conn, Operation *op, + char **attrs, int attrsonly + ) { Entry *e; char buf[BUFSIZ]; @@ -64,7 +67,7 @@ config_info( Connection *conn, Operation *op ) attr_merge( e, "database", vals ); } - send_search_entry( &backends[0], conn, op, e, NULL, 0 ); + send_search_entry( &backends[0], conn, op, e, attrs, attrsonly ); send_ldap_search_result( conn, op, LDAP_SUCCESS, NULL, NULL, 1 ); entry_free( e ); diff --git a/servers/slapd/monitor.c b/servers/slapd/monitor.c index 88ea15b9ec..ed29f78faf 100644 --- a/servers/slapd/monitor.c +++ b/servers/slapd/monitor.c @@ -31,7 +31,8 @@ #if defined( SLAPD_MONITOR_DN ) void -monitor_info( Connection *conn, Operation *op ) +monitor_info( Connection *conn, Operation *op, + char **attrs, int attrsonly ) { Entry *e; char buf[BUFSIZ], buf2[22]; @@ -185,7 +186,7 @@ monitor_info( Connection *conn, Operation *op ) attr_merge( e, "concurrency", vals ); #endif - send_search_entry( &backends[0], conn, op, e, NULL, 0 ); + send_search_entry( &backends[0], conn, op, e, attrs, attrsonly ); send_ldap_search_result( conn, op, LDAP_SUCCESS, NULL, NULL, 1 ); entry_free( e ); diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 52372983ae..41d4ecd7e8 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -152,7 +152,9 @@ int lock_fclose LDAP_P(( FILE *fp, FILE *lfp )); * monitor.c */ -void monitor_info LDAP_P(( Connection *conn, Operation *op )); +void monitor_info LDAP_P(( + Connection *conn, Operation *op, + char ** attrs, int attrsonly )); /* * operation.c @@ -278,7 +280,10 @@ extern void * slapd_daemon LDAP_P((void *port)); extern void slap_set_shutdown LDAP_P((int sig)); extern void slap_do_nothing LDAP_P((int sig)); -extern void config_info LDAP_P((Connection *conn, Operation *op)); +extern void config_info LDAP_P(( + Connection *conn, Operation *op, + char ** attrs, int attrsonly )); + extern void do_abandon LDAP_P((Connection *conn, Operation *op)); extern void do_add LDAP_P((Connection *conn, Operation *op)); extern void do_bind LDAP_P((Connection *conn, Operation *op)); diff --git a/servers/slapd/search.c b/servers/slapd/search.c index 2779fe0bdd..1a7ec0d52a 100644 --- a/servers/slapd/search.c +++ b/servers/slapd/search.c @@ -110,19 +110,19 @@ do_search( if ( scope == LDAP_SCOPE_BASE ) { #if defined( SLAPD_MONITOR_DN ) if ( strcmp( base, SLAPD_MONITOR_DN ) == 0 ) { - monitor_info( conn, op ); + monitor_info( conn, op, attrs, attrsonly ); goto return_results; } #endif #if defined( SLAPD_CONFIG_DN ) if ( strcmp( base, SLAPD_CONFIG_DN ) == 0 ) { - config_info( conn, op ); + config_info( conn, op, attrs, attrsonly ); goto return_results; } #endif #if defined( SLAPD_SCHEMA_DN ) if ( strcmp( base, SLAPD_SCHEMA_DN ) == 0 ) { - schema_info( conn, op ); + schema_info( conn, op, attrs, attrsonly ); goto return_results; } #endif