tags 665672 + patch
tags 665672 + pending
tags 667323 + patch
tags 667323 + pending
thanks

Dear maintainer,

I've prepared an NMU for pidgin-sipe (versioned as 1.11.2-1.2) and
uploaded it to DELAYED/5. Please feel free to tell me if I
should delay it longer.

Regards.
diff -Nru pidgin-sipe-1.11.2/debian/changelog pidgin-sipe-1.11.2/debian/changelog
--- pidgin-sipe-1.11.2/debian/changelog	2011-12-23 15:34:16.000000000 +0100
+++ pidgin-sipe-1.11.2/debian/changelog	2012-04-25 11:27:38.000000000 +0200
@@ -1,3 +1,14 @@
+pidgin-sipe (1.11.2-1.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * update-glib-2.32.patch: Update to use glib 2.32. Replace g_strcasecmp and 
+    g_strncasecmp with g_utf8_casefold and g_utf8_collate.
+    (Closes: #665672)
+  * gcc-4.7.patch: Fix -Werror=maybe-uninitialized to build with gcc-4.7.
+    (Closes: #667323)
+
+ -- Mònica Ramírez Arceda <mon...@debian.org>  Thu, 19 Apr 2012 16:46:23 +0200
+
 pidgin-sipe (1.11.2-1.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru pidgin-sipe-1.11.2/debian/patches/gcc-4.7.patch pidgin-sipe-1.11.2/debian/patches/gcc-4.7.patch
--- pidgin-sipe-1.11.2/debian/patches/gcc-4.7.patch	1970-01-01 01:00:00.000000000 +0100
+++ pidgin-sipe-1.11.2/debian/patches/gcc-4.7.patch	2012-04-25 11:24:24.000000000 +0200
@@ -0,0 +1,16 @@
+Description: Fix -Werror=maybe-uninitialized to build with gcc-4.7.
+Bug-Debian: http://bugs.debian.org/667323
+Author: Mònica Ramírez Arceda <mon...@debian.org>
+Last-Update: 2012-04-25
+
+--- a/src/core/sipe-cal.c
++++ b/src/core/sipe-cal.c
+@@ -664,7 +664,7 @@
+ 	const char* free_busy;
+ 	int ret = SIPE_CAL_NO_DATA;
+ 	time_t state_since;
+-	int index;
++	int index = 0;
+ 
+ 	if (!buddy || !buddy->cal_start_time || !buddy->cal_granularity) {
+ 		SIPE_DEBUG_INFO("sipe_cal_get_status: no calendar data1 for %s, exiting",
diff -Nru pidgin-sipe-1.11.2/debian/patches/series pidgin-sipe-1.11.2/debian/patches/series
--- pidgin-sipe-1.11.2/debian/patches/series	2011-12-23 15:21:25.000000000 +0100
+++ pidgin-sipe-1.11.2/debian/patches/series	2012-04-25 11:03:13.000000000 +0200
@@ -1,2 +1,4 @@
 sipe-purple-2.8.0.patch
 fix-werror.patch
+update-glib-2.32.patch
+gcc-4.7.patch
diff -Nru pidgin-sipe-1.11.2/debian/patches/update-glib-2.32.patch pidgin-sipe-1.11.2/debian/patches/update-glib-2.32.patch
--- pidgin-sipe-1.11.2/debian/patches/update-glib-2.32.patch	1970-01-01 01:00:00.000000000 +0100
+++ pidgin-sipe-1.11.2/debian/patches/update-glib-2.32.patch	2012-04-25 11:25:08.000000000 +0200
@@ -0,0 +1,168 @@
+Description: Update to use glib 2.32.  
+ Replace g_strcasecmp and g_strncasecmp with g_utf8_casefold and g_utf8_collate.
+Bug-Debian: http://bugs.debian.org/665672
+Author: Mònica Ramírez Arceda <mon...@debian.org>
+Last-Update: 2012-04-20
+
+--- a/src/core/sipmsg.c
++++ b/src/core/sipmsg.c
+@@ -232,7 +232,8 @@
+ 
+ 		elem = entry->data;
+ 		while (keepers[i]) {
+-			if (!g_strcasecmp(elem->name, keepers[i])) {
++			if (!g_utf8_collate(g_utf8_casefold(elem->name, -1),
++                                            g_utf8_casefold(keepers[i], -1))) {
+ 				keeper = TRUE;
+ 				break;
+ 			}
+@@ -431,7 +432,8 @@
+ 		if (elem && elem->name &&
+ 		    (sipe_strcase_equal(elem->name,"WWW-Authenticate") ||
+ 		     sipe_strcase_equal(elem->name,"Authentication-Info")) ) {
+-			if (!g_strncasecmp((gchar *)elem->value, name, name_len)) {
++			if (!g_utf8_collate(g_utf8_casefold ((gchar *)elem->value, name_len),
++                                            g_utf8_casefold (name, name_len))) {
+ 				/* SIPE_DEBUG_INFO("elem->value: %s", elem->value); */
+ 				return elem->value;
+ 			}
+--- a/src/core/sip-transport.c
++++ b/src/core/sip-transport.c
+@@ -307,12 +307,12 @@
+ 		return;
+ 	}
+ 
+-	if (!g_strncasecmp(hdr, "NTLM", 4)) {
++	if (!g_utf8_collate(g_utf8_casefold(hdr, 4), "NTLM")){
+ 		SIPE_DEBUG_INFO_NOFORMAT("fill_auth: type NTLM");
+ 		auth->type = AUTH_TYPE_NTLM;
+ 		hdr += 5;
+ 		auth->nc = 1;
+-	} else	if (!g_strncasecmp(hdr, "Kerberos", 8)) {
++	} else  if (!g_utf8_collate(g_utf8_casefold(hdr, 8), "Kerberos")) {
+ 		SIPE_DEBUG_INFO_NOFORMAT("fill_auth: type Kerberos");
+ 		auth->type = AUTH_TYPE_KERBEROS;
+ 		hdr += 9;
+@@ -493,7 +493,8 @@
+ 	key = g_strdup_printf("<%s><%s>", call_id, cseq);
+ 	while (transactions) {
+ 		struct transaction *trans = transactions->data;
+-		if (!g_strcasecmp(trans->key, key)) {
++		if (!g_utf8_collate(g_utf8_casefold(trans->key, -1),
++				    g_utf8_casefold(key, -1))) {
+ 			g_free(key);
+ 			return trans;
+ 		}
+@@ -1056,7 +1057,7 @@
+ 			{
+ 				gchar *redirect = parse_from(sipmsg_find_header(msg, "Contact"));
+ 
+-				if (redirect && (g_strncasecmp("sip:", redirect, 4) == 0)) {
++				if (redirect && (g_utf8_collate("sip:", g_utf8_casefold(redirect, 4)) == 0)) {
+ 					gchar **parts = g_strsplit(redirect + 4, ";", 0);
+ 					gchar **tmp;
+ 					gchar *hostname;
+@@ -1072,8 +1073,8 @@
+ 					while (parts[i]) {
+ 						tmp = g_strsplit(parts[i], "=", 0);
+ 						if (tmp[1]) {
+-							if (g_strcasecmp("transport", tmp[0]) == 0) {
+-								if (g_strcasecmp("tcp", tmp[1]) == 0) {
++							if (g_utf8_collate("transport", g_utf8_casefold(tmp[0], -1)) == 0) {
++								if (g_utf8_collate("tcp", g_utf8_casefold(tmp[1], -1)) == 0) {
+ 									transport = SIPE_TRANSPORT_TCP;
+ 								}
+ 							}
+--- a/src/core/sipe-chat.c
++++ b/src/core/sipe-chat.c
+@@ -284,10 +284,10 @@
+ 				return FALSE;
+ 			}
+ 
+-			if (allow && !g_strcasecmp(allow, "true")) {
++			if (allow && !g_utf8_collate(g_utf8_casefold(allow,-1), "true")) {
+ 				SIPE_DEBUG_INFO("process_info_response: %s has voted PRO", with);
+ 				dialog->election_vote = 1;
+-			} else if (allow && !g_strcasecmp(allow, "false")) {
++			} else if (allow && !g_utf8_collate(g_utf8_casefold(allow,-1), "false")) {
+ 				SIPE_DEBUG_INFO("process_info_response: %s has voted CONTRA", with);
+ 				dialog->election_vote = -1;
+ 			}
+--- a/src/core/sipe-conf.c
++++ b/src/core/sipe-conf.c
+@@ -760,7 +760,9 @@
+ 						if (!sipe_backend_chat_find(session->backend_session, user_uri)) {
+ 							sipe_backend_chat_add(session->backend_session,
+ 									      user_uri,
+-									      !just_joined && g_strcasecmp(user_uri, self));
++									      !just_joined &&
++									      g_utf8_collate(g_utf8_casefold(user_uri, -1),
++											     g_utf8_casefold(self, -1)));
+ 						}
+ 						if (is_operator) {
+ 							sipe_backend_chat_operator(session->backend_session,
+--- a/src/core/sipe-incoming.c
++++ b/src/core/sipe-incoming.c
+@@ -83,7 +83,8 @@
+ 		return;
+ 	}
+ 
+-	if (session->roster_manager && !g_strcasecmp(from, session->roster_manager)) {
++	if (session->roster_manager && !g_utf8_collate(g_utf8_casefold(from, -1),
++						       g_utf8_casefold(session->roster_manager, -1))) {
+ 		g_free(session->roster_manager);
+ 		session->roster_manager = NULL;
+ 	}
+@@ -91,7 +92,8 @@
+ 	/* This what BYE is essentially for - terminating dialog */
+ 	sipe_dialog_remove_3(session, dialog);
+ 	sipe_dialog_free(dialog);
+-	if (session->focus_uri && !g_strcasecmp(from, session->im_mcu_uri)) {
++	if (session->focus_uri && !g_utf8_collate(g_utf8_casefold(from, -1),
++						  g_utf8_casefold(session->im_mcu_uri, -1))) {
+ 		sipe_conf_immcu_closed(sipe_private, session);
+ 	} else if (session->is_multiparty) {
+ 		sipe_backend_chat_remove(session->backend_session,
+@@ -309,7 +311,7 @@
+ 			is_multiparty = TRUE;
+ 		}
+ 	}
+-	if (trig_invite && !g_strcasecmp(trig_invite, "TRUE")) {
++	if (trig_invite && !g_utf8_collate(g_utf8_casefold(trig_invite, -1), "TRUE")) {
+ 		is_multiparty = TRUE;
+ 	}
+ 
+@@ -351,8 +353,8 @@
+ 			struct sipendpoint *end_point = entry->data;
+ 			entry = entry->next;
+ 
+-			if (!g_strcasecmp(from, end_point->contact) ||
+-			    !g_strcasecmp(to,   end_point->contact))
++			if (!g_utf8_collate(g_utf8_casefold(from, -1), g_utf8_casefold(end_point->contact, -1)) ||
++			    !g_utf8_collate(g_utf8_casefold(to,   -1), g_utf8_casefold(end_point->contact, -1)))
+ 				continue;
+ 
+ 			dialog = sipe_dialog_find(session, end_point->contact);
+--- a/src/core/sipe-session.c
++++ b/src/core/sipe-session.c
+@@ -155,7 +155,8 @@
+ 
+ 	SIPE_SESSION_FOREACH {
+ 		if (session->chat_title &&
+-		    !g_strcasecmp(name, session->chat_title)) {
++		    !g_utf8_collate(g_utf8_casefold(name, -1),
++				    g_utf8_casefold(session->chat_title, -1))) {
+ 			return session;
+ 		}
+ 	} SIPE_SESSION_FOREACH_END;
+--- a/src/core/sipe.c
++++ b/src/core/sipe.c
+@@ -6040,7 +6040,7 @@
+ 
+ 	if ((mrow = sipe_xml_child(searchResults, "Body/directorySearch/moreAvailable")) != NULL) {
+ 		char *data = sipe_xml_data(mrow);
+-		more = (g_strcasecmp(data, "true") == 0);
++		more = (g_utf8_collate(g_utf8_casefold(data, -1), "true") == 0);
+ 		g_free(data);
+ 	}
+ 

Reply via email to