[openchange/f19] Add patch for RH bug #1028698 (Symbol collision with NSS)

Milan Crha mcrha at fedoraproject.org
Mon Nov 11 17:31:52 UTC 2013


commit a84d1ffb930a1a910db6abf69b2b1931d77929fc
Author: Milan Crha <mcrha at redhat.com>
Date:   Mon Nov 11 18:32:07 2013 +0100

    Add patch for RH bug #1028698 (Symbol collision with NSS)

 openchange-1.0-symbol-clash.patch |  122 +++++++++++++++++++++++++++++++++++++
 openchange.spec                   |    9 +++-
 2 files changed, 130 insertions(+), 1 deletions(-)
---
diff --git a/openchange-1.0-symbol-clash.patch b/openchange-1.0-symbol-clash.patch
new file mode 100644
index 0000000..584bb39
--- /dev/null
+++ b/openchange-1.0-symbol-clash.patch
@@ -0,0 +1,122 @@
+diff -up openchange-2.0-QUADRANT/libmapi/emsmdb.c.symbol-clash openchange-2.0-QUADRANT/libmapi/emsmdb.c
+--- openchange-2.0-QUADRANT/libmapi/emsmdb.c.symbol-clash	2013-01-24 19:55:36.000000000 +0100
++++ openchange-2.0-QUADRANT/libmapi/emsmdb.c	2013-11-11 18:21:56.132410403 +0100
+@@ -636,8 +636,8 @@ struct mapi_notify_ctx *emsmdb_bind_noti
+ 	notify_ctx->notifications->prev = NULL;
+ 	notify_ctx->notifications->next = NULL;
+ 
+-	load_interfaces(mem_ctx, lpcfg_interfaces(mapi_ctx->lp_ctx), &ifaces);
+-	ipaddr = iface_best_ip(ifaces, mapi_ctx->session->profile->server);
++	libmapi_load_interfaces(mem_ctx, lpcfg_interfaces(mapi_ctx->lp_ctx), &ifaces);
++	ipaddr = libmapi_iface_best_ip(ifaces, mapi_ctx->session->profile->server);
+ 	if (!ipaddr) {
+ 		talloc_free(notify_ctx->notifications);
+ 		talloc_free(notify_ctx);
+diff -up openchange-2.0-QUADRANT/libmapi/libmapi_private.h.symbol-clash openchange-2.0-QUADRANT/libmapi/libmapi_private.h
+--- openchange-2.0-QUADRANT/libmapi/libmapi_private.h.symbol-clash	2013-01-24 19:55:36.000000000 +0100
++++ openchange-2.0-QUADRANT/libmapi/libmapi_private.h	2013-11-11 18:21:56.133410403 +0100
+@@ -122,14 +122,14 @@ uint8_t			mapi_recipients_get_org_length
+ uint16_t		mapi_recipients_RecipientFlags(struct SRow *);
+ 
+ /* The following private definitions come from libmapi/socket/interface.c  */
+-void			load_interfaces(TALLOC_CTX *, const char **, struct interface **);
+-int			iface_count(struct interface *);
+-const char		*iface_n_ip(struct interface *, int);
+-const char		*iface_n_bcast(struct interface *, int);
+-const char		*iface_n_netmask(struct interface *, int);
+-const char		*iface_best_ip(struct interface *, const char *);
+-bool			iface_is_local(struct interface *, const char *);
+-bool			iface_same_net(const char *, const char *, const char *);
++void			libmapi_load_interfaces(TALLOC_CTX *, const char **, struct interface **);
++int			libmapi_iface_count(struct interface *);
++const char		*libmapi_iface_n_ip(struct interface *, int);
++const char		*libmapi_iface_n_bcast(struct interface *, int);
++const char		*libmapi_iface_n_netmask(struct interface *, int);
++const char		*libmapi_iface_best_ip(struct interface *, const char *);
++bool			libmapi_iface_is_local(struct interface *, const char *);
++bool			libmapi_iface_same_net(const char *, const char *, const char *);
+ 
+ __END_DECLS
+ 
+diff -up openchange-2.0-QUADRANT/libmapi/socket/interface.c.symbol-clash openchange-2.0-QUADRANT/libmapi/socket/interface.c
+--- openchange-2.0-QUADRANT/libmapi/socket/interface.c.symbol-clash	2013-01-24 19:55:36.000000000 +0100
++++ openchange-2.0-QUADRANT/libmapi/socket/interface.c	2013-11-11 18:21:56.134410403 +0100
+@@ -186,7 +186,7 @@ static void interpret_interface(TALLOC_C
+ /**
+ load the list of network interfaces
+ **/
+-void load_interfaces(TALLOC_CTX *mem_ctx, const char **interfaces, struct interface **local_interfaces)
++void libmapi_load_interfaces(TALLOC_CTX *mem_ctx, const char **interfaces, struct interface **local_interfaces)
+ {
+ 	const char **ptr = interfaces;
+ 	int i;
+@@ -228,7 +228,7 @@ void load_interfaces(TALLOC_CTX *mem_ctx
+ /**
+   how many interfaces do we have
+   **/
+-int iface_count(struct interface *ifaces)
++int libmapi_iface_count(struct interface *ifaces)
+ {
+ 	int ret = 0;
+ 	struct interface *i;
+@@ -241,7 +241,7 @@ int iface_count(struct interface *ifaces
+ /**
+   return IP of the Nth interface
+   **/
+-const char *iface_n_ip(struct interface *ifaces, int n)
++const char *libmapi_iface_n_ip(struct interface *ifaces, int n)
+ {
+ 	struct interface *i;
+   
+@@ -257,7 +257,7 @@ const char *iface_n_ip(struct interface
+ /**
+   return bcast of the Nth interface
+   **/
+-const char *iface_n_bcast(struct interface *ifaces, int n)
++const char *libmapi_iface_n_bcast(struct interface *ifaces, int n)
+ {
+ 	struct interface *i;
+   
+@@ -273,7 +273,7 @@ const char *iface_n_bcast(struct interfa
+ /**
+   return netmask of the Nth interface
+   **/
+-const char *iface_n_netmask(struct interface *ifaces, int n)
++const char *libmapi_iface_n_netmask(struct interface *ifaces, int n)
+ {
+ 	struct interface *i;
+   
+@@ -290,7 +290,7 @@ const char *iface_n_netmask(struct inter
+   return the local IP address that best matches a destination IP, or
+   our first interface if none match
+ */
+-const char *iface_best_ip(struct interface *ifaces, const char *dest)
++const char *libmapi_iface_best_ip(struct interface *ifaces, const char *dest)
+ {
+ 	struct interface *iface;
+ 	struct in_addr ip;
+@@ -300,13 +300,13 @@ const char *iface_best_ip(struct interfa
+ 	if (iface) {
+ 		return iface->ip_s;
+ 	}
+-	return iface_n_ip(ifaces, 0);
++	return libmapi_iface_n_ip(ifaces, 0);
+ }
+ 
+ /**
+   return true if an IP is one one of our local networks
+ */
+-bool iface_is_local(struct interface *ifaces, const char *dest)
++bool libmapi_iface_is_local(struct interface *ifaces, const char *dest)
+ {
+ 	struct in_addr ip;
+ 
+@@ -320,7 +320,7 @@ bool iface_is_local(struct interface *if
+ /**
+   return true if a IP matches a IP/netmask pair
+ */
+-bool iface_same_net(const char *ip1, const char *ip2, const char *netmask)
++bool libmapi_iface_same_net(const char *ip1, const char *ip2, const char *netmask)
+ {
+ 	return same_net_v4(interpret_addr2(ip1),
+ 			interpret_addr2(ip2),
diff --git a/openchange.spec b/openchange.spec
index f25f98a..5decf74 100644
--- a/openchange.spec
+++ b/openchange.spec
@@ -19,7 +19,7 @@
 
 Name: openchange
 Version: 2.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 Group: Applications/System
 Summary: Provides access to Microsoft Exchange servers using native protocols
 License: GPLv3+ and Public Domain
@@ -68,6 +68,9 @@ Patch1: openchange-0.9-generate-xml-doc.patch
 # Do not build server and python parts
 Patch2: openchange-1.0-OC_RULE_ADD-fix.patch
 
+# RH bug #1028698
+Patch4: openchange-1.0-symbol-clash.patch
+
 %description
 OpenChange provides libraries to access Microsoft Exchange servers
 using native protocols.
@@ -129,6 +132,7 @@ This package provides the server elements for OpenChange.
 %patch0 -p1 -b .libmapi-conflict
 %patch1 -p1 -b .generate-xml-doc
 %patch2 -p1 -b .OC_RULE_ADD-fix
+%patch4 -p1 -b .symbol-clash
 
 %build
 ./autogen.sh
@@ -272,6 +276,9 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Mon Nov 11 2013 Milan Crha <mcrha at redhat.com> - 2.0-2
+- Add patch for RH bug #1028698 (Symbol collision with NSS)
+
 * Thu Feb 14 2013 Milan Crha <mcrha at redhat.com> - 2.0-1
 - Update to OpenChange 2.0
 


More information about the scm-commits mailing list