summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2008-11-23 21:56:56 +0000
committerDan Winship <danw@src.gnome.org>2008-11-23 21:56:56 +0000
commita11fa734a346007ec106f9cac2aeb30e377beb29 (patch)
tree1091d2a5a7a09fa74bcdefd51851e04b9d3b7fe5
parent96cab3f15d47fb19e2a192526ccfb5a5d6b42c33 (diff)
downloadlibsoup-a11fa734a346007ec106f9cac2aeb30e377beb29.tar.gz
pull-ups from trunk
svn path=/branches/gnome-2-24/; revision=1206
-rw-r--r--ChangeLog27
-rw-r--r--docs/reference/Makefile.am2
-rw-r--r--libsoup/soup-auth-domain-basic.h4
-rw-r--r--libsoup/soup-auth-domain-digest.h4
-rw-r--r--libsoup/soup-auth-domain.h4
-rw-r--r--libsoup/soup-cookie-jar.h4
-rw-r--r--libsoup/soup-cookie.c7
-rw-r--r--libsoup/soup-date.c22
-rw-r--r--libsoup/soup-logger.h4
9 files changed, 74 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b177e58e..74f2efd0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2008-11-04 Dan Winship <danw@gnome.org>
+
+ * docs/reference/Makefile.am (SCAN_OPTIONS): set
+ --deprecated-guards correctly
+
+2008-11-04 Dan Winship <danw@gnome.org>
+
+ * libsoup/soup-cookie.c (domain_matches): fix a bug here that
+ meant "foo.com" couldn't set a cookie for domain=.foo.com
+ (soup_cookie_applies_to_uri): fix path checking
+
+2008-10-27 Dan Winship <danw@gnome.org>
+
+ * libsoup/soup-cookie.c (soup_cookie_free): free the expires date,
+ if set
+
+ * libsoup/soup-auth-domain-basic.h:
+ * libsoup/soup-auth-domain-digest.h:
+ * libsoup/soup-auth-domain.h:
+ * libsoup/soup-cookie-jar.h:
+ * libsoup/soup-logger.h:
+ * libsoup/soup-multipart.h: add G_BEGIN/END_DECLS
+
+ * libsoup/soup-date.c: add some g_return_if_fails
+
+ Patches from and inspired by Xan Lopez, #522125
+
2008-10-20 Dan Winship <danw@gnome.org>
* configure.in: 2.24.1
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
index e2c4ce77..1764ab33 100644
--- a/docs/reference/Makefile.am
+++ b/docs/reference/Makefile.am
@@ -13,7 +13,7 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
DOC_SOURCE_DIR=../../libsoup
# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS=
+SCAN_OPTIONS=--deprecated-guards=LIBSOUP_DISABLE_DEPRECATED
# Extra options to supply to gtkdoc-scangobj.
SCANGOBJ_OPTIONS=--type-init-func 'g_type_init(); g_thread_init(NULL)'
diff --git a/libsoup/soup-auth-domain-basic.h b/libsoup/soup-auth-domain-basic.h
index 66ccb292..af80d17e 100644
--- a/libsoup/soup-auth-domain-basic.h
+++ b/libsoup/soup-auth-domain-basic.h
@@ -8,6 +8,8 @@
#include <libsoup/soup-auth-domain.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_AUTH_DOMAIN_BASIC (soup_auth_domain_basic_get_type ())
#define SOUP_AUTH_DOMAIN_BASIC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_AUTH_DOMAIN_BASIC, SoupAuthDomainBasic))
#define SOUP_AUTH_DOMAIN_BASIC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_AUTH_DOMAIN_BASIC, SoupAuthDomainBasicClass))
@@ -49,4 +51,6 @@ void soup_auth_domain_basic_set_auth_callback (SoupAuthDomain *domain,
gpointer user_data,
GDestroyNotify dnotify);
+G_END_DECLS
+
#endif /* SOUP_AUTH_DOMAIN_BASIC_H */
diff --git a/libsoup/soup-auth-domain-digest.h b/libsoup/soup-auth-domain-digest.h
index 0a9a36ec..98e1a3aa 100644
--- a/libsoup/soup-auth-domain-digest.h
+++ b/libsoup/soup-auth-domain-digest.h
@@ -8,6 +8,8 @@
#include <libsoup/soup-auth-domain.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_AUTH_DOMAIN_DIGEST (soup_auth_domain_digest_get_type ())
#define SOUP_AUTH_DOMAIN_DIGEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_AUTH_DOMAIN_DIGEST, SoupAuthDomainDigest))
#define SOUP_AUTH_DOMAIN_DIGEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_AUTH_DOMAIN_DIGEST, SoupAuthDomainDigestClass))
@@ -52,4 +54,6 @@ char *soup_auth_domain_digest_encode_password (const char *username,
const char *realm,
const char *password);
+G_END_DECLS
+
#endif /* SOUP_AUTH_DOMAIN_DIGEST_H */
diff --git a/libsoup/soup-auth-domain.h b/libsoup/soup-auth-domain.h
index c695136e..e3fd3bc1 100644
--- a/libsoup/soup-auth-domain.h
+++ b/libsoup/soup-auth-domain.h
@@ -8,6 +8,8 @@
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_AUTH_DOMAIN (soup_auth_domain_get_type ())
#define SOUP_AUTH_DOMAIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomain))
#define SOUP_AUTH_DOMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomainClass))
@@ -92,4 +94,6 @@ gboolean soup_auth_domain_try_generic_auth_callback (SoupAuthDomain *domain,
SoupMessage *msg,
const char *username);
+G_END_DECLS
+
#endif /* SOUP_AUTH_DOMAIN_H */
diff --git a/libsoup/soup-cookie-jar.h b/libsoup/soup-cookie-jar.h
index 03e99f72..6e8b7d7f 100644
--- a/libsoup/soup-cookie-jar.h
+++ b/libsoup/soup-cookie-jar.h
@@ -8,6 +8,8 @@
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_COOKIE_JAR (soup_cookie_jar_get_type ())
#define SOUP_COOKIE_JAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_COOKIE_JAR, SoupCookieJar))
#define SOUP_COOKIE_JAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_COOKIE_JAR, SoupCookieJarClass))
@@ -45,4 +47,6 @@ void soup_cookie_jar_set_cookie (SoupCookieJar *jar,
SoupURI *uri,
const char *cookie);
+G_END_DECLS
+
#endif /* SOUP_COOKIE_JAR_H */
diff --git a/libsoup/soup-cookie.c b/libsoup/soup-cookie.c
index d095eda5..0aa34efc 100644
--- a/libsoup/soup-cookie.c
+++ b/libsoup/soup-cookie.c
@@ -132,6 +132,8 @@ domain_matches (const char *domain, const char *host)
return TRUE;
if (*domain != '.')
return FALSE;
+ if (!g_ascii_strcasecmp (domain + 1, host))
+ return TRUE;
dlen = strlen (domain);
while ((match = strstr (host, domain))) {
if (!match[dlen])
@@ -675,6 +677,9 @@ soup_cookie_free (SoupCookie *cookie)
g_free (cookie->domain);
g_free (cookie->path);
+ if (cookie->expires)
+ soup_date_free (cookie->expires);
+
g_slice_free (SoupCookie, cookie);
}
@@ -880,5 +885,5 @@ soup_cookie_applies_to_uri (SoupCookie *cookie, SoupURI *uri)
if (uri->path[plen] && uri->path[plen] != '/')
return FALSE;
- return TRUE;
+ return !strncmp (cookie->path, uri->path, plen);
}
diff --git a/libsoup/soup-date.c b/libsoup/soup-date.c
index 8d690eb4..88a67615 100644
--- a/libsoup/soup-date.c
+++ b/libsoup/soup-date.c
@@ -410,9 +410,13 @@ parse_textual_date (SoupDate *date, const char *date_string)
SoupDate *
soup_date_new_from_string (const char *date_string)
{
- SoupDate *date = g_slice_new (SoupDate);
+ SoupDate *date;
gboolean success;
+ g_return_val_if_fail (date_string != NULL, NULL);
+
+ date = g_slice_new (SoupDate);
+
while (g_ascii_isspace (*date_string))
date_string++;
@@ -489,6 +493,8 @@ soup_date_weekday (SoupDate *date)
char *
soup_date_to_string (SoupDate *date, SoupDateFormat format)
{
+ g_return_val_if_fail (date != NULL, NULL);
+
/* FIXME: offset, 8601 zones, etc */
switch (format) {
@@ -544,6 +550,8 @@ soup_date_to_time_t (SoupDate *date)
time_t tt;
GTimeVal val;
+ g_return_val_if_fail (date != NULL, 0);
+
/* FIXME: offset, etc */
if (date->year < 1970)
@@ -576,6 +584,9 @@ soup_date_to_time_t (SoupDate *date)
void
soup_date_to_timeval (SoupDate *date, GTimeVal *time)
{
+ g_return_if_fail (date != NULL);
+ g_return_if_fail (time != NULL);
+
/* FIXME: offset, etc */
time->tv_sec = rata_die_day (date) - TIME_T_EPOCH_RATA_DIE_DAY;
@@ -594,6 +605,8 @@ soup_date_to_timeval (SoupDate *date, GTimeVal *time)
gboolean
soup_date_is_past (SoupDate *date)
{
+ g_return_val_if_fail (date != NULL, TRUE);
+
/* optimization */
if (date->year < 2008)
return TRUE;
@@ -610,8 +623,11 @@ soup_date_is_past (SoupDate *date)
SoupDate *
soup_date_copy (SoupDate *date)
{
- SoupDate *copy = g_slice_new (SoupDate);
+ SoupDate *copy;
+ g_return_val_if_fail (date != NULL, NULL);
+
+ copy = g_slice_new (SoupDate);
memcpy (copy, date, sizeof (SoupDate));
return copy;
}
@@ -625,5 +641,7 @@ soup_date_copy (SoupDate *date)
void
soup_date_free (SoupDate *date)
{
+ g_return_if_fail (date != NULL);
+
g_slice_free (SoupDate, date);
}
diff --git a/libsoup/soup-logger.h b/libsoup/soup-logger.h
index 56eb9a12..c6d3a394 100644
--- a/libsoup/soup-logger.h
+++ b/libsoup/soup-logger.h
@@ -8,6 +8,8 @@
#include <libsoup/soup-types.h>
+G_BEGIN_DECLS
+
#define SOUP_TYPE_LOGGER (soup_logger_get_type ())
#define SOUP_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_LOGGER, SoupLogger))
#define SOUP_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_LOGGER, SoupLoggerClass))
@@ -73,4 +75,6 @@ void soup_logger_set_printer (SoupLogger *logger,
gpointer printer_data,
GDestroyNotify destroy);
+G_END_DECLS
+
#endif /* SOUP_LOGGER_H */