summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Graveley <alex@ximian.com>2001-08-26 20:23:47 +0000
committerAlex Graveley <orph@src.gnome.org>2001-08-26 20:23:47 +0000
commita615c40f60ed00ddb570d0b7ab90e7e51ad21169 (patch)
treef829944b891c195bc815727a0b27655f44a1ce4f
parent4d3f99bfa8ff25281d8bd58ed23019082dc281a2 (diff)
downloadlibsoup-a615c40f60ed00ddb570d0b7ab90e7e51ad21169.tar.gz
impl. (soup_config_ssl_ca_directory): impl. (soup_config_ssl_certificate):
2001-08-26 Alex Graveley <alex@ximian.com> * src/soup-core/soup-misc.c (soup_config_ssl_ca_file): impl. (soup_config_ssl_ca_directory): impl. (soup_config_ssl_certificate): impl. Add config file support for client certificates.
-rw-r--r--ChangeLog7
-rw-r--r--libsoup/soup-misc.c31
2 files changed, 38 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9afeb7d1..b28cfa66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2001-08-26 Alex Graveley <alex@ximian.com>
+ * src/soup-core/soup-misc.c (soup_config_ssl_ca_file): impl.
+ (soup_config_ssl_ca_directory): impl.
+ (soup_config_ssl_certificate): impl.
+ Add config file support for client certificates.
+
+2001-08-26 Alex Graveley <alex@ximian.com>
+
* src/soup-core/soup-misc.c (soup_set_ssl_ca_file): impl.
(soup_set_ssl_ca_dir): impl.
(soup_set_ssl_cert_files): impl.
diff --git a/libsoup/soup-misc.c b/libsoup/soup-misc.c
index ae6eca52..0d8f222f 100644
--- a/libsoup/soup-misc.c
+++ b/libsoup/soup-misc.c
@@ -257,6 +257,34 @@ soup_config_security_policy (gchar *key, gchar *value)
}
}
+static void
+soup_config_ssl_ca_file (gchar *key, gchar *value)
+{
+ soup_set_ssl_ca_file (value);
+}
+
+static void
+soup_config_ssl_ca_directory (gchar *key, gchar *value)
+{
+ soup_set_ssl_ca_dir (value);
+}
+
+static void
+soup_config_ssl_certificate (gchar *key, gchar *value)
+{
+ gint idx;
+
+ idx = strcspn (value, " \t");
+ if (!idx) return;
+
+ value [idx] = '\0';
+
+ idx += strspn (value + idx + 1, " \t");
+ if (!idx) return;
+
+ soup_set_ssl_cert_files (value, value + idx);
+}
+
typedef void (*SoupConfigFunc) (gchar *key, gchar *value);
struct SoupConfigFuncs {
@@ -267,6 +295,9 @@ struct SoupConfigFuncs {
{ "proxy-uri", soup_config_proxy_uri },
{ "proxy-url", soup_config_proxy_uri },
{ "security-policy", soup_config_security_policy },
+ { "ssl-ca-file", soup_config_ssl_ca_file },
+ { "ssl-ca-directory", soup_config_ssl_ca_directory },
+ { "ssl-certificate", soup_config_ssl_certificate },
{ NULL }
};