Allow '@' in username in CalDav.

See http://bugzilla.gnome.org/show_bug.cgi?id=503662

Issue reported by Stephan A. Rickauer
This commit is contained in:
ajacoutot 2009-08-20 07:51:46 +00:00
parent 7509902424
commit 36794252e1
4 changed files with 49 additions and 4 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.48 2009/08/18 13:29:40 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.49 2009/08/20 07:51:46 ajacoutot Exp $
SHARED_ONLY= Yes
@ -6,7 +6,7 @@ COMMENT= data backends for the Evolution mail/PIM suite
GNOME_PROJECT= evolution-data-server
GNOME_VERSION= 2.24.5
PKGNAME= ${DISTNAME}p3
PKGNAME= ${DISTNAME}p4
CATEGORIES= databases

View File

@ -0,0 +1,24 @@
$OpenBSD: patch-libedataserver_e-url_c,v 1.1 2009/08/20 07:51:46 ajacoutot Exp $
Allow '@' in username in CalDav.
See http://bugzilla.gnome.org/show_bug.cgi?id=503662
--- libedataserver/e-url.c.orig Mon Sep 22 12:54:02 2008
+++ libedataserver/e-url.c Thu Aug 20 09:46:31 2009
@@ -180,6 +180,16 @@ e_uri_new (const char *uri_string)
slash = uri_string + strcspn (uri_string, "/#");
at = strchr (uri_string, '@');
if (at && at < slash) {
+ const char *at2;
+ /* this is for cases where username contains '@' at it, like:
+ http://user@domain.com@server.addr.com/path
+ We skip all at-s before the slash here. */
+
+ while (at2 = strchr (at + 1, '@'), at2 && at2 < slash) {
+ at = at2;
+ }
+ }
+ if (at && at < slash) {
colon = strchr (uri_string, ':');
if (colon && colon < at) {
uri->passwd = g_strndup (colon + 1, at - colon - 1);

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.83 2009/08/10 06:32:42 kili Exp $
# $OpenBSD: Makefile,v 1.84 2009/08/20 07:52:01 ajacoutot Exp $
COMMENT-main= integrated email and PIM software for GNOME
COMMENT-plugins= additionnal plugins for evolution
@ -8,7 +8,7 @@ COMMENT-plugins= additionnal plugins for evolution
GNOME_PROJECT= evolution
GNOME_VERSION= 2.24.5
PKGNAME-main= ${DISTNAME}p17
PKGNAME-main= ${DISTNAME}p18
PKGNAME-plugins= evolution-plugins-${GNOME_VERSION}p11
CATEGORIES= mail

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-plugins_caldav_caldav-source_c,v 1.1 2009/08/20 07:52:01 ajacoutot Exp $
Allow '@' in username in CalDav.
See http://bugzilla.gnome.org/show_bug.cgi?id=503662
--- plugins/caldav/caldav-source.c.orig Mon Sep 22 12:56:08 2008
+++ plugins/caldav/caldav-source.c Thu Aug 20 09:43:10 2009
@@ -175,11 +175,12 @@ user_changed (GtkEntry *editable, ESource *source)
euri = e_uri_new (uri);
g_free (euri->user);
- if (user != NULL) {
+ if (user != NULL && *user) {
euri->user = g_strdup (user);
e_source_set_property (source, "auth", "1");
} else {
e_source_set_property (source, "auth", NULL);
+ euri->user = NULL;
}
e_source_set_property (source, "username", euri->user);