summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-06-24 13:02:03 +0200
committerGünther Deschner <gd@samba.org>2008-06-24 23:37:49 +0200
commit7b1f015675b99c3ee8620bd0113b817a910a0727 (patch)
tree64d79cef2ada279c0ec4dae97413f151d55a6b64
parent6b4b76c40e965c7544097aa652eb6455af2ae8c1 (diff)
downloadsamba-7b1f015675b99c3ee8620bd0113b817a910a0727.tar.gz
samba-7b1f015675b99c3ee8620bd0113b817a910a0727.tar.bz2
samba-7b1f015675b99c3ee8620bd0113b817a910a0727.zip
libads: add ads_connect_user_creds() that won't overwrite given user creds.
Guenther (This used to be commit 026018c9f1ed0680b3ca5b26dd6b8dc466e27e0d)
-rw-r--r--source3/include/proto.h1
-rw-r--r--source3/libads/ldap.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 68e3926342..75b616b300 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -2063,6 +2063,7 @@ bool ads_sitename_match(ADS_STRUCT *ads);
bool ads_closest_dc(ADS_STRUCT *ads);
bool ads_try_connect(ADS_STRUCT *ads, const char *server );
ADS_STATUS ads_connect(ADS_STRUCT *ads);
+ADS_STATUS ads_connect_user_creds(ADS_STRUCT *ads);
void ads_disconnect(ADS_STRUCT *ads);
ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path,
int scope, const char *expr, const char **attrs,
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index 7b9e51068b..7c64082ab4 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -527,6 +527,18 @@ got_connection:
}
/**
+ * Connect to the LDAP server using given credentials
+ * @param ads Pointer to an existing ADS_STRUCT
+ * @return status of connection
+ **/
+ADS_STATUS ads_connect_user_creds(ADS_STRUCT *ads)
+{
+ ads->auth.flags |= ADS_AUTH_USER_CREDS;
+
+ return ads_connect(ads);
+}
+
+/**
* Disconnect the LDAP server
* @param ads Pointer to an existing ADS_STRUCT
**/