summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2017-02-28 13:32:31 +0100
committerLukas Slebodnik <lslebodn@redhat.com>2017-03-30 19:07:13 +0200
commitc2ea75da72b426d98ba489039e220d417bfb4c2a (patch)
tree666294bebdd975d7a345cf1f963e616895cd0666 /src/util
parent886e0f75e6f4c7877a23a3625f8a20c09109b09d (diff)
downloadsssd-c2ea75da72b426d98ba489039e220d417bfb4c2a.tar.gz
sssd-c2ea75da72b426d98ba489039e220d417bfb4c2a.tar.xz
sssd-c2ea75da72b426d98ba489039e220d417bfb4c2a.zip
tcurl: add support for http basic auth
Reviewed-by: Simo Sorce <simo@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/util')
-rw-r--r--src/util/tev_curl.c24
-rw-r--r--src/util/tev_curl.h15
2 files changed, 39 insertions, 0 deletions
diff --git a/src/util/tev_curl.c b/src/util/tev_curl.c
index c155f4c03..8faf07c71 100644
--- a/src/util/tev_curl.c
+++ b/src/util/tev_curl.c
@@ -1092,3 +1092,27 @@ errno_t tcurl_req_set_client_cert(struct tcurl_request *tcurl_req,
return EOK;
}
+
+errno_t tcurl_req_http_basic_auth(struct tcurl_request *tcurl_req,
+ const char *username,
+ const char *password)
+{
+ errno_t ret;
+
+ ret = tcurl_set_option(tcurl_req, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
+ if (ret != EOK) {
+ return ret;
+ }
+
+ ret = tcurl_set_option(tcurl_req, CURLOPT_USERNAME, username);
+ if (ret != EOK) {
+ return ret;
+ }
+
+ ret = tcurl_set_option(tcurl_req, CURLOPT_PASSWORD, password);
+ if (ret != EOK) {
+ return ret;
+ }
+
+ return EOK;
+}
diff --git a/src/util/tev_curl.h b/src/util/tev_curl.h
index 933abcb9b..c733127b3 100644
--- a/src/util/tev_curl.h
+++ b/src/util/tev_curl.h
@@ -243,4 +243,19 @@ errno_t tcurl_req_set_client_cert(struct tcurl_request *tcurl_req,
const char *cert,
const char *key);
+/**
+ * @brief Force HTTP basic authentication with @username and @password.
+ *
+ * @param[in] tcurl_request
+ * @param[in] username
+ * @param[in] password
+ *
+ * @returns errno code
+ *
+ * @see tcurl_http
+ */
+errno_t tcurl_req_http_basic_auth(struct tcurl_request *tcurl_req,
+ const char *username,
+ const char *password);
+
#endif /* __TEV_CURL_H */