summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2003-09-22 20:10:45 +0000
committerDan Winship <danw@src.gnome.org>2003-09-22 20:10:45 +0000
commit7b6bfba5f54a53516348413c24b358b70788a142 (patch)
tree92fa87e481dda9f4c690a983955195162ab9d121
parented203a51133ed83ba407b0d6b537e0559f86ae87 (diff)
downloadlibsoup-7b6bfba5f54a53516348413c24b358b70788a142.tar.gz
Move RESPONSE_BLOCK_SIZE #define here from soup-private.h
* libsoup/soup-message-io.c: Move RESPONSE_BLOCK_SIZE #define here from soup-private.h * libsoup/soup-misc.c (soup_load_config, etc): Remove all this. (soup_set_security_policy, soup_get_security_policy): Remove, since the GNUTLS backend doesn't actually implement it. (soup_set_ssl_ca_dir, soup_get_ssl_ca_dir): Likewise * libsoup/soup-misc.h: sync to soup-misc.c. Don't #include extra stuff. * libsoup/soup-types.h (SOUP_MAKE_TYPE): Move this here from soup-private.h * libsoup/soup-ssl.h: Merge soup_ssl_get_iochannel and soup_ssl_get_server_iochannel into a single function that takes a SoupSSLType. * libsoup/soup-gnutls.c: Remove soup_get_ssl_ca_dir() reference. (soup_ssl_get_iochannel): Renamed from soup_gnutls_get_iochannel. (soup_gnutls_set_security_policy): Gone * libsoup/soup-gnutls.h * libsoup/soup-ssl.c: Gone; soup-ssl.h is the #include file for soup-gnutls.c now * libsoup/soup-socket.c: Move soup_sockaddr_max #define here from soup-private.h (soup_socket_start_ssl): Update for new soup_ssl_get_iochannel prototype. * libsoup/soup-private.h: Gone * libsoup/soup-address.c: Fix #includes for soup-private.h and soup-misc.h changes * libsoup/soup-auth-digest.c: Likewise * libsoup/soup-auth.c: Likewise * libsoup/soup-connection-ntlm.c: Likewise * libsoup/soup-connection.c: Likewise * libsoup/soup-dns.c: Likewise * libsoup/soup-gnutls.c: Likewise * libsoup/soup-headers.c: Likewise * libsoup/soup-message-client-io.c: Likewise * libsoup/soup-message-handlers.c: Likewise * libsoup/soup-message-io.c: Likewise * libsoup/soup-message-server-io.c: Likewise * libsoup/soup-message.c: Likewise * libsoup/soup-server-message.c: Likewise * libsoup/soup-server.c: Likewise * libsoup/soup-session.c: Likewise * libsoup/soup-socket.c: Likewise * tests/auth-test.c: Likewise
-rw-r--r--ChangeLog55
-rw-r--r--libsoup/Makefile.am3
-rw-r--r--libsoup/soup-address.c2
-rw-r--r--libsoup/soup-auth-basic.c1
-rw-r--r--libsoup/soup-auth-digest.c1
-rw-r--r--libsoup/soup-auth.c1
-rw-r--r--libsoup/soup-connection-ntlm.c3
-rw-r--r--libsoup/soup-connection.c3
-rw-r--r--libsoup/soup-dns.c2
-rw-r--r--libsoup/soup-gnutls.c21
-rw-r--r--libsoup/soup-gnutls.h23
-rw-r--r--libsoup/soup-headers.c2
-rw-r--r--libsoup/soup-message-client-io.c3
-rw-r--r--libsoup/soup-message-handlers.c2
-rw-r--r--libsoup/soup-message-io.c4
-rw-r--r--libsoup/soup-message-server-io.c2
-rw-r--r--libsoup/soup-message.c2
-rw-r--r--libsoup/soup-method.c3
-rw-r--r--libsoup/soup-method.h5
-rw-r--r--libsoup/soup-misc.c317
-rw-r--r--libsoup/soup-misc.h89
-rw-r--r--libsoup/soup-private.h57
-rw-r--r--libsoup/soup-server-message.c1
-rw-r--r--libsoup/soup-server.c1
-rw-r--r--libsoup/soup-session.c3
-rw-r--r--libsoup/soup-socket.c14
-rw-r--r--libsoup/soup-ssl.c30
-rw-r--r--libsoup/soup-ssl.h10
-rw-r--r--libsoup/soup-types.h24
-rw-r--r--tests/auth-test.c1
30 files changed, 154 insertions, 531 deletions
diff --git a/ChangeLog b/ChangeLog
index 0ab1cc93..0848ad4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,58 @@
+2003-09-22 Dan Winship <danw@ximian.com>
+
+ * libsoup/soup-message-io.c: Move RESPONSE_BLOCK_SIZE #define here
+ from soup-private.h
+
+ * libsoup/soup-misc.c (soup_load_config, etc): Remove all this.
+ (soup_set_security_policy, soup_get_security_policy): Remove,
+ since the GNUTLS backend doesn't actually implement it.
+ (soup_set_ssl_ca_dir, soup_get_ssl_ca_dir): Likewise
+
+ * libsoup/soup-misc.h: sync to soup-misc.c. Don't #include extra
+ stuff.
+
+ * libsoup/soup-types.h (SOUP_MAKE_TYPE): Move this here from
+ soup-private.h
+
+ * libsoup/soup-ssl.h: Merge soup_ssl_get_iochannel and
+ soup_ssl_get_server_iochannel into a single function that takes a
+ SoupSSLType.
+
+ * libsoup/soup-gnutls.c: Remove soup_get_ssl_ca_dir() reference.
+ (soup_ssl_get_iochannel): Renamed from soup_gnutls_get_iochannel.
+ (soup_gnutls_set_security_policy): Gone
+
+ * libsoup/soup-gnutls.h
+ * libsoup/soup-ssl.c: Gone; soup-ssl.h is the #include file for
+ soup-gnutls.c now
+
+ * libsoup/soup-socket.c: Move soup_sockaddr_max
+ #define here from soup-private.h
+ (soup_socket_start_ssl): Update for new soup_ssl_get_iochannel
+ prototype.
+
+ * libsoup/soup-private.h: Gone
+
+ * libsoup/soup-address.c: Fix #includes for soup-private.h and
+ soup-misc.h changes
+ * libsoup/soup-auth-digest.c: Likewise
+ * libsoup/soup-auth.c: Likewise
+ * libsoup/soup-connection-ntlm.c: Likewise
+ * libsoup/soup-connection.c: Likewise
+ * libsoup/soup-dns.c: Likewise
+ * libsoup/soup-gnutls.c: Likewise
+ * libsoup/soup-headers.c: Likewise
+ * libsoup/soup-message-client-io.c: Likewise
+ * libsoup/soup-message-handlers.c: Likewise
+ * libsoup/soup-message-io.c: Likewise
+ * libsoup/soup-message-server-io.c: Likewise
+ * libsoup/soup-message.c: Likewise
+ * libsoup/soup-server-message.c: Likewise
+ * libsoup/soup-server.c: Likewise
+ * libsoup/soup-session.c: Likewise
+ * libsoup/soup-socket.c: Likewise
+ * tests/auth-test.c: Likewise
+
2003-09-19 Dan Winship <danw@ximian.com>
* libsoup/soup-address.c (update_address_from_entry): free the
diff --git a/libsoup/Makefile.am b/libsoup/Makefile.am
index 48e34ce5..735047f1 100644
--- a/libsoup/Makefile.am
+++ b/libsoup/Makefile.am
@@ -67,7 +67,6 @@ libsoup_2_2_la_SOURCES = \
soup-connection-ntlm.c \
soup-dns.h \
soup-dns.c \
- soup-gnutls.h \
soup-gnutls.c \
soup-headers.c \
soup-md5-utils.h \
@@ -82,14 +81,12 @@ libsoup_2_2_la_SOURCES = \
soup-message-server-io.c \
soup-method.c \
soup-misc.c \
- soup-private.h \
soup-server.c \
soup-server-auth.c \
soup-server-message.c \
soup-session.c \
soup-socket.c \
soup-ssl.h \
- soup-ssl.c \
soup-status.c \
soup-uri.c
diff --git a/libsoup/soup-address.c b/libsoup/soup-address.c
index 15708348..86c8db2e 100644
--- a/libsoup/soup-address.c
+++ b/libsoup/soup-address.c
@@ -21,10 +21,10 @@
#include <netdb.h>
#include <netinet/in.h>
-#include "soup-private.h"
#include "soup-address.h"
#include "soup-dns.h"
#include "soup-marshal.h"
+#include "soup-misc.h"
#include <unistd.h>
#ifndef socklen_t
diff --git a/libsoup/soup-auth-basic.c b/libsoup/soup-auth-basic.c
index a256fc5e..68755aaf 100644
--- a/libsoup/soup-auth-basic.c
+++ b/libsoup/soup-auth-basic.c
@@ -15,7 +15,6 @@
#include "soup-headers.h"
#include "soup-message.h"
#include "soup-misc.h"
-#include "soup-private.h"
#include "soup-uri.h"
static void construct (SoupAuth *auth, const char *header);
diff --git a/libsoup/soup-auth-digest.c b/libsoup/soup-auth-digest.c
index c36cb2f5..a125d12e 100644
--- a/libsoup/soup-auth-digest.c
+++ b/libsoup/soup-auth-digest.c
@@ -19,7 +19,6 @@
#include "soup-md5-utils.h"
#include "soup-message.h"
#include "soup-misc.h"
-#include "soup-private.h"
#include "soup-uri.h"
static void construct (SoupAuth *auth, const char *header);
diff --git a/libsoup/soup-auth.c b/libsoup/soup-auth.c
index 1f308b0c..245c4a64 100644
--- a/libsoup/soup-auth.c
+++ b/libsoup/soup-auth.c
@@ -14,7 +14,6 @@
#include "soup-auth.h"
#include "soup-auth-basic.h"
#include "soup-auth-digest.h"
-#include "soup-private.h"
#define PARENT_TYPE G_TYPE_OBJECT
static GObjectClass *parent_class;
diff --git a/libsoup/soup-connection-ntlm.c b/libsoup/soup-connection-ntlm.c
index e62b4e07..6724343e 100644
--- a/libsoup/soup-connection-ntlm.c
+++ b/libsoup/soup-connection-ntlm.c
@@ -13,7 +13,8 @@
#include <string.h>
#include "soup-connection-ntlm.h"
-#include "soup-private.h"
+#include "soup-message.h"
+#include "soup-misc.h"
#include "soup-uri.h"
void send_request (SoupConnection *conn, SoupMessage *req);
diff --git a/libsoup/soup-connection.c b/libsoup/soup-connection.c
index 074fd7ae..f6c2acb0 100644
--- a/libsoup/soup-connection.c
+++ b/libsoup/soup-connection.c
@@ -22,11 +22,12 @@
#include <netinet/in.h>
#include "soup-connection.h"
-#include "soup-private.h"
#include "soup-marshal.h"
+#include "soup-message.h"
#include "soup-misc.h"
#include "soup-socket.h"
#include "soup-ssl.h"
+#include "soup-uri.h"
struct SoupConnectionPrivate {
SoupSocket *socket;
diff --git a/libsoup/soup-dns.c b/libsoup/soup-dns.c
index 1c24548d..710b9de8 100644
--- a/libsoup/soup-dns.c
+++ b/libsoup/soup-dns.c
@@ -23,7 +23,7 @@
#include <netinet/in.h>
#include "soup-dns.h"
-#include "soup-private.h"
+#include "soup-misc.h"
#ifndef socklen_t
# define socklen_t int
diff --git a/libsoup/soup-gnutls.c b/libsoup/soup-gnutls.c
index c0377780..3f751ef5 100644
--- a/libsoup/soup-gnutls.c
+++ b/libsoup/soup-gnutls.c
@@ -21,7 +21,8 @@
#include <gnutls/gnutls.h>
-#include "soup-gnutls.h"
+#include "soup-misc.h"
+#include "soup-ssl.h"
#define DH_BITS 1024
@@ -374,9 +375,6 @@ get_credentials (SoupSSLType type)
"(%s).", soup_get_ssl_ca_file ());
goto THROW_CREATE_ERROR;
}
-
- if (soup_get_ssl_ca_dir ())
- g_warning ("CA directory not supported.");
} else {
const char *cert_file, *key_file;
@@ -423,7 +421,7 @@ get_credentials (SoupSSLType type)
}
GIOChannel *
-soup_gnutls_get_iochannel (GIOChannel *sock, SoupSSLType type)
+soup_ssl_get_iochannel (GIOChannel *sock, SoupSSLType type)
{
static gboolean initialized = FALSE;
SoupGNUTLSChannel *chan = NULL;
@@ -522,17 +520,4 @@ soup_gnutls_get_iochannel (GIOChannel *sock, SoupSSLType type)
return NULL;
}
-void
-soup_gnutls_set_security_policy (SoupSecurityPolicy policy)
-{
- switch (policy) {
- case SOUP_SECURITY_DOMESTIC:
- break;
- case SOUP_SECURITY_EXPORT:
- break;
- case SOUP_SECURITY_FRANCE:
- break;
- }
-}
-
#endif /* HAVE_GNUTLS_GNUTLS_H */
diff --git a/libsoup/soup-gnutls.h b/libsoup/soup-gnutls.h
deleted file mode 100644
index 8fbef148..00000000
--- a/libsoup/soup-gnutls.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * soup-gnutls.h
- *
- * Authors:
- * Ian Peters <itp@ximian.com>
- *
- * Copyright (C) 2003, Ximian, Inc.
- */
-
-#ifndef SOUP_GNUTLS_H
-#define SOUP_GNUTLS_H
-
-#include <glib.h>
-#include <libsoup/soup-ssl.h>
-#include <libsoup/soup-misc.h>
-
-GIOChannel *soup_gnutls_get_iochannel (GIOChannel *sock,
- SoupSSLType type);
-
-void soup_gnutls_set_security_policy (SoupSecurityPolicy policy);
-
-#endif /* SOUP_GNUTLS_H */
diff --git a/libsoup/soup-headers.c b/libsoup/soup-headers.c
index 89a71d71..ee03aa93 100644
--- a/libsoup/soup-headers.c
+++ b/libsoup/soup-headers.c
@@ -10,7 +10,7 @@
#include <ctype.h>
#include "soup-headers.h"
-#include "soup-private.h"
+#include "soup-misc.h"
/*
* "HTTP/1.1 200 OK\r\nContent-Length: 1234\r\n 567\r\n\r\n"
diff --git a/libsoup/soup-message-client-io.c b/libsoup/soup-message-client-io.c
index 39cc7285..ca5fdd72 100644
--- a/libsoup/soup-message-client-io.c
+++ b/libsoup/soup-message-client-io.c
@@ -15,8 +15,7 @@
#include "soup-message-private.h"
#include "soup-auth.h"
#include "soup-headers.h"
-#include "soup-misc.h"
-#include "soup-private.h"
+#include "soup-uri.h"
static guint
parse_response_headers (SoupMessage *req,
diff --git a/libsoup/soup-message-handlers.c b/libsoup/soup-message-handlers.c
index 23b35582..b7840280 100644
--- a/libsoup/soup-message-handlers.c
+++ b/libsoup/soup-message-handlers.c
@@ -11,8 +11,6 @@
#include "soup-message.h"
#include "soup-message-private.h"
-#include "soup-misc.h"
-#include "soup-private.h"
typedef enum {
SOUP_HANDLER_HEADER = 1,
diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c
index 95766ca1..770c3c22 100644
--- a/libsoup/soup-message-io.c
+++ b/libsoup/soup-message-io.c
@@ -14,8 +14,6 @@
#include "soup-message.h"
#include "soup-message-private.h"
-#include "soup-misc.h"
-#include "soup-private.h"
#include "soup-socket.h"
typedef enum {
@@ -68,6 +66,8 @@ typedef struct {
#define SOUP_MESSAGE_IO_RETURN_IF_CANCELLED_OR_PAUSED cancelled = (msg->priv->io_data != io); g_object_unref (msg); if (cancelled || !io->read_tag || !io->write_tag) return; }
#define SOUP_MESSAGE_IO_RETURN_VAL_IF_CANCELLED_OR_PAUSED(val) cancelled = (msg->priv->io_data != io); g_object_unref (msg); if (cancelled || !io->read_tag || !io->write_tag) return val; }
+#define RESPONSE_BLOCK_SIZE 8192
+
void
soup_message_io_cancel (SoupMessage *msg)
{
diff --git a/libsoup/soup-message-server-io.c b/libsoup/soup-message-server-io.c
index 64ffd7dc..8a114426 100644
--- a/libsoup/soup-message-server-io.c
+++ b/libsoup/soup-message-server-io.c
@@ -16,8 +16,6 @@
#include "soup-address.h"
#include "soup-auth.h"
#include "soup-headers.h"
-#include "soup-misc.h"
-#include "soup-private.h"
#include "soup-server-message.h"
#include "soup-server.h"
#include "soup-socket.h"
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index 5db903db..ced536f9 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -12,7 +12,7 @@
#include "soup-message.h"
#include "soup-message-private.h"
#include "soup-misc.h"
-#include "soup-private.h"
+#include "soup-uri.h"
#define PARENT_TYPE G_TYPE_OBJECT
static GObjectClass *parent_class;
diff --git a/libsoup/soup-method.c b/libsoup/soup-method.c
index 06fe3864..74af5f04 100644
--- a/libsoup/soup-method.c
+++ b/libsoup/soup-method.c
@@ -2,9 +2,6 @@
/*
* soup-method.c: HTTP Method related processing.
*
- * Authors:
- * Alex Graveley (alex@ximian.com)
- *
* Copyright (C) 2001-2002, Ximian, Inc.
*/
diff --git a/libsoup/soup-method.h b/libsoup/soup-method.h
index 93a9c8d3..0d0eff20 100644
--- a/libsoup/soup-method.h
+++ b/libsoup/soup-method.h
@@ -1,10 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
- * soup-method.h: HTTP Method defines and related processing.
- *
- * Authors:
- * Alex Graveley (alex@ximian.com)
- *
* Copyright (C) 2001-2002, Ximian, Inc.
*/
diff --git a/libsoup/soup-misc.c b/libsoup/soup-misc.c
index b5e81fbc..63b77f6c 100644
--- a/libsoup/soup-misc.c
+++ b/libsoup/soup-misc.c
@@ -1,47 +1,14 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
- * soup-misc.c: Miscellaneous settings and configuration file handling.
+ * soup-misc.c: Miscellaneous functions
* Copyright (C) 2000-2003, Ximian, Inc.
*/
#include <ctype.h>
#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
#include "soup-misc.h"
-#include "soup-private.h"
-
-gboolean soup_initialized = FALSE;
-
-static SoupSecurityPolicy ssl_security_level = SOUP_SECURITY_DOMESTIC;
-
-/**
- * soup_set_security_policy:
- * @policy: the %SoupSecurityPolicy to use.
- *
- * Set the security policy for all secure SSL connections. The security policy
- * dictates which algorithms and encryption levels can be used in order to
- * conform to your country's security legislation.
- */
-void
-soup_set_security_policy (SoupSecurityPolicy policy)
-{
- ssl_security_level = policy;
-}
-
-/**
- * soup_get_security_policy:
- *
- * Return value: The security policy to use for secure SSL connections.
- */
-SoupSecurityPolicy
-soup_get_security_policy (void)
-{
- return ssl_security_level;
-}
-
guint
soup_str_case_hash (gconstpointer key)
@@ -60,8 +27,8 @@ gboolean
soup_str_case_equal (gconstpointer v1,
gconstpointer v2)
{
- const gchar *string1 = v1;
- const gchar *string2 = v2;
+ const char *string1 = v1;
+ const char *string2 = v2;
return g_strcasecmp (string1, string2) == 0;
}
@@ -229,8 +196,8 @@ soup_base64_encode_step (const guchar *in,
*
* Return value: The Base-64 encoded string representing @text.
*/
-gchar *
-soup_base64_encode (const gchar *text, gint inlen)
+char *
+soup_base64_encode (const char *text, int inlen)
{
unsigned char *out;
int state = 0, outlen;
@@ -330,12 +297,12 @@ soup_base64_decode_step (const guchar *in,
return outptr - out;
}
-gchar *
-soup_base64_decode (const gchar *text,
- gint *out_len)
+char *
+soup_base64_decode (const char *text,
+ int *out_len)
{
- gchar *ret;
- gint inlen, state = 0, save = 0;
+ char *ret;
+ int inlen, state = 0, save = 0;
inlen = strlen (text);
ret = g_malloc0 (inlen);
@@ -345,238 +312,7 @@ soup_base64_decode (const gchar *text,
return ret;
}
-#define ALLOW_UNLESS_DENIED TRUE
-#define DENY_UNLESS_ALLOWED FALSE
-
-static gboolean allow_policy = ALLOW_UNLESS_DENIED;
-static GSList *allow_tokens = NULL;
-static GSList *deny_tokens = NULL;
-
-static void
-soup_config_security_policy (gchar *key, gchar *value)
-{
- switch (toupper (value [0])) {
- case 'D':
- if (!g_strcasecmp (&value [1], "OMESTIC"))
- soup_set_security_policy (SOUP_SECURITY_DOMESTIC);
- break;
- case 'E':
- if (!g_strcasecmp (&value [1], "XPORT"))
- soup_set_security_policy (SOUP_SECURITY_EXPORT);
- break;
- case 'F':
- if (!g_strcasecmp (&value [1], "RANCE"))
- soup_set_security_policy (SOUP_SECURITY_FRANCE);
- break;
- }
-}
-
-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 {
- gchar *key;
- SoupConfigFunc func;
-} soup_config_funcs [] = {
- { "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 }
-};
-
-static void
-soup_config_reset_allow_deny (void)
-{
- GSList *iter;
-
- for (iter = allow_tokens; iter; iter = iter->next) g_free (iter->data);
- for (iter = deny_tokens; iter; iter = iter->next) g_free (iter->data);
-
- g_slist_free (allow_tokens);
- g_slist_free (deny_tokens);
-
- allow_tokens = deny_tokens = NULL;
-}
-
-static gboolean
-soup_config_allow_deny (gchar *key)
-{
- GSList **list;
- gchar **iter, **split;
-
- key = g_strchomp (key);
-
- if (!g_strncasecmp (key, "allow", 5)) list = &allow_tokens;
- else if (!g_strncasecmp (key, "deny", 4)) list = &deny_tokens;
- else return FALSE;
-
- iter = split = g_strsplit (key, " ", 0);
- if (!split || !split [1]) return TRUE;
-
- while (*(++iter)) {
- if (!g_strcasecmp (iter [0], "all")) {
- GSList *iter;
- allow_policy = (*list == allow_tokens);
- for (iter = *list; iter; iter = iter->next)
- g_free (iter->data);
- g_slist_free (*list);
- *list = NULL;
- *list = g_slist_prepend (*list, NULL);
- break;
- }
-
- *list = g_slist_prepend (*list, g_strdup (iter [0]));
- }
-
- g_strfreev (split);
- return TRUE;
-}
-
-static gboolean
-soup_config_token_allowed (gchar *key)
-{
- gboolean allow;
- GSList *list;
-
- list = (allow_policy == ALLOW_UNLESS_DENIED) ? deny_tokens:allow_tokens;
- allow = (allow_policy == ALLOW_UNLESS_DENIED) ? TRUE : FALSE;
-
- if (!list) return allow;
-
- for (; list; list = list->next)
- if (!list->data ||
- !g_strncasecmp (key,
- (gchar *) list->data,
- strlen ((gchar *) list->data)))
- return !allow;
-
- return allow;
-}
-
-static void
-soup_load_config_internal (gchar *config_file, gboolean admin)
-{
- struct SoupConfigFuncs *funcs;
- FILE *cfg;
- char buf[128];
-
- cfg = fopen (config_file, "r");
- if (!cfg) return;
-
- if (admin) soup_config_reset_allow_deny();
-
- while (fgets (buf, sizeof (buf), cfg)) {
- char *key, *value, *iter, *iter2, **split;
-
- iter = g_strstrip (buf);
- if (!*iter || *iter == '#') continue;
-
- iter2 = strchr (iter, '#');
- if (iter2) *iter2 = '\0';
-
- if (admin && soup_config_allow_deny (iter)) continue;
-
- if (!admin && !soup_config_token_allowed (iter)) {
- g_warning ("Configuration item \"%s\" in file \"%s\" "
- "disallowed by system configuration.\n",
- iter,
- config_file);
- continue;
- }
-
- split = g_strsplit (g_strchomp (iter), "=", 2);
-
- if (!split) continue;
- if (!split[1] || split[2]) {
- g_strfreev (split);
- continue;
- }
-
- key = g_strchomp (split[0]);
- value = g_strchug (split[1]);
-
- for (funcs = soup_config_funcs; funcs && funcs->key; funcs++)
- if (!g_strcasecmp (key, funcs->key)) {
- funcs->func (key, value);
- break;
- }
-
- g_strfreev (split);
- }
-}
-
-/**
- * soup_load_config:
- * @config_file: The file to load configuration from. If NULL, load from .souprc
- * in user's home directory.
- *
- * Load the Soup configuration from file. First attempt to load the system
- * configuration from SYSCONFDIR/souprc, then from either the config file name
- * passed in config_file, or from .souprc in the user's home directory.
- *
- * The first time a message is sent using Soup, the configuration is loaded from
- * the system souprc file, and the user's souprc file.
- *
- * soup_load_config can be called multiple times. Each time settings will be
- * reset and reread from scratch.
- */
-void
-soup_load_config (gchar *config_file)
-{
- /* Reset values */
- if (soup_initialized) {
- soup_set_security_policy (SOUP_SECURITY_DOMESTIC);
- }
-
-#ifdef SYSCONFDIR
- /* Load system global config */
- soup_load_config_internal (SYSCONFDIR G_DIR_SEPARATOR_S "souprc",
- TRUE);
-#endif
-
- /* Load requested file or user local config */
- if (!config_file) {
- gchar *dfile = g_strconcat (g_get_home_dir(),
- G_DIR_SEPARATOR_S ".souprc",
- NULL);
- soup_load_config_internal (dfile, FALSE);
- g_free (dfile);
- } else
- soup_load_config_internal (config_file, FALSE);
-
- soup_initialized = TRUE;
-}
-
static char *ssl_ca_file = NULL;
-static char *ssl_ca_dir = NULL;
static char *ssl_cert_file = NULL;
static char *ssl_key_file = NULL;
@@ -588,7 +324,7 @@ static char *ssl_key_file = NULL;
* peers.
*/
void
-soup_set_ssl_ca_file (const gchar *ca_file)
+soup_set_ssl_ca_file (const char *ca_file)
{
g_free (ssl_ca_file);
@@ -596,21 +332,6 @@ soup_set_ssl_ca_file (const gchar *ca_file)
}
/**
- * soup_set_ca_dir
- * @ca_dir: the directory containing CA certificate files
- *
- * Specify a directory containing CA certificates to be used to verify
- * peers.
- */
-void
-soup_set_ssl_ca_dir (const gchar *ca_dir)
-{
- g_free (ssl_ca_dir);
-
- ssl_ca_dir = g_strdup (ca_dir);
-}
-
-/**
* soup_set_ssl_cert_files
* @cert_file: the file containing the SSL client certificate
* @key_file: the file containing the SSL private key
@@ -619,7 +340,7 @@ soup_set_ssl_ca_dir (const gchar *ca_dir)
* authentication with the HTTP server
*/
void
-soup_set_ssl_cert_files (const gchar *cert_file, const gchar *key_file)
+soup_set_ssl_cert_files (const char *cert_file, const char *key_file)
{
g_free (ssl_cert_file);
g_free (ssl_key_file);
@@ -641,18 +362,6 @@ soup_get_ssl_ca_file (void)
}
/**
- * soup_get_ca_dir
- *
- * Return value: A directory containing CA certificates to be used to verify
- * peers.
- */
-const char *
-soup_get_ssl_ca_dir (void)
-{
- return ssl_ca_dir;
-}
-
-/**
* soup_get_ssl_cert_files
* @cert_file: the file containing the SSL client certificate
* @key_file: the file containing the SSL private key
@@ -661,7 +370,7 @@ soup_get_ssl_ca_dir (void)
* authentication with the HTTP server
*/
void
-soup_get_ssl_cert_files (const gchar **cert_file, const gchar **key_file)
+soup_get_ssl_cert_files (const char **cert_file, const char **key_file)
{
if (cert_file)
*cert_file = ssl_cert_file;
diff --git a/libsoup/soup-misc.h b/libsoup/soup-misc.h
index e67d409f..5855ddd5 100644
--- a/libsoup/soup-misc.h
+++ b/libsoup/soup-misc.h
@@ -6,77 +6,56 @@
#ifndef SOUP_MISC_H
#define SOUP_MISC_H 1
-#include <glib.h>
-#include <libsoup/soup-message.h>
-#include <libsoup/soup-uri.h>
-
-/* Configuration routines */
-
-void soup_load_config (gchar *config_file);
-
-typedef enum {
- SOUP_SECURITY_DOMESTIC = 1,
- SOUP_SECURITY_EXPORT = 2,
- SOUP_SECURITY_FRANCE = 3
-} SoupSecurityPolicy;
-
-void soup_set_security_policy (SoupSecurityPolicy policy);
-
-SoupSecurityPolicy soup_get_security_policy (void);
+#include <glib-object.h>
/* SSL setup routines */
-void soup_set_ssl_ca_file (const gchar *ca_file);
-
-void soup_set_ssl_ca_dir (const gchar *ca_dir);
+void soup_set_ssl_ca_file (const char *ca_file);
-void soup_set_ssl_cert_files (const gchar *cert_file,
- const gchar *key_file);
+void soup_set_ssl_cert_files (const char *cert_file,
+ const char *key_file);
const char *soup_get_ssl_ca_file (void);
-const char *soup_get_ssl_ca_dir (void);
-void soup_get_ssl_cert_files (const gchar **cert_file,
- const gchar **key_file);
+void soup_get_ssl_cert_files (const char **cert_file,
+ const char **key_file);
/* Base64 encoding/decoding */
-gchar *soup_base64_encode (const gchar *text,
- gint len);
+char *soup_base64_encode (const char *text,
+ int len);
-int soup_base64_encode_close (const guchar *in,
- int inlen,
- gboolean break_lines,
- guchar *out,
- int *state,
- int *save);
+int soup_base64_encode_close (const guchar *in,
+ int inlen,
+ gboolean break_lines,
+ guchar *out,
+ int *state,
+ int *save);
-int soup_base64_encode_step (const guchar *in,
- int len,
- gboolean break_lines,
- guchar *out,
- int *state,
- int *save);
+int soup_base64_encode_step (const guchar *in,
+ int len,
+ gboolean break_lines,
+ guchar *out,
+ int *state,
+ int *save);
-gchar *soup_base64_decode (const gchar *text,
- gint *out_len);
+char *soup_base64_decode (const gchar *text,
+ int *out_len);
-int soup_base64_decode_step (const guchar *in,
- int len,
- guchar *out,
- int *state,
- guint *save);
+int soup_base64_decode_step (const guchar *in,
+ int len,
+ guchar *out,
+ int *state,
+ guint *save);
/* Misc utils */
-guint soup_signal_connect_once (gpointer instance,
- const char * signal,
- GCallback c_handler,
- gpointer data);
-
-/* Useful debugging routines */
-
-void soup_debug_print_headers (SoupMessage *req);
+guint soup_signal_connect_once (gpointer instance,
+ const char *signal,
+ GCallback c_handler,
+ gpointer data);
-void soup_debug_print_uri (SoupUri *uri);
+guint soup_str_case_hash (gconstpointer key);
+gboolean soup_str_case_equal (gconstpointer v1,
+ gconstpointer v2);
#endif /* SOUP_MISC_H */
diff --git a/libsoup/soup-private.h b/libsoup/soup-private.h
deleted file mode 100644
index 32ce8da4..00000000
--- a/libsoup/soup-private.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2000-2003, Ximian, Inc.
- */
-
-#ifndef SOUP_PRIVATE_H
-#define SOUP_PRIVATE_H 1
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <libsoup/soup-types.h>
-#include <libsoup/soup-auth.h>
-#include <libsoup/soup-misc.h>
-
-#define RESPONSE_BLOCK_SIZE 8192
-
-extern gboolean soup_initialized;
-
-#ifdef HAVE_IPV6
-#define soup_sockaddr_max sockaddr_in6
-#else
-#define soup_sockaddr_max sockaddr_in
-#endif
-
-/* from soup-misc.c */
-
-guint soup_str_case_hash (gconstpointer key);
-gboolean soup_str_case_equal (gconstpointer v1,
- gconstpointer v2);
-
-#define SOUP_MAKE_TYPE(l,t,ci,i,parent) \
-GType l##_get_type(void)\
-{\
- static GType type = 0; \
- if (!type){ \
- static GTypeInfo const object_info = { \
- sizeof (t##Class), \
- \
- (GBaseInitFunc) NULL, \
- (GBaseFinalizeFunc) NULL, \
- \
- (GClassInitFunc) ci, \
- (GClassFinalizeFunc) NULL, \
- NULL, /* class_data */ \
- \
- sizeof (t), \
- 0, /* n_preallocs */ \
- (GInstanceInitFunc) i, \
- }; \
- type = g_type_register_static (parent, #t, &object_info, 0); \
- } \
- return type; \
-}
-
-#endif /*SOUP_PRIVATE_H*/
diff --git a/libsoup/soup-server-message.c b/libsoup/soup-server-message.c
index f55e6802..24bb9590 100644
--- a/libsoup/soup-server-message.c
+++ b/libsoup/soup-server-message.c
@@ -15,7 +15,6 @@
#include <unistd.h>
#include "soup-server-message.h"
-#include "soup-private.h"
#include "soup-server.h"
struct SoupServerMessagePrivate {
diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c
index 3ce34d6d..b3b4475d 100644
--- a/libsoup/soup-server.c
+++ b/libsoup/soup-server.c
@@ -21,7 +21,6 @@
#include "soup-server.h"
#include "soup-address.h"
#include "soup-headers.h"
-#include "soup-private.h"
#include "soup-server-auth.h"
#include "soup-server-message.h"
#include "soup-socket.h"
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 88c9d583..2e0e9789 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -13,12 +13,13 @@
#include <string.h>
#include <stdlib.h>
+#include "soup-auth.h"
#include "soup-session.h"
#include "soup-connection.h"
#include "soup-connection-ntlm.h"
#include "soup-marshal.h"
#include "soup-message-queue.h"
-#include "soup-private.h"
+#include "soup-uri.h"
typedef struct {
SoupUri *root_uri;
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index c93a93fe..8939ff22 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -16,9 +16,9 @@
#include <unistd.h>
#include "soup-address.h"
-#include "soup-private.h"
#include "soup-socket.h"
#include "soup-marshal.h"
+#include "soup-misc.h"
#include "soup-ssl.h"
#include <sys/types.h>
@@ -58,6 +58,12 @@ struct SoupSocketPrivate {
#define SOUP_SOCKET_CLEAR_FLAG(sock, flag) (sock)->priv->flags &= ~(flag)
#define SOUP_SOCKET_CHECK_FLAG(sock, flag) ((sock)->priv->flags & (flag))
+#ifdef HAVE_IPV6
+#define soup_sockaddr_max sockaddr_in6
+#else
+#define soup_sockaddr_max sockaddr_in
+#endif
+
static void
init (GObject *object)
{
@@ -481,10 +487,10 @@ soup_socket_start_ssl (SoupSocket *sock)
GIOChannel *chan;
chan = get_iochannel (sock);
- sock->priv->iochannel =
+ sock->priv->iochannel = soup_ssl_get_iochannel (
+ sock->priv->iochannel,
SOUP_SOCKET_CHECK_FLAG (sock, SOUP_SOCKET_FLAG_SERVER) ?
- soup_ssl_get_server_iochannel (chan) :
- soup_ssl_get_iochannel (chan);
+ SOUP_SSL_TYPE_SERVER : SOUP_SSL_TYPE_CLIENT);
SOUP_SOCKET_SET_FLAG (sock, SOUP_SOCKET_FLAG_SSL);
}
diff --git a/libsoup/soup-ssl.c b/libsoup/soup-ssl.c
deleted file mode 100644
index 27c11e58..00000000
--- a/libsoup/soup-ssl.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * soup-queue.c: Asyncronous Callback-based HTTP Request Queue.
- *
- * Authors:
- * Alex Graveley (alex@ximian.com)
- *
- * Copyright (C) 2001-2002, Ximian, Inc.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "soup-gnutls.h"
-#include "soup-ssl.h"
-
-#ifdef HAVE_SSL
-GIOChannel *
-soup_ssl_get_iochannel (GIOChannel *sock)
-{
- return soup_gnutls_get_iochannel (sock, SOUP_SSL_TYPE_CLIENT);
-}
-
-GIOChannel *
-soup_ssl_get_server_iochannel (GIOChannel *sock)
-{
- return soup_gnutls_get_iochannel (sock, SOUP_SSL_TYPE_SERVER);
-}
-#endif /* HAVE_SSL */
diff --git a/libsoup/soup-ssl.h b/libsoup/soup-ssl.h
index 8feecc61..3480d35d 100644
--- a/libsoup/soup-ssl.h
+++ b/libsoup/soup-ssl.h
@@ -1,11 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
- * soup-queue.c: Asyncronous Callback-based HTTP Request Queue.
- *
- * Authors:
- * Alex Graveley (alex@ximian.com)
- *
- * Copyright (C) 2000-2002, Ximian, Inc.
+ * Copyright (C) 2000-2003, Ximian, Inc.
*/
#ifndef SOUP_SSL_H
@@ -18,7 +13,6 @@ typedef enum {
SOUP_SSL_TYPE_SERVER
} SoupSSLType;
-GIOChannel *soup_ssl_get_iochannel (GIOChannel *sock);
-GIOChannel *soup_ssl_get_server_iochannel (GIOChannel *sock);
+GIOChannel *soup_ssl_get_iochannel (GIOChannel *sock, SoupSSLType type);
#endif /* SOUP_SSL_H */
diff --git a/libsoup/soup-types.h b/libsoup/soup-types.h
index 6ae8801a..17842be7 100644
--- a/libsoup/soup-types.h
+++ b/libsoup/soup-types.h
@@ -22,4 +22,28 @@ typedef struct SoupSession SoupSession;
typedef struct SoupSocket SoupSocket;
typedef struct SoupUri SoupUri;
+#define SOUP_MAKE_TYPE(l,t,ci,i,parent) \
+GType l##_get_type(void)\
+{\
+ static GType type = 0; \
+ if (!type){ \
+ static GTypeInfo const object_info = { \
+ sizeof (t##Class), \
+ \
+ (GBaseInitFunc) NULL, \
+ (GBaseFinalizeFunc) NULL, \
+ \
+ (GClassInitFunc) ci, \
+ (GClassFinalizeFunc) NULL, \
+ NULL, /* class_data */ \
+ \
+ sizeof (t), \
+ 0, /* n_preallocs */ \
+ (GInstanceInitFunc) i, \
+ }; \
+ type = g_type_register_static (parent, #t, &object_info, 0); \
+ } \
+ return type; \
+}
+
#endif
diff --git a/tests/auth-test.c b/tests/auth-test.c
index 9271b38a..151a2818 100644
--- a/tests/auth-test.c
+++ b/tests/auth-test.c
@@ -4,7 +4,6 @@
#include "libsoup/soup.h"
#include "libsoup/soup-auth.h"
-#include "libsoup/soup-private.h"
#include "libsoup/soup-session.h"
int errors = 0;