diff --git a/daemon/contrib/src/ucommon/any-addr-and-overloads.patch b/daemon/contrib/src/ucommon/any-addr-and-overloads.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c627a33ed786aa61ac130e09c7de54d6d236a44a
--- /dev/null
+++ b/daemon/contrib/src/ucommon/any-addr-and-overloads.patch
@@ -0,0 +1,61 @@
+From 1b0fbedb16f7fa00be3e7da06e541592b0ce4819 Mon Sep 17 00:00:00 2001
+From: David Sugar <dyfet@gnutelephony.org>
+Date: Sat, 13 Sep 2014 05:43:35 -0700
+Subject: [PATCH] any addr and overloads
+
+---
+ commoncpp/socket.cpp | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/commoncpp/socket.cpp b/commoncpp/socket.cpp
+index 0834aa8..9dcd975 100644
+--- a/commoncpp/socket.cpp
++++ b/commoncpp/socket.cpp
+@@ -868,10 +868,13 @@ ucommon::Socket::address Socket::getSender() const
+ IPV4Host Socket::getIPV4Sender(tpport_t *port) const
+ {
+     sockaddr_in* from = getSender();
++    struct in_addr any;
++    any.s_addr = INADDR_ANY;
++
+     if (from == NULL) {
+         if (port)
+             port = 0;
+-        return IPV4Host(INADDR_ANY);
++        return IPV4Host(any);
+     }
+ 
+     if (port)
+@@ -912,10 +915,13 @@ ucommon::Socket::address Socket::getLocal() const
+ IPV4Host Socket::getIPV4Local(tpport_t *port) const
+ {
+     sockaddr_in* from = getLocal();
++    struct in_addr any;
++    any.s_addr = INADDR_ANY;
++
+     if (from == NULL) {
+         if (port)
+             port = 0;
+-        return IPV4Host(INADDR_ANY);
++        return IPV4Host(any);
+     }
+ 
+     if (port)
+@@ -962,10 +968,13 @@ ucommon::Socket::address Socket::getPeer() const
+ IPV4Host Socket::getIPV4Peer(tpport_t *port) const
+ {
+     sockaddr_in* from = getPeer();
++    struct in_addr any;
++    any.s_addr = INADDR_ANY;
++
+     if (from == NULL) {
+         if (port)
+             port = 0;
+-        return IPV4Host(INADDR_ANY);
++        return IPV4Host(any);
+     }
+ 
+     if (port)
+-- 
+1.9.3
+
diff --git a/daemon/contrib/src/ucommon/rules.mak b/daemon/contrib/src/ucommon/rules.mak
index f0dd6632e3cd5aaa5b89c77f7f7c837481d0bdda..9d14332fd8d7d67213e3696fe5f9e46aaaf54242 100644
--- a/daemon/contrib/src/ucommon/rules.mak
+++ b/daemon/contrib/src/ucommon/rules.mak
@@ -19,6 +19,7 @@ ucommon: ucommon-$(UCOMMON_VERSION).tar.gz .sum-ucommon
 	$(UNPACK)
 	$(APPLY) $(SRC)/ucommon/extended.patch
 	$(APPLY) $(SRC)/ucommon/usedefines.patch
+	$(APPLY) $(SRC)/ucommon/any-addr-and-overloads.patch
 	$(UPDATE_AUTOCONFIG) && cd $(UNPACK_DIR) && env NOCONFIGURE=1 sh autogen.sh
 	$(MOVE)