diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2007-09-07 11:10:45 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2007-09-07 11:10:45 +0000 |
commit | 7ded202fd6128c9e4586a63df1bf8a36c8835f11 (patch) | |
tree | 4f5160caeb214648aa4cb5b23691dce0127762d9 /nslcd/rpc.c | |
parent | 916f4afca2d7a655e7179f350d09362a18661bb5 (diff) |
also pass search filter for the *_all() functions from the database module instead of doing it in ldap-nss.c
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-ldapd@377 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nslcd/rpc.c')
-rw-r--r-- | nslcd/rpc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/nslcd/rpc.c b/nslcd/rpc.c index de25b5a..8b9c4f5 100644 --- a/nslcd/rpc.c +++ b/nslcd/rpc.c @@ -213,7 +213,8 @@ int nslcd_rpc_bynumber(TFILE *fp) int nslcd_rpc_all(TFILE *fp) { int32_t tmpint32; - static struct ent_context *rpc_context; + struct ent_context *rpc_context; + char filter[1024]; /* these are here for now until we rewrite the LDAP code */ struct rpcent result; char buffer[1024]; @@ -228,8 +229,10 @@ int nslcd_rpc_all(TFILE *fp) if (_nss_ldap_ent_context_init(&rpc_context)==NULL) return -1; /* loop over all results */ + mkfilter_rpc_all(filter,sizeof(filter)); rpc_attrs_init(); - while ((retv=nss2nslcd(_nss_ldap_getent(&rpc_context,&result,buffer,1024,&errnop,_nss_ldap_filt_getrpcent,LM_RPC,rpc_attrs,_nss_ldap_parse_rpc)))==NSLCD_RESULT_SUCCESS) + while ((retv=_nss_ldap_getent(&rpc_context,&result,buffer,sizeof(buffer),&errnop, + NULL,filter,rpc_attrs,LM_RPC,_nss_ldap_parse_rpc))==NSLCD_RESULT_SUCCESS) { /* write the result code */ WRITE_INT32(fp,retv); |