summaryrefslogtreecommitdiff
path: root/source3/winbindd
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@us.ibm.com>2013-02-21 12:31:19 -0700
committerAndrew Bartlett <abartlet@samba.org>2013-03-09 06:30:22 +0100
commitc07c167edb71568ab18f016346e60803d1195d42 (patch)
treed30ccbc0b317b83bf9eda322fc0ba3c182cdd0c5 /source3/winbindd
parent86d09ce779fdc9d6ebbbe44b25656808ab37ee14 (diff)
downloadsamba-c07c167edb71568ab18f016346e60803d1195d42.tar.gz
samba-c07c167edb71568ab18f016346e60803d1195d42.tar.bz2
samba-c07c167edb71568ab18f016346e60803d1195d42.zip
s3-winbindd: Move idmap_fetch_secret to idmap_utils.c for reuse
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source3/winbindd')
-rw-r--r--source3/winbindd/idmap_ldap.c24
-rw-r--r--source3/winbindd/idmap_proto.h2
-rw-r--r--source3/winbindd/idmap_util.c25
3 files changed, 27 insertions, 24 deletions
diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c
index 03872e7ab1..0520f213ef 100644
--- a/source3/winbindd/idmap_ldap.c
+++ b/source3/winbindd/idmap_ldap.c
@@ -39,30 +39,6 @@
#include "smbldap.h"
#include "passdb/pdb_ldap_schema.h"
-static char *idmap_fetch_secret(const char *backend,
- const char *domain, const char *identity)
-{
- char *tmp, *ret;
- int r;
-
- r = asprintf(&tmp, "IDMAP_%s_%s", backend, domain);
-
- if (r < 0)
- return NULL;
-
- /* make sure the key is case insensitive */
- if (!strupper_m(tmp)) {
- SAFE_FREE(tmp);
- return NULL;
- }
-
- ret = secrets_fetch_generic(tmp, identity);
-
- SAFE_FREE(tmp);
-
- return ret;
-}
-
struct idmap_ldap_context {
struct smbldap_state *smbldap_state;
char *url;
diff --git a/source3/winbindd/idmap_proto.h b/source3/winbindd/idmap_proto.h
index a709807f68..f7af8ed639 100644
--- a/source3/winbindd/idmap_proto.h
+++ b/source3/winbindd/idmap_proto.h
@@ -57,6 +57,8 @@ bool idmap_unix_id_is_in_range(uint32_t id, struct idmap_domain *dom);
struct id_map *idmap_find_map_by_id(struct id_map **maps, enum id_type type,
uint32_t id);
struct id_map *idmap_find_map_by_sid(struct id_map **maps, struct dom_sid *sid);
+char *idmap_fetch_secret(const char *backend, const char *domain,
+ const char *identity);
/* max number of ids requested per LDAP batch query */
#define IDMAP_LDAP_MAX_IDS 30
diff --git a/source3/winbindd/idmap_util.c b/source3/winbindd/idmap_util.c
index cbad91d151..a068298968 100644
--- a/source3/winbindd/idmap_util.c
+++ b/source3/winbindd/idmap_util.c
@@ -24,6 +24,7 @@
#include "idmap.h"
#include "idmap_cache.h"
#include "../libcli/security/security.h"
+#include "secrets.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
@@ -213,3 +214,27 @@ struct id_map *idmap_find_map_by_sid(struct id_map **maps, struct dom_sid *sid)
return NULL;
}
+
+char *idmap_fetch_secret(const char *backend, const char *domain,
+ const char *identity)
+{
+ char *tmp, *ret;
+ int r;
+
+ r = asprintf(&tmp, "IDMAP_%s_%s", backend, domain);
+
+ if (r < 0)
+ return NULL;
+
+ /* make sure the key is case insensitive */
+ if (!strupper_m(tmp)) {
+ SAFE_FREE(tmp);
+ return NULL;
+ }
+
+ ret = secrets_fetch_generic(tmp, identity);
+
+ SAFE_FREE(tmp);
+
+ return ret;
+}