aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/http-utils.h
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2014-03-12 14:22:04 -0700
committerDmitry Shmidt <dimitrysh@google.com>2014-03-12 14:22:04 -0700
commitd5dc24eb5fbf0e0feff214c0260cae845721d5fe (patch)
treeb825835ecf8646a80f653084479d1490897be3d7 /src/utils/http-utils.h
parent9866086a955d00e237cc8df3722e7dff75c02532 (diff)
downloadandroid_external_wpa_supplicant_8-d5dc24eb5fbf0e0feff214c0260cae845721d5fe.tar.gz
android_external_wpa_supplicant_8-d5dc24eb5fbf0e0feff214c0260cae845721d5fe.tar.bz2
android_external_wpa_supplicant_8-d5dc24eb5fbf0e0feff214c0260cae845721d5fe.zip
Cumulative patch from commit 39b420f7b12b152f879d1bb8a5267b9a838e04dc
39b420f HS 2.0R2: Add parse_cert command for debugging purposes c0d701a HS 2.0R2: Add OSU client implementation d2bb2b4 Add os_file_exists() 1cb3eda HS 2.0R2: Add wrapper functions for libcurl 2cb8f96 HS 2.0R2: Add wrapper functions for libxml2 da4ec2c HS 2.0R2: Add wrapper for system browser db3ca20 HS 2.0R2: Add wrapper for wpadebug browser on Android 2a10e57 HS 2.0R2: Add wrapper for Android browser for user interaction d0b79d7 HS 2.0R2: Add wrapper functions for WebKit 91728f2 Add wpa_ctrl helper functions for upper level functionality b4c26ef Clean up hostapd_config_fill() parsers b2e32cd Fix memory leaks on wpa_config_parse_string() error paths a0b728b Simplify hostapd_config_fill() error reporting 599f40d Remove extra indentation level from hostapd_config_fill() Change-Id: I17b7089210da7e083c9fe5814e79cef99bbee80b Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/utils/http-utils.h')
-rw-r--r--src/utils/http-utils.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/utils/http-utils.h b/src/utils/http-utils.h
new file mode 100644
index 00000000..8d4399a3
--- /dev/null
+++ b/src/utils/http-utils.h
@@ -0,0 +1,63 @@
+/*
+ * HTTP wrapper
+ * Copyright (c) 2012-2013, Qualcomm Atheros, Inc.
+ *
+ * This software may be distributed under the terms of the BSD license.
+ * See README for more details.
+ */
+
+#ifndef HTTP_UTILS_H
+#define HTTP_UTILS_H
+
+struct http_ctx;
+
+struct http_othername {
+ char *oid;
+ u8 *data;
+ size_t len;
+};
+
+#define HTTP_MAX_CERT_LOGO_HASH 32
+
+struct http_logo {
+ char *alg_oid;
+ u8 *hash;
+ size_t hash_len;
+ char *uri;
+};
+
+struct http_cert {
+ char **dnsname;
+ unsigned int num_dnsname;
+ struct http_othername *othername;
+ unsigned int num_othername;
+ struct http_logo *logo;
+ unsigned int num_logo;
+};
+
+int soap_init_client(struct http_ctx *ctx, const char *address,
+ const char *ca_fname, const char *username,
+ const char *password, const char *client_cert,
+ const char *client_key);
+int soap_reinit_client(struct http_ctx *ctx);
+xml_node_t * soap_send_receive(struct http_ctx *ctx, xml_node_t *node);
+
+struct http_ctx * http_init_ctx(void *upper_ctx, struct xml_node_ctx *xml_ctx);
+void http_ocsp_set(struct http_ctx *ctx, int val);
+void http_deinit_ctx(struct http_ctx *ctx);
+
+int http_download_file(struct http_ctx *ctx, const char *url,
+ const char *fname, const char *ca_fname);
+char * http_post(struct http_ctx *ctx, const char *url, const char *data,
+ const char *content_type, const char *ext_hdr,
+ const char *ca_fname,
+ const char *username, const char *password,
+ const char *client_cert, const char *client_key,
+ size_t *resp_len);
+void http_set_cert_cb(struct http_ctx *ctx,
+ int (*cb)(void *ctx, struct http_cert *cert),
+ void *cb_ctx);
+const char * http_get_err(struct http_ctx *ctx);
+void http_parse_x509_certificate(struct http_ctx *ctx, const char *fname);
+
+#endif /* HTTP_UTILS_H */