Blame SOURCES/openchange-1.0-fix-connection-args.patch

da2ef9
diff -up openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c.fix-connection-args openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c
da2ef9
--- openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c.fix-connection-args	2015-05-16 17:22:04.000000000 +0200
da2ef9
+++ openchange-openchange-2.3-VULCAN/libmapi/IMSProvider.c	2016-04-07 19:10:30.340959912 +0200
da2ef9
@@ -91,6 +91,7 @@ static char *build_binding_string(struct
da2ef9
 				  struct mapi_profile *profile)
da2ef9
 {
da2ef9
 	char	*binding;
da2ef9
+	bool	any_string_added = false;
da2ef9
 
da2ef9
 	/* Sanity Checks */
da2ef9
 	if (!profile) return NULL;
da2ef9
@@ -101,15 +102,23 @@ static char *build_binding_string(struct
da2ef9
 
da2ef9
 	/* If dump-data option is enabled */
da2ef9
 	if (mapi_ctx->dumpdata == true) {
da2ef9
-		binding = talloc_strdup_append(binding, "print,");
da2ef9
+		binding = talloc_strdup_append(binding, "print");
da2ef9
+		any_string_added = true;
da2ef9
 	}
da2ef9
 	/* If seal option is enabled in the profile */
da2ef9
 	if (profile->seal == true) {
da2ef9
-		binding = talloc_strdup_append(binding, "seal,");
da2ef9
+		if (any_string_added) {
da2ef9
+			binding = talloc_strdup_append(binding, ",");
da2ef9
+		}
da2ef9
+		binding = talloc_strdup_append(binding, "seal");
da2ef9
+		any_string_added = true;
da2ef9
 	}
da2ef9
 	/* If localaddress parameter is available in the profile */
da2ef9
 	if (profile->localaddr) {
da2ef9
-		binding = talloc_asprintf_append(binding, "localaddress=%s,", profile->localaddr);
da2ef9
+		if (any_string_added) {
da2ef9
+			binding = talloc_strdup_append(binding, ",");
da2ef9
+		}
da2ef9
+		binding = talloc_asprintf_append(binding, "localaddress=%s", profile->localaddr);
da2ef9
 	}
da2ef9
 	
da2ef9
 	binding = talloc_strdup_append(binding, "]");