diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2009-05-24 10:56:33 +0200 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2009-05-24 10:56:33 +0200 |
commit | 6bdd24fe2857258515496a6eedd7ee8650144582 (patch) | |
tree | f6a37aa31062c567f528d13a0eafa6c2dd22c7d8 /nslcd/rpc.c | |
parent | d50fe928bb5526892f091f0ff287ec449b9b66be (diff) |
support multiple search bases, partially based on a patch by Leigh Wedding <lwedding@bigpond.com>
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-ldapd@892 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nslcd/rpc.c')
-rw-r--r-- | nslcd/rpc.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/nslcd/rpc.c b/nslcd/rpc.c index 3dc99d2..aa9fb0d 100644 --- a/nslcd/rpc.c +++ b/nslcd/rpc.c @@ -5,7 +5,7 @@ Copyright (C) 1997-2005 Luke Howard Copyright (C) 2006 West Consulting - Copyright (C) 2006, 2007 Arthur de Jong + Copyright (C) 2006, 2007, 2009 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -46,7 +46,7 @@ */ /* the search base for searches */ -const char *rpc_base = NULL; +const char *rpc_bases[NSS_LDAP_CONFIG_MAX_BASES] = { NULL }; /* the search scope for searches */ int rpc_scope = LDAP_SCOPE_DEFAULT; @@ -86,9 +86,11 @@ static int mkfilter_rpc_bynumber(int number, static void rpc_init(void) { - /* set up base */ - if (rpc_base==NULL) - rpc_base=nslcd_cfg->ldc_base; + int i; + /* set up search bases */ + if (rpc_bases[0]==NULL) + for (i=0;i<NSS_LDAP_CONFIG_MAX_BASES;i++) + rpc_bases[i]=nslcd_cfg->ldc_bases[i]; /* set up scope */ if (rpc_scope==LDAP_SCOPE_DEFAULT) rpc_scope=nslcd_cfg->ldc_scope; |