evolution-data-server r9789 - in trunk: . libedataserver



Author: mcrha
Date: Tue Dec  2 12:27:30 2008
New Revision: 9789
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9789&view=rev

Log:
2008-12-02  Milan Crha  <mcrha redhat com>

	** Fix for bug #503662

	* libedataserver/e-url.c: (e_uri_new):
	Use last '@' in the address part to be the delimiter between
	user name and server address, not the first one.



Modified:
   trunk/ChangeLog
   trunk/libedataserver/e-url.c

Modified: trunk/libedataserver/e-url.c
==============================================================================
--- trunk/libedataserver/e-url.c	(original)
+++ trunk/libedataserver/e-url.c	Tue Dec  2 12:27:30 2008
@@ -180,6 +180,16 @@
 		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);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]