diff --git a/extras/contrib/src/Patches/live-inet_ntop.patch b/extras/contrib/src/Patches/live-inet_ntop.patch
index 2148d07..9ce1d7c 100644
--- a/extras/contrib/src/Patches/live-inet_ntop.patch
+++ b/extras/contrib/src/Patches/live-inet_ntop.patch
@@ -1,8 +1,6 @@
-Copyright (C) 2010 Rémi Denis-Courmont.
-Licensed under GNU General Public License version 2 or higher.
 diff -ru live.orig/groupsock/Groupsock.cpp live/groupsock/Groupsock.cpp
---- live.orig/groupsock/Groupsock.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/groupsock/Groupsock.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/groupsock/Groupsock.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/groupsock/Groupsock.cpp	2010-09-23 12:07:36.000000000 +0200
 @@ -331,8 +331,10 @@
      }
    }
@@ -33,9 +31,9 @@ diff -ru live.orig/groupsock/Groupsock.cpp live/groupsock/Groupsock.cpp
      return s1 << (unsigned)(g.ttl()) << ")";
    }
 diff -ru live.orig/groupsock/include/GroupsockHelper.hh live/groupsock/include/GroupsockHelper.hh
---- live.orig/groupsock/include/GroupsockHelper.hh	2010-05-30 01:20:31.000000000 +0300
-+++ live/groupsock/include/GroupsockHelper.hh	2010-06-06 00:34:03.000000000 +0300
-@@ -124,7 +124,7 @@
+--- live.orig/groupsock/include/GroupsockHelper.hh	2010-09-23 11:37:18.000000000 +0200
++++ live/groupsock/include/GroupsockHelper.hh	2010-09-23 11:41:38.000000000 +0200
+@@ -116,7 +116,7 @@
  
  // The following are implemented in inet.c:
  extern "C" netAddressBits our_inet_addr(char const*);
@@ -45,17 +43,16 @@ diff -ru live.orig/groupsock/include/GroupsockHelper.hh live/groupsock/include/G
  extern "C" void our_srandom(int x);
  extern "C" long our_random();
 diff -ru live.orig/groupsock/inet.c live/groupsock/inet.c
---- live.orig/groupsock/inet.c	2010-05-30 01:20:31.000000000 +0300
-+++ live/groupsock/inet.c	2010-06-06 00:39:12.000000000 +0300
+--- live.orig/groupsock/inet.c	2010-09-23 11:37:18.000000000 +0200
++++ live/groupsock/inet.c	2010-09-23 11:44:47.000000000 +0200
 @@ -21,26 +21,19 @@
  }
  
  char *
 -our_inet_ntoa(in)
--        struct in_addr in;
 +our_inet_ntoa(in, result)
-+	struct in_addr in;
-+	char *result;
+         struct in_addr in;
++        char *result;
  {
 -#ifndef VXWORKS
 -  return inet_ntoa(in);
@@ -86,9 +83,9 @@ diff -ru live.orig/groupsock/inet.c live/groupsock/inet.c
    return(result);
  #endif
 diff -ru live.orig/liveMedia/DarwinInjector.cpp live/liveMedia/DarwinInjector.cpp
---- live.orig/liveMedia/DarwinInjector.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/DarwinInjector.cpp	2010-06-06 00:34:03.000000000 +0300
-@@ -128,7 +128,8 @@
+--- live.orig/liveMedia/DarwinInjector.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/DarwinInjector.cpp	2010-09-23 11:49:52.000000000 +0200
+@@ -146,7 +146,8 @@
        NetAddress const* address = addresses.firstAddress();
        addr.s_addr = *(unsigned*)(address->data());
      }
@@ -99,8 +96,8 @@ diff -ru live.orig/liveMedia/DarwinInjector.cpp live/liveMedia/DarwinInjector.cp
      // Construct a SDP description for the session that we'll be streaming:
      char const* const sdpFmt =
 diff -ru live.orig/liveMedia/OnDemandServerMediaSubsession.cpp live/liveMedia/OnDemandServerMediaSubsession.cpp
---- live.orig/liveMedia/OnDemandServerMediaSubsession.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/OnDemandServerMediaSubsession.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/liveMedia/OnDemandServerMediaSubsession.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/OnDemandServerMediaSubsession.cpp	2010-09-23 11:51:01.000000000 +0200
 @@ -365,7 +365,8 @@
    char const* mediaType = rtpSink->sdpMediaType();
    unsigned char rtpPayloadType = rtpSink->rtpPayloadType();
@@ -121,8 +118,8 @@ diff -ru live.orig/liveMedia/OnDemandServerMediaSubsession.cpp live/liveMedia/On
    fSDPLines = strDup(sdpLines);
    delete[] sdpLines;
 diff -ru live.orig/liveMedia/PassiveServerMediaSubsession.cpp live/liveMedia/PassiveServerMediaSubsession.cpp
---- live.orig/liveMedia/PassiveServerMediaSubsession.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/PassiveServerMediaSubsession.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/liveMedia/PassiveServerMediaSubsession.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/PassiveServerMediaSubsession.cpp	2010-09-23 11:52:21.000000000 +0200
 @@ -54,7 +54,8 @@
      char const* auxSDPLine = fRTPSink.auxSDPLine();
      if (auxSDPLine == NULL) auxSDPLine = "";
@@ -143,9 +140,9 @@ diff -ru live.orig/liveMedia/PassiveServerMediaSubsession.cpp live/liveMedia/Pas
      fSDPLines = strDup(sdpLines);
      delete[] sdpLines;
 diff -ru live.orig/liveMedia/RTSPClient.cpp live/liveMedia/RTSPClient.cpp
---- live.orig/liveMedia/RTSPClient.cpp 2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/RTSPClient.cpp      2010-06-06 00:39:08.000000000 +0300
-@@ -415,7 +415,8 @@
+--- live.orig/liveMedia/RTSPClient.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/RTSPClient.cpp	2010-09-23 11:53:33.000000000 +0200
+@@ -411,7 +411,8 @@
  int RTSPClient::connectToServer(int socketNum, portNumBits remotePortNum) {
    MAKE_SOCKADDR_IN(remoteName, fServerAddress, htons(remotePortNum));
    if (fVerbosityLevel >= 1) {
@@ -156,8 +153,8 @@ diff -ru live.orig/liveMedia/RTSPClient.cpp live/liveMedia/RTSPClient.cpp
    if (connect(socketNum, (struct sockaddr*) &remoteName, sizeof remoteName) != 0) {
      if (envir().getErrno() == EINPROGRESS) {
 diff -ru live.orig/liveMedia/RTSPOverHTTPServer.cpp live/liveMedia/RTSPOverHTTPServer.cpp
---- live.orig/liveMedia/RTSPOverHTTPServer.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/RTSPOverHTTPServer.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/liveMedia/RTSPOverHTTPServer.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/RTSPOverHTTPServer.cpp	2010-09-23 11:54:31.000000000 +0200
 @@ -128,7 +128,8 @@
    makeSocketNonBlocking(clientSocket);
    increaseSendBufferTo(envir(), clientSocket, 50*1024);
@@ -169,8 +166,8 @@ diff -ru live.orig/liveMedia/RTSPOverHTTPServer.cpp live/liveMedia/RTSPOverHTTPS
  
    // Create a new object for handling this HTTP connection:
 diff -ru live.orig/liveMedia/RTSPServer.cpp live/liveMedia/RTSPServer.cpp
---- live.orig/liveMedia/RTSPServer.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/RTSPServer.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/liveMedia/RTSPServer.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/RTSPServer.cpp	2010-09-23 12:24:57.000000000 +0200
 @@ -112,11 +112,12 @@
    char urlBuffer[100]; // more than big enough for "rtsp://<ip-address>:<port>/"
  
@@ -196,22 +193,20 @@ diff -ru live.orig/liveMedia/RTSPServer.cpp live/liveMedia/RTSPServer.cpp
  #endif
  
    // Create a new object for this RTSP session.
-@@ -747,10 +749,12 @@
- 				  serverRTPPort, serverRTCPPort,
- 				  fStreamStates[streamNum].streamToken);
+@@ -758,8 +760,10 @@
+   ReceivingInterfaceAddr = origReceivingInterfaceAddr;
+ 
    struct in_addr destinationAddr; destinationAddr.s_addr = destinationAddress;
 -  char* destAddrStr = strDup(our_inet_ntoa(destinationAddr));
+-  char* sourceAddrStr = strDup(our_inet_ntoa(sourceAddr.sin_addr));
 +  char destAddrStr[16];
 +  our_inet_ntoa(destinationAddr, destAddrStr);
-   struct sockaddr_in sourceAddr; SOCKLEN_T namelen = sizeof sourceAddr;
-   getsockname(fClientSocket, (struct sockaddr*)&sourceAddr, &namelen);
--  char* sourceAddrStr = strDup(our_inet_ntoa(sourceAddr.sin_addr));
 +  char sourceAddrStr[16];
 +  our_inet_ntoa(sourceAddr.sin_addr, sourceAddrStr);
    if (fIsMulticast) {
      switch (streamingMode) {
      case RTP_UDP:
-@@ -825,7 +829,7 @@
+@@ -834,7 +838,7 @@
      }
      }
    }
@@ -220,7 +215,7 @@ diff -ru live.orig/liveMedia/RTSPServer.cpp live/liveMedia/RTSPServer.cpp
  }
  
  void RTSPServer::RTSPClientSession
-@@ -1226,7 +1230,8 @@
+@@ -1235,7 +1239,8 @@
    // If this gets called, the client session is assumed to have timed out,
    // so delete it:
  #ifdef DEBUG
@@ -231,8 +226,8 @@ diff -ru live.orig/liveMedia/RTSPServer.cpp live/liveMedia/RTSPServer.cpp
    delete clientSession;
  }
 diff -ru live.orig/liveMedia/ServerMediaSession.cpp live/liveMedia/ServerMediaSession.cpp
---- live.orig/liveMedia/ServerMediaSession.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/ServerMediaSession.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/liveMedia/ServerMediaSession.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/ServerMediaSession.cpp	2010-09-23 12:00:22.000000000 +0200
 @@ -185,7 +185,8 @@
  char* ServerMediaSession::generateSDPDescription() {
    struct in_addr ipAddress;
@@ -253,8 +248,8 @@ diff -ru live.orig/liveMedia/ServerMediaSession.cpp live/liveMedia/ServerMediaSe
  }
  
 diff -ru live.orig/liveMedia/SIPClient.cpp live/liveMedia/SIPClient.cpp
---- live.orig/liveMedia/SIPClient.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/liveMedia/SIPClient.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/liveMedia/SIPClient.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/liveMedia/SIPClient.cpp	2010-09-23 12:01:58.000000000 +0200
 @@ -60,13 +60,14 @@
  
    struct in_addr ourAddress;
@@ -282,8 +277,8 @@ diff -ru live.orig/liveMedia/SIPClient.cpp live/liveMedia/SIPClient.cpp
  	  << env.getResultMsg() << "\n";
      }
 diff -ru live.orig/testProgs/sapWatch.cpp live/testProgs/sapWatch.cpp
---- live.orig/testProgs/sapWatch.cpp	2010-05-30 01:20:31.000000000 +0300
-+++ live/testProgs/sapWatch.cpp	2010-06-06 00:34:03.000000000 +0300
+--- live.orig/testProgs/sapWatch.cpp	2010-09-23 11:37:18.000000000 +0200
++++ live/testProgs/sapWatch.cpp	2010-09-23 12:03:59.000000000 +0200
 @@ -49,13 +49,14 @@
    struct sockaddr_in fromAddress;
    while (inputGroupsock.handleRead(packet, maxPacketSize,
