]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Remove completely obsolete patches from tree
authorTravis Cross <tc@traviscross.com>
Wed, 19 Mar 2014 03:02:49 +0000 (03:02 +0000)
committerTravis Cross <tc@traviscross.com>
Sat, 19 Apr 2014 04:05:19 +0000 (04:05 +0000)
These haven't been touched in years; they can't possibly still be
applicable.

patches/MODAPP-293.diff [deleted file]
patches/mod_portaudio_snow_leopard.diff [deleted file]
patches/sofia.diff [deleted file]
patches/zrtp_bnlib_pic.diff [deleted file]

diff --git a/patches/MODAPP-293.diff b/patches/MODAPP-293.diff
deleted file mode 100644 (file)
index dfb109d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: libs/xmlrpc-c/lib/abyss/src/socket_unix.c
-===================================================================
---- libs/xmlrpc-c/lib/abyss/src/socket_unix.c  (revision 13903)
-+++ libs/xmlrpc-c/lib/abyss/src/socket_unix.c  (working copy)
-@@ -227,20 +227,8 @@
-     struct socketUnix * const socketUnixP = channelP->implP;
-     int rc;
--      fd_set rfds, efds;
--      struct timeval tv = { 10, 0 };
--      
--      FD_ZERO(&rfds);
--      FD_ZERO(&efds);
--      FD_SET(socketUnixP->fd, &rfds);
--      FD_SET(socketUnixP->fd, &efds);
-+    rc = recv(socketUnixP->fd, buffer, bufferSize, 0);
--      if ((rc = select(socketUnixP->fd + 1, &rfds, NULL, &efds, &tv)) > 0) {
--              rc = recv(socketUnixP->fd, buffer, bufferSize, 0);
--      } else {
--              rc = -1;
--      }
--
-     if (rc < 0) {
-         *failedP = TRUE;
-         if (ChannelTraceIsActive)
diff --git a/patches/mod_portaudio_snow_leopard.diff b/patches/mod_portaudio_snow_leopard.diff
deleted file mode 100644 (file)
index 7333965..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-Index: libs/portaudio/src/hostapi/coreaudio/pa_mac_core.c
-===================================================================
---- libs/portaudio/src/hostapi/coreaudio/pa_mac_core.c (revision 14988)
-+++ libs/portaudio/src/hostapi/coreaudio/pa_mac_core.c (working copy)
-@@ -801,8 +801,8 @@
-                                    const double sampleRate,
-                                    void *refCon )
- {
--    ComponentDescription desc;
--    Component comp;
-+    AudioComponentDescription desc;
-+    AudioComponent comp;
-     /*An Apple TN suggests using CAStreamBasicDescription, but that is C++*/
-     AudioStreamBasicDescription desiredFormat;
-     OSStatus result = noErr;
-@@ -873,7 +873,7 @@
-     desc.componentFlags        = 0;
-     desc.componentFlagsMask    = 0;
-     /* -- find the component -- */
--    comp = FindNextComponent( NULL, &desc );
-+    comp = AudioComponentFindNext( NULL, &desc );
-     if( !comp )
-     {
-        DBUG( ( "AUHAL component not found." ) );
-@@ -882,7 +882,7 @@
-        return paUnanticipatedHostError;
-     }
-     /* -- open it -- */
--    result = OpenAComponent( comp, audioUnit );
-+    result = AudioComponentInstanceNew( comp, audioUnit );
-     if( result )
-     {
-        DBUG( ( "Failed to open AUHAL component." ) );
-@@ -1224,7 +1224,7 @@
- #undef ERR_WRAP
-     error:
--       CloseComponent( *audioUnit );
-+       AudioComponentInstanceDispose( *audioUnit );
-        *audioUnit = NULL;
-        if( result )
-           return PaMacCore_SetError( result, line, 1 );
-@@ -2146,13 +2146,13 @@
-                                              xrunCallback );
-        if( stream->outputUnit && stream->outputUnit != stream->inputUnit ) {
-           AudioUnitUninitialize( stream->outputUnit );
--          CloseComponent( stream->outputUnit );
-+          AudioComponentInstanceDispose( stream->outputUnit );
-        }
-        stream->outputUnit = NULL;
-        if( stream->inputUnit )
-        {
-           AudioUnitUninitialize( stream->inputUnit );
--          CloseComponent( stream->inputUnit );
-+          AudioComponentInstanceDispose( stream->inputUnit );
-           stream->inputUnit = NULL;
-        }
-        if( stream->inputRingBuffer.buffer )
-@@ -2211,12 +2211,12 @@
- // it's not clear from appl's docs that this really waits
- // until all data is flushed.
--static ComponentResult BlockWhileAudioUnitIsRunning( AudioUnit audioUnit, AudioUnitElement element )
-+static OSStatus BlockWhileAudioUnitIsRunning( AudioUnit audioUnit, AudioUnitElement element )
- {
-     Boolean isRunning = 1;
-     while( isRunning ) {
-        UInt32 s = sizeof( isRunning );
--       ComponentResult err = AudioUnitGetProperty( audioUnit, kAudioOutputUnitProperty_IsRunning, kAudioUnitScope_Global, element,  &isRunning, &s );
-+       OSStatus err = AudioUnitGetProperty( audioUnit, kAudioOutputUnitProperty_IsRunning, kAudioUnitScope_Global, element,  &isRunning, &s );
-        if( err )
-           return err;
-        Pa_Sleep( 100 );
-Index: libs/portaudio/src/common/pa_types.h
-===================================================================
---- libs/portaudio/src/common/pa_types.h       (revision 14988)
-+++ libs/portaudio/src/common/pa_types.h       (working copy)
-@@ -62,7 +62,11 @@
- #endif
- #ifndef SIZEOF_LONG
-+#ifdef __LP64__
-+#define SIZEOF_LONG 8
-+#else
- #define SIZEOF_LONG 4
-+#endif /* __LP64__ */
- #endif
-Index: libs/libsndfile/M4/ltsugar.m4
-===================================================================
---- libs/libsndfile/M4/ltsugar.m4      (revision 14988)
-+++ libs/libsndfile/M4/ltsugar.m4      (working copy)
-@@ -1,13 +1,13 @@
- # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
- #
--# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
--# Written by Gary V. Vaughan, 2004
-+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
-+#   Written by Gary V. Vaughan, 2004
- #
- # This file is free software; the Free Software Foundation gives
- # unlimited permission to copy and/or distribute it, with or without
- # modifications, as long as this notice is preserved.
--# serial 6 ltsugar.m4
-+# serial 5 ltsugar.m4
- # This is to help aclocal find these macros, as it can't see m4_define.
- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-@@ -63,14 +63,14 @@
- # Produce a SEP delimited list of all paired combinations of elements of
- # PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
- # has the form PREFIXmINFIXSUFFIXn.
--# Needed until we can rely on m4_combine added in Autoconf 2.62.
- m4_define([lt_combine],
--[m4_if(m4_eval([$# > 3]), [1],
--       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
--[[m4_foreach([_Lt_prefix], [$2],
--           [m4_foreach([_Lt_suffix],
--              ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
--      [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-+[m4_if([$2], [], [],
-+  [m4_if([$4], [], [],
-+    [lt_join(m4_quote(m4_default([$1], [[, ]])),
-+      lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
-+                 [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
-+                             [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
-+])
- # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-Index: libs/libsndfile/M4/ltversion.m4
-===================================================================
---- libs/libsndfile/M4/ltversion.m4    (revision 14988)
-+++ libs/libsndfile/M4/ltversion.m4    (working copy)
-@@ -9,15 +9,15 @@
- # Generated from ltversion.in.
--# serial 3012 ltversion.m4
-+# serial 2976 ltversion.m4
- # This file is part of GNU Libtool
--m4_define([LT_PACKAGE_VERSION], [2.2.6])
--m4_define([LT_PACKAGE_REVISION], [1.3012])
-+m4_define([LT_PACKAGE_VERSION], [2.2.4])
-+m4_define([LT_PACKAGE_REVISION], [1.2976])
- AC_DEFUN([LTVERSION_VERSION],
--[macro_version='2.2.6'
--macro_revision='1.3012'
-+[macro_version='2.2.4'
-+macro_revision='1.2976'
- _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
- _LT_DECL(, macro_revision, 0)
- ])
-Index: libs/libsndfile/M4/ltoptions.m4
-===================================================================
---- libs/libsndfile/M4/ltoptions.m4    (revision 14988)
-+++ libs/libsndfile/M4/ltoptions.m4    (working copy)
-@@ -125,7 +125,7 @@
- [enable_win32_dll=yes
- case $host in
--*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
-+*-*-cygwin* | *-*-mingw* | *-*-pw32*)
-   AC_CHECK_TOOL(AS, as, false)
-   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-   AC_CHECK_TOOL(OBJDUMP, objdump, false)
diff --git a/patches/sofia.diff b/patches/sofia.diff
deleted file mode 100644 (file)
index 82e39d1..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-Index: src/mod/endpoints/mod_sofia/sofia_reg.c
-===================================================================
---- src/mod/endpoints/mod_sofia/sofia_reg.c    (revision 12705)
-+++ src/mod/endpoints/mod_sofia/sofia_reg.c    (working copy)
-@@ -37,26 +37,56 @@
-  */
- #include "mod_sofia.h"
--static void sofia_reg_kill_reg(sofia_gateway_t *gateway_ptr, int unreg)
-+static void sofia_reg_new_handle(sofia_gateway_t *gateway_ptr)
- {
-+      int ss_state = nua_callstate_authenticating;
-+
-       if (gateway_ptr->nh) {
--              if (unreg) {
--                      nua_unregister(gateway_ptr->nh,
--                                                 NUTAG_URL(gateway_ptr->register_url),
--                                                 SIPTAG_FROM_STR(gateway_ptr->register_from),
--                                                 SIPTAG_TO_STR(gateway_ptr->register_from),
--                                                 SIPTAG_CONTACT_STR(gateway_ptr->register_contact),
--                                                 SIPTAG_EXPIRES_STR(gateway_ptr->expires_str),
--                                                 NUTAG_REGISTRAR(gateway_ptr->register_proxy),
--                                                 NUTAG_OUTBOUND("no-options-keepalive"), NUTAG_OUTBOUND("no-validate"), NUTAG_KEEPALIVE(0), TAG_NULL());
--              }
-               nua_handle_bind(gateway_ptr->nh, NULL);
-               nua_handle_destroy(gateway_ptr->nh);
-               gateway_ptr->nh = NULL;
-+              sofia_private_free(gateway_ptr->sofia_private);
-       }
-+      gateway_ptr->nh = nua_handle(gateway_ptr->profile->nua, NULL,
-+                                                               SIPTAG_CALL_ID_STR(gateway_ptr->uuid_str),
-+                                                               NUTAG_URL(gateway_ptr->register_proxy),
-+                                                               SIPTAG_TO_STR(gateway_ptr->register_to),
-+                                                               NUTAG_CALLSTATE_REF(ss_state), SIPTAG_FROM_STR(gateway_ptr->register_from), TAG_END());
-+
-+
-+      if (!gateway_ptr->sofia_private) {
-+              gateway_ptr->sofia_private = malloc(sizeof(*gateway_ptr->sofia_private));
-+              switch_assert(gateway_ptr->sofia_private);
-+      }
-+      memset(gateway_ptr->sofia_private, 0, sizeof(*gateway_ptr->sofia_private));
-+      
-+      gateway_ptr->sofia_private->gateway = gateway_ptr;
-+      nua_handle_bind(gateway_ptr->nh, gateway_ptr->sofia_private);
- }
-+static void sofia_reg_kill_reg(sofia_gateway_t *gateway_ptr)
-+{
-+
-+      if (!gateway_ptr->nh) {
-+              sofia_reg_new_handle(gateway_ptr);
-+
-+      }
-+
-+      if (gateway_ptr->nh) {
-+              switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "UNRegistering %s\n", gateway_ptr->name);
-+              nua_unregister(gateway_ptr->nh,
-+                                         NUTAG_URL(gateway_ptr->register_url),
-+                                         SIPTAG_FROM_STR(gateway_ptr->register_from),
-+                                         SIPTAG_TO_STR(gateway_ptr->register_from),
-+                                         SIPTAG_CONTACT_STR(gateway_ptr->register_contact),
-+                                         SIPTAG_EXPIRES_STR(gateway_ptr->expires_str),
-+                                         NUTAG_REGISTRAR(gateway_ptr->register_proxy),
-+                                         NUTAG_OUTBOUND("no-options-keepalive"), NUTAG_OUTBOUND("no-validate"), NUTAG_KEEPALIVE(0), TAG_NULL());
-+      }
-+      
-+}
-+
- static void sofia_reg_fire_custom_gateway_state_event(sofia_gateway_t *gateway) {
-       switch_event_t *s_event;
-       if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_GATEWAY_STATE) == SWITCH_STATUS_SUCCESS) {
-@@ -71,10 +101,9 @@
-       sofia_gateway_t *gateway_ptr;
-       for (gateway_ptr = profile->gateways; gateway_ptr; gateway_ptr = gateway_ptr->next) {
-               if (gateway_ptr->sofia_private) {
--                      free(gateway_ptr->sofia_private);
--                      gateway_ptr->sofia_private = NULL;
-+                      sofia_private_free(gateway_ptr->sofia_private);
-               }
--              sofia_reg_kill_reg(gateway_ptr, 1);
-+              sofia_reg_kill_reg(gateway_ptr);
-       }
- }
-@@ -108,7 +137,7 @@
-                               break;
-                       case SUB_STATE_UNSUBSCRIBE:
-                               gw_sub_ptr->state = SUB_STATE_NOSUB;
--                              
-+
-                               /* not tested .. */
-                               nua_unsubscribe(gateway_ptr->nh,
-                                               NUTAG_URL(gateway_ptr->register_url),
-@@ -121,24 +150,23 @@
-                               
-                               break;
-                       case SUB_STATE_UNSUBED:
--                              if ((gateway_ptr->nh = nua_handle(gateway_ptr->profile->nua, NULL,
--                                                                                                NUTAG_URL(gateway_ptr->register_proxy),
--                                                                                                SIPTAG_TO_STR(gateway_ptr->register_to),
--                                                                                                NUTAG_CALLSTATE_REF(ss_state), 
--                                                                                                SIPTAG_FROM_STR(gateway_ptr->register_from), TAG_END()))) {
--                                      switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "subscribing to [%s] on gateway [%s]\n", gw_sub_ptr->event, gateway_ptr->name);
--                              }
-+                              gateway_ptr->sub_nh = nua_handle(gateway_ptr->profile->nua, NULL,
-+                                                                                               NUTAG_URL(gateway_ptr->register_proxy),
-+                                                                                               SIPTAG_TO_STR(gateway_ptr->register_to),
-+                                                                                               NUTAG_CALLSTATE_REF(ss_state), 
-+                                                                                               SIPTAG_FROM_STR(gateway_ptr->register_from), TAG_END());
-+                              switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "subscribing to [%s] on gateway [%s]\n", gw_sub_ptr->event, gateway_ptr->name);
-                               
-                               gateway_ptr->sofia_private = malloc(sizeof(*gateway_ptr->sofia_private));
-                               switch_assert(gateway_ptr->sofia_private);
--
-+                              
-                               memset(gateway_ptr->sofia_private, 0, sizeof(*gateway_ptr->sofia_private));
-                               gateway_ptr->sofia_private->gateway = gateway_ptr;
-                               nua_handle_bind(gateway_ptr->nh, gateway_ptr->sofia_private);
-                               if (now) {
--                                      nua_subscribe(gateway_ptr->nh,
-+                                      nua_subscribe(gateway_ptr->sub_nh,
-                                                       NUTAG_URL(gateway_ptr->register_url),
-                                                       SIPTAG_EVENT_STR(gw_sub_ptr->event),
-                                                       SIPTAG_ACCEPT_STR(gw_sub_ptr->content_type),  
-@@ -149,7 +177,7 @@
-                                                       TAG_NULL());
-                                       gw_sub_ptr->retry = now + gw_sub_ptr->retry_seconds;
-                               } else {
--                                      nua_unsubscribe(gateway_ptr->nh,
-+                                      nua_unsubscribe(gateway_ptr->sub_nh,
-                                                       NUTAG_URL(gateway_ptr->register_url),
-                                                       SIPTAG_EVENT_STR(gw_sub_ptr->event),
-                                                       SIPTAG_ACCEPT_STR(gw_sub_ptr->content_type),
-@@ -207,7 +235,6 @@
-       }
-       for (gateway_ptr = profile->gateways; gateway_ptr; gateway_ptr = gateway_ptr->next) {
--              int ss_state = nua_callstate_authenticating;
-               reg_state_t ostate = gateway_ptr->state;
-               if (!now) {
-@@ -223,6 +250,7 @@
-                       switch_assert(pvt);
-                       memset(pvt, 0, sizeof(*pvt));
-                       pvt->destroy_nh = 1;
-+                      pvt->destroy_me = 1;
-                       switch_copy_string(pvt->gateway_name, gateway_ptr->name, sizeof(pvt->gateway_name));
-                       nua_handle_bind(nh, pvt);
-@@ -254,64 +282,46 @@
-                       break;
-               case REG_STATE_UNREGISTER:
--                      sofia_reg_kill_reg(gateway_ptr, 1);
-+                      sofia_reg_kill_reg(gateway_ptr);
-                       gateway_ptr->state = REG_STATE_NOREG;
-                       break;
-               case REG_STATE_UNREGED:
-                       gateway_ptr->status = SOFIA_GATEWAY_DOWN;
--                      sofia_reg_kill_reg(gateway_ptr, 0);
-+
-+                      sofia_reg_new_handle(gateway_ptr);
-                       
--                      if ((gateway_ptr->nh = nua_handle(gateway_ptr->profile->nua, NULL,
--                                                                                        SIPTAG_CALL_ID_STR(gateway_ptr->uuid_str),
--                                                                                        NUTAG_URL(gateway_ptr->register_proxy),
--                                                                                        SIPTAG_TO_STR(gateway_ptr->register_to),
--                                                                                        NUTAG_CALLSTATE_REF(ss_state), SIPTAG_FROM_STR(gateway_ptr->register_from), TAG_END()))) {
--                              switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Registering %s\n", gateway_ptr->name);
--
--                              if (!gateway_ptr->sofia_private) {
--                                      gateway_ptr->sofia_private = malloc(sizeof(*gateway_ptr->sofia_private));
--                                      switch_assert(gateway_ptr->sofia_private);
--                              }
--                              memset(gateway_ptr->sofia_private, 0, sizeof(*gateway_ptr->sofia_private));
--
--                              gateway_ptr->sofia_private->gateway = gateway_ptr;
--                              nua_handle_bind(gateway_ptr->nh, gateway_ptr->sofia_private);
--
--                              if (now) {
--                                      nua_register(gateway_ptr->nh,
--                                                               NUTAG_URL(gateway_ptr->register_url),
--                                                               TAG_IF(gateway_ptr->register_sticky_proxy, NUTAG_PROXY(gateway_ptr->register_sticky_proxy)),
--                                                               SIPTAG_TO_STR(gateway_ptr->register_from),
--                                                               SIPTAG_FROM_STR(gateway_ptr->register_from),
--                                                               SIPTAG_CONTACT_STR(gateway_ptr->register_contact),
--                                                               SIPTAG_EXPIRES_STR(gateway_ptr->expires_str),
--                                                               NUTAG_REGISTRAR(gateway_ptr->register_proxy),
--                                                               NUTAG_OUTBOUND("no-options-keepalive"), NUTAG_OUTBOUND("no-validate"), NUTAG_KEEPALIVE(0), TAG_NULL());
--                                      gateway_ptr->retry = now + gateway_ptr->retry_seconds;
--                              } else {
--                                      nua_unregister(gateway_ptr->nh,
--                                                                 NUTAG_URL(gateway_ptr->register_url),
--                                                                 SIPTAG_FROM_STR(gateway_ptr->register_from),
--                                                                 SIPTAG_TO_STR(gateway_ptr->register_from),
--                                                                 SIPTAG_CONTACT_STR(gateway_ptr->register_contact),
--                                                                 SIPTAG_EXPIRES_STR(gateway_ptr->expires_str),
--                                                                 NUTAG_REGISTRAR(gateway_ptr->register_proxy),
--                                                                 NUTAG_OUTBOUND("no-options-keepalive"), NUTAG_OUTBOUND("no-validate"), NUTAG_KEEPALIVE(0), TAG_NULL());
--                              }
-+                      switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Registering %s\n", gateway_ptr->name);
-+                      
-+                      if (now) {
-+                              nua_register(gateway_ptr->nh,
-+                                                       NUTAG_URL(gateway_ptr->register_url),
-+                                                       TAG_IF(gateway_ptr->register_sticky_proxy, NUTAG_PROXY(gateway_ptr->register_sticky_proxy)),
-+                                                       SIPTAG_TO_STR(gateway_ptr->register_from),
-+                                                       SIPTAG_FROM_STR(gateway_ptr->register_from),
-+                                                       SIPTAG_CONTACT_STR(gateway_ptr->register_contact),
-+                                                       SIPTAG_EXPIRES_STR(gateway_ptr->expires_str),
-+                                                       NUTAG_REGISTRAR(gateway_ptr->register_proxy),
-+                                                       NUTAG_OUTBOUND("no-options-keepalive"), NUTAG_OUTBOUND("no-validate"), NUTAG_KEEPALIVE(0), TAG_NULL());
-                               gateway_ptr->retry = now + gateway_ptr->retry_seconds;
--                              gateway_ptr->state = REG_STATE_TRYING;
--
-                       } else {
--                              switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error registering %s failure #%d\n", gateway_ptr->name, ++gateway_ptr->failures);
--                              gateway_ptr->state = REG_STATE_FAILED;
-+                              nua_unregister(gateway_ptr->nh,
-+                                                         NUTAG_URL(gateway_ptr->register_url),
-+                                                         SIPTAG_FROM_STR(gateway_ptr->register_from),
-+                                                         SIPTAG_TO_STR(gateway_ptr->register_from),
-+                                                         SIPTAG_CONTACT_STR(gateway_ptr->register_contact),
-+                                                         SIPTAG_EXPIRES_STR(gateway_ptr->expires_str),
-+                                                         NUTAG_REGISTRAR(gateway_ptr->register_proxy),
-+                                                         NUTAG_OUTBOUND("no-options-keepalive"), NUTAG_OUTBOUND("no-validate"), NUTAG_KEEPALIVE(0), TAG_NULL());
-                       }
-+                      gateway_ptr->retry = now + gateway_ptr->retry_seconds;
-+                      gateway_ptr->state = REG_STATE_TRYING;
-+                      
-                       break;
-               case REG_STATE_FAILED:
-                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "%s Failed Registration, setting retry to %d seconds.\n", 
-                                                                 gateway_ptr->name, gateway_ptr->retry_seconds * (gateway_ptr->failures + 1));
-                       gateway_ptr->retry =  now + (gateway_ptr->retry_seconds * (gateway_ptr->failures + 1));
--                      sofia_reg_kill_reg(gateway_ptr, 0);
-                       gateway_ptr->status = SOFIA_GATEWAY_DOWN;
-                       gateway_ptr->state = REG_STATE_FAIL_WAIT;
-                       break;
-@@ -408,6 +418,7 @@
-                                               SIPTAG_CONTACT_STR(profile->url), 
-                                               TAG_END());
-+              nua_handle_bind(nh, &mod_sofia_globals.destroy_private);
-               nua_notify(nh,
-                                  NUTAG_NEWSUB(1),
-                                  SIPTAG_EVENT_STR(event), 
-@@ -1275,6 +1286,23 @@
-               if (ostate != sofia_private->gateway->state) {
-                       sofia_reg_fire_custom_gateway_state_event(sofia_private->gateway);
-               }
-+
-+
-+              if (status >= 200) {
-+                      if (sofia_private) {
-+                              if (sofia_private->gateway) {
-+                                      nua_handle_destroy(sofia_private->gateway->nh);
-+                                      sofia_private->gateway->nh = NULL;
-+                                      nua_handle_bind(sofia_private->gateway->nh, NULL);
-+                                      sofia_private->gateway->sofia_private = NULL;
-+                              } else {
-+                                      nua_handle_destroy(nh);
-+                              }
-+                              sofia_private_free(sofia_private);
-+                      } else {
-+                              nua_handle_destroy(nh);
-+                      }
-+              }
-       }
- }
-Index: src/mod/endpoints/mod_sofia/mod_sofia.c
-===================================================================
---- src/mod/endpoints/mod_sofia/mod_sofia.c    (revision 12705)
-+++ src/mod/endpoints/mod_sofia/mod_sofia.c    (working copy)
-@@ -2703,6 +2703,8 @@
-                                       SIPTAG_CONTACT_STR(profile->url), 
-                                       TAG_END());
-                               
-+      nua_handle_bind(nh, &mod_sofia_globals.destroy_private);
-+
-       nua_notify(nh,
-                          NUTAG_NEWSUB(1),
-                          SIPTAG_EVENT_STR(es), 
-@@ -2902,6 +2904,8 @@
-       memset(&mod_sofia_globals, 0, sizeof(mod_sofia_globals));
-       mod_sofia_globals.destroy_private.destroy_nh = 1;
-+      mod_sofia_globals.destroy_private.is_static = 1;
-+      mod_sofia_globals.keep_private.is_static = 1;
-       mod_sofia_globals.pool = pool;
-       switch_mutex_init(&mod_sofia_globals.mutex, SWITCH_MUTEX_NESTED, mod_sofia_globals.pool);
-Index: src/mod/endpoints/mod_sofia/sofia.c
-===================================================================
---- src/mod/endpoints/mod_sofia/sofia.c        (revision 12705)
-+++ src/mod/endpoints/mod_sofia/sofia.c        (working copy)
-@@ -111,6 +111,7 @@
-                       sofia_sla_handle_sip_i_notify(nua, profile, nh, sip, tags);
-                       if (sub_state == nua_substate_terminated) {
-+                              sofia_private_free(sofia_private);
-                               nua_handle_bind(nh, NULL);
-                               nua_handle_destroy(nh);
-                       }
-@@ -544,8 +545,7 @@
-                       nua_handle_bind(nh, NULL);
-               }
-               sofia_private->destroy_me = 12;
--              free(sofia_private);
--              sofia_private = NULL;
-+              sofia_private_free(sofia_private);
-       }
-       if (gateway) {
-@@ -4721,7 +4721,7 @@
-       }
-       nua_handle_bind(nh, NULL);
--      free(sofia_private);
-+      sofia_private_free(sofia_private);
-       switch_core_session_destroy(&session);
-       nua_respond(nh, 503, "Maximum Calls In Progress", SIPTAG_RETRY_AFTER_STR("300"), TAG_END());
- }
-Index: src/mod/endpoints/mod_sofia/mod_sofia.h
-===================================================================
---- src/mod/endpoints/mod_sofia/mod_sofia.h    (revision 12705)
-+++ src/mod/endpoints/mod_sofia/mod_sofia.h    (working copy)
-@@ -122,10 +122,12 @@
-       int destroy_nh;
-       int destroy_me;
-       int is_call;
-+      int is_static;
- };
- #define set_param(ptr,val) if (ptr) {free(ptr) ; ptr = NULL;} if (val) {ptr = strdup(val);}
- #define set_anchor(t,m) if (t->Anchor) {delete t->Anchor;} t->Anchor = new SipMessage(m);
-+#define sofia_private_free(_pvt) if (_pvt && ! _pvt->is_static) {free(_pvt); _pvt = NULL;}
- /* Local Structures */
- /*************************************************************************************************************************************************************/
-@@ -321,6 +323,7 @@
- struct sofia_gateway {
-       sofia_private_t *sofia_private;
-       nua_handle_t *nh;
-+      nua_handle_t *sub_nh;
-       sofia_profile_t *profile;
-       char *name;
-       char *register_scheme;
-Index: src/mod/endpoints/mod_sofia/sofia_presence.c
-===================================================================
---- src/mod/endpoints/mod_sofia/sofia_presence.c       (revision 12705)
-+++ src/mod/endpoints/mod_sofia/sofia_presence.c       (working copy)
-@@ -177,7 +177,7 @@
-                                               SIPTAG_FROM_STR(from), NUTAG_URL(contact),
-                                               SIPTAG_TO_STR(clean_to), SIPTAG_CONTACT_STR(profile->url),
-                                               TAG_END());
--
-+      nua_handle_bind(msg_nh, &mod_sofia_globals.destroy_private);
-       nua_message(msg_nh, SIPTAG_CONTENT_TYPE_STR(ct), SIPTAG_PAYLOAD_STR(body), TAG_END());
-  end:
-@@ -1860,6 +1860,16 @@
-       default:
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "status (%d) != 200, updated state to SUB_STATE_FAILED.\n", status);
-               gw_sub_ptr->state = SUB_STATE_FAILED;
-+              
-+              if (sofia_private) {
-+                      nua_handle_destroy(sofia_private->gateway->sub_nh);
-+                      sofia_private->gateway->sub_nh = NULL;
-+                      nua_handle_bind(sofia_private->gateway->sub_nh, NULL);
-+                      sofia_private_free(sofia_private);
-+              } else {
-+                      nua_handle_destroy(nh);
-+              }
-+
-               break;
-       }
- }
diff --git a/patches/zrtp_bnlib_pic.diff b/patches/zrtp_bnlib_pic.diff
deleted file mode 100644 (file)
index d9b98f4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
---- libzrtp-0.81.514.orig/third_party/bnlib/cfg.debug  2009-03-22 08:26:34.000000000 -0500
-+++ libzrtp-0.81.514.patched/third_party/bnlib/cfg.debug       2009-05-20 11:42:52.000000000 -0500
-@@ -1 +1 @@
--./configure CFLAGS="-O0 -g3"
-+./configure CFLAGS="-O0 -g3 -fPIC"