[openchange] Add patch for Red Hat bug #845618 (incorrect symbol resolution)

Milan Crha mcrha at fedoraproject.org
Mon Aug 6 10:29:28 UTC 2012


commit 94c9bc9d72c5b09d85e1c373668836be506280ca
Author: Milan Crha <mcrha at redhat.com>
Date:   Mon Aug 6 12:29:07 2012 +0200

    Add patch for Red Hat bug #845618 (incorrect symbol resolution)

 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..71dc304
--- /dev/null
+++ b/openchange-1.0-symbol-clash.patch
@@ -0,0 +1,122 @@
+diff -up openchange-1.0-BORG/libmapi/emsmdb.c.symbol-clash openchange-1.0-BORG/libmapi/emsmdb.c
+--- openchange-1.0-BORG/libmapi/emsmdb.c.symbol-clash	2012-08-06 12:23:58.376219110 +0200
++++ openchange-1.0-BORG/libmapi/emsmdb.c	2012-08-06 12:23:58.380219164 +0200
+@@ -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-1.0-BORG/libmapi/libmapi_private.h.symbol-clash openchange-1.0-BORG/libmapi/libmapi_private.h
+--- openchange-1.0-BORG/libmapi/libmapi_private.h.symbol-clash	2012-03-13 17:58:28.000000000 +0100
++++ openchange-1.0-BORG/libmapi/libmapi_private.h	2012-08-06 12:23:58.380219164 +0200
+@@ -118,14 +118,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-1.0-BORG/libmapi/socket/interface.c.symbol-clash openchange-1.0-BORG/libmapi/socket/interface.c
+--- openchange-1.0-BORG/libmapi/socket/interface.c.symbol-clash	2011-06-27 22:35:04.000000000 +0200
++++ openchange-1.0-BORG/libmapi/socket/interface.c	2012-08-06 12:23:58.381219177 +0200
+@@ -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 2b49e0b..2462c02 100644
--- a/openchange.spec
+++ b/openchange.spec
@@ -19,7 +19,7 @@
 
 Name: openchange
 Version: 1.0
-Release: 10%{?dist}
+Release: 11%{?dist}
 Group: Applications/System
 Summary: Provides access to Microsoft Exchange servers using native protocols
 License: GPLv3+ and Public Domain
@@ -71,6 +71,9 @@ Patch3: openchange-1.0-OC_RULE_ADD-fix.patch
 # http://tracker.openchange.org/issues/397
 Patch4: openchange-1.0-uninit-crash.patch
 
+# http://tracker.openchange.org/issues/398
+Patch5: openchange-1.0-symbol-clash.patch
+
 %description
 OpenChange provides libraries to access Microsoft Exchange servers
 using native protocols.
@@ -134,6 +137,7 @@ This package provides the server elements for OpenChange.
 %patch2 -p1 -b .popt
 %patch3 -p1 -b .OC_RULE_ADD-fix
 %patch4 -p1 -b .uninit-crash
+%patch5 -p1 -b .symbol-clash
 
 %build
 ./autogen.sh
@@ -276,6 +280,9 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Mon Aug 06 2012 Milan Crha <mcrha at redhat.com> - 1.0-11
+- Add patch for Red Hat bug #845618 (incorrect symbol resolution)
+
 * Thu Jul 26 2012 Milan Crha <mcrha at redhat.com> - 1.0-10
 - Remove check_fasttransfer from openchange-client, if not building server package
 


More information about the scm-commits mailing list