Commit Graph

210 Commits

Author SHA1 Message Date
Michael Jerris 587408b8ce Fri Jan 16 13:37:43 CST 2009 Pekka Pessi <first.last@nokia.com>
* nua: fixed problem handling re-SUBSCRIBE when it creates new dialog



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11836 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:08:41 +00:00
Michael Jerris 10c67f8219 Fri Jan 16 13:27:39 CST 2009 Pekka Pessi <first.last@nokia.com>
* soa: fixed restoring state after failed offer



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11835 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:07:59 +00:00
Michael Jerris 5baf8d20b6 Fri Jan 16 07:42:29 CST 2009 Pekka Pessi <first.last@nokia.com>
* nua: fixed problems with route set handling
  
  RFC 3261 allows the route set changes while dialog is in early state.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11834 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:07:09 +00:00
Michael Jerris 293a9b1483 Fri Jan 16 07:22:08 CST 2009 Pekka Pessi <first.last@nokia.com>
* nta: added nta_leg_client_reroute()
  
  nta_leg_client_route() did not catch actually RFC 3261 section 12.1.2 feel
  and spirit, not to speak about letter.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11833 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:06:00 +00:00
Michael Jerris e26f3e19f0 Thu Jan 15 12:06:00 CST 2009 Pekka Pessi <first.last@nokia.com>
* nta.c: when sending ACK to [3456]XX, copy the To header as-is from the response
  
  Problem reported by Paulo Pizarro.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11831 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:05:16 +00:00
Michael Jerris 38dabb3635 Thu Jan 15 09:50:45 CST 2009 Jarod Neuner <janeuner@networkharbor.com>
* TLS Subject Checking in tport
  
  sofia-sip/tport.h:
  * tport_delivered_from_subjects() returns type (su_strlst_t const *)
  * Export tport_subject_search()
  
  sofia-sip/tport_tag.h + tport_tag.c:
  * Remove TPTAG_TLS_VERIFY_PEER()
    - Depreciated.  Use TPTAG_TLS_VERIFY_POLICY instead.
    - Binary Compatibility is preserved.
  * Add TPTAG_TLS_VERIFY_POLICY()
    - tport can verify incoming and/or outgoing connections, using:
      1) Certificate Signatures only - or - 
      2) Certificate Signatures and Certificate Subjects
  * Add TPTAG_TLS_VERIFY_DEPTH()
    - Restrict certificate chain verification to a set length.
  * Add TPTAG_TLS_VERIFY_DATE()
    - Disable notBefore/notAfter checking (application: embedded devices)
  * Add TPTAG_TLS_VERIFY_SUBJECTS()
    - Incoming connections must present client certificates with subjects
      that match an item in this list.
    - Intended Use: Proxy Authentication
  * Replaced TPTAG_TRUSTED() with TPTAG_X509_SUBJECT()
    - Commented out for future use.
    - Intended Use: SIP User Identities in Server Certificates.
  * Add appropriate doxygen documentation.
  
  tport.c
  * Add tport_subject_search()
    - Subject can be a hostname, IP Address, or a URI.
    - Valid subject examples include:
        example.com
        alice@example.com
        sip:alice@example.com
        sips:alice@example.com
  * tport_by_addrinfo() matches tpn_canon against the subject list
      of reusable TLS connections.
  
  tport_tls.h:
  * Add tls_init_secondary()
  * Remove tls_init_slave() & tls_init_client()
  
  tport_tls.c:
  * tls_verify_cb() supports TPTAG_TLS_VERIFY_DATE()
  * tls_post_connection_check() verifies certificate subjects.
  * tls_init_secondary()
    - Replaces tls_init_slave(), tls_init_client(), and tls_clone().
  
  tport_type_tls.c:
  * Removed erroneous reference to tport_tls_deliver()
  * Fix a memory leak caused by duplicate calls to tls_clone().
  * Populate the (tport_t *)->tp_subjects field with peer certificate data for
    new secondary connections.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11830 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:03:59 +00:00
Michael Jerris 27a5a679be Thu Jan 15 09:38:34 CST 2009 Bernhard Suttner <bernhard DOT suttner AT comdasys DOT com>
* sip_util.c: fix 484 respose to REFER in sip_response_terminates_dialog()

  Asterisk (v 1.2.7.1) does response with 484 if a client does send a refer
  with a @ReferTo header to an unknown number.  This is therefore not
  fundamentally wrong and the dialog should not be destroyed!



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11829 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:03:30 +00:00
Michael Jerris 90311fbd2d Tue Jan 13 16:22:39 CST 2009 Pekka Pessi <first.last@nokia.com>
* tport_type_tls.c, tport_tls.c: added Jarod Neuner as one of authors
  
  Cleaned whitespace, too.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11822 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 17:00:16 +00:00
Michael Jerris fa2fe6a216 Tue Jan 13 14:59:50 CST 2009 Pekka Pessi <first.last@nokia.com>
* nua_session.c: send answer in ACK if offer was sent in 200 OK to re-INVITE
  
  Thanks for Liu Yang for reporting the problem.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11813 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:55:11 +00:00
Michael Jerris 7d792fe3ea Mon Jan 12 08:29:14 CST 2009 Pekka Pessi <first.last@nokia.com>
* sip-dig.c: using su_casenmatch() to match NAPTR service



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11812 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:54:44 +00:00
Michael Jerris a8ee947d37 Mon Jan 12 08:27:07 CST 2009 Pekka Pessi <first.last@nokia.com>
* su_port.c: added #include <sofia-sip/su_string.h>
  
  Making poll mechanism name matching case-insensitive.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11811 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:54:20 +00:00
Michael Jerris 21c92ab2d8 Fri Jan 9 14:51:02 CST 2009 Pekka Pessi <first.last@nokia.com>
* auth_client.c: auc_has_authorization() is happy if one scheme is supported
  
  If there was multiple challenges with different authentication schemes,
  auc_has_authorization() required that all were supported (and used) before
  authentication could proceed.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11810 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:53:49 +00:00
Michael Jerris 4d985dc0ef Fri Jan 9 13:51:56 CST 2009 Pekka Pessi <first.last@nokia.com>
* su_string.c: it is A. Not a Z.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11809 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:53:18 +00:00
Michael Jerris 5ded72256a Fri Jan 9 13:26:53 CST 2009 Paulo Pizarro <paulo DOT pizarro AT gmail DOT com>
* nta.c: do not restart timer E when provisional response is received
  
  According to the (informational) RFC 4321 section 1.2 Timer E is not altered
  during the transition to Proceeding.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11808 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:52:40 +00:00
Michael Jerris cefbcf0a29 Thu Jan 8 15:13:56 CST 2009 Pekka Pessi <first.last@nokia.com>
* sip: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11806 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:52:15 +00:00
Michael Jerris d8f68d7a56 Thu Jan 8 15:12:28 CST 2009 Pekka Pessi <first.last@nokia.com>
* sresolv: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11805 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:51:44 +00:00
Michael Jerris adeaf3cfff Thu Jan 8 15:03:28 CST 2009 Pekka Pessi <first.last@nokia.com>
* nea: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11804 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:51:14 +00:00
Michael Jerris 1ab22fe83c Thu Jan 8 15:00:46 CST 2009 Pekka Pessi <first.last@nokia.com>
* tport: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11803 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:50:52 +00:00
Michael Jerris 2fa6c7435d Thu Jan 8 14:56:49 CST 2009 Pekka Pessi <first.last@nokia.com>
* msg: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11802 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:50:29 +00:00
Michael Jerris 070546335d Thu Jan 8 14:55:01 CST 2009 Pekka Pessi <first.last@nokia.com>
* bnf: using <sofia-sip/su_string.h>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11801 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:49:51 +00:00
Michael Jerris 31367efd3b Thu Jan 8 14:52:37 CST 2009 Pekka Pessi <first.last@nokia.com>
* nua: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11800 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:49:25 +00:00
Michael Jerris 371b3a6fa7 Thu Jan 8 14:47:09 CST 2009 Pekka Pessi <first.last@nokia.com>
* utils/sip-dig.c: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11799 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:49:01 +00:00
Michael Jerris deba583e96 Thu Jan 8 14:29:39 CST 2009 Pekka Pessi <first.last@nokia.com>
* nth: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11798 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:48:40 +00:00
Michael Jerris 54ba0c3fa3 Thu Jan 8 13:57:46 CST 2009 Pekka Pessi <first.last@nokia.com>
* soa: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11797 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:48:09 +00:00
Michael Jerris 3ee0b589cf Thu Jan 8 13:50:53 CST 2009 Pekka Pessi <first.last@nokia.com>
* iptsec: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11796 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:47:44 +00:00
Michael Jerris c749834728 Thu Jan 8 13:00:38 CST 2009 Pekka Pessi <first.last@nokia.com>
* sdp: using <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11795 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:47:14 +00:00
Michael Jerris eeff4df08b Thu Jan 8 12:38:05 CST 2009 Pekka Pessi <first.last@nokia.com>
* nta: use <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11794 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:46:50 +00:00
Michael Jerris 5628845768 Thu Jan 8 12:14:14 CST 2009 Pekka Pessi <first.last@nokia.com>
* http: use <sofia-sip/su_string.h> functions



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11793 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:46:25 +00:00
Michael Jerris 85cafb105d Thu Jan 8 12:13:38 CST 2009 Pekka Pessi <first.last@nokia.com>
* su: using <sofia-sip/su_string.h>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11792 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:45:51 +00:00
Michael Jerris 54c0937433 Thu Jan 8 12:08:14 CST 2009 Pekka Pessi <first.last@nokia.com>
* memspn.c, memcspn.c: use functions from <sofia-sip/su_string.h>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11785 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:27:51 +00:00
Michael Jerris aee3e653cc Thu Jan 8 11:55:52 CST 2009 Pekka Pessi <first.last@nokia.com>
* sofia-sip/string0.h: use functions from <sofia-sip/su_string.h>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11784 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:23:44 +00:00
Michael Jerris 906fbd4ecf Fri Jan 9 10:33:14 CST 2009 Pekka Pessi <first.last@nokia.com>
* nua_session.c: when negotiating session refresher, default to UAC



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11783 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:23:10 +00:00
Michael Jerris a92ad4b3fb Thu Jan 8 14:20:45 CST 2009 Pekka Pessi <first.last@nokia.com>
* outbound.c: use default peer info when outbound is created



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11781 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:19:47 +00:00
Michael Jerris 0e7377b897 Thu Jan 8 13:04:03 CST 2009 Pekka Pessi <first.last@nokia.com>
* auth_client: do not crash with unknown authentication schemes



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11779 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:18:36 +00:00
Michael Jerris 7e750dcf97 Thu Jan 8 12:04:21 CST 2009 Pekka Pessi <first.last@nokia.com>
* sofia-sip/su_string.h: added
  
  Adding locale-independent, NULL-safe string comparison, 
  matching and searching functions:
  - su_strcmp()
  - su_strncmp()
  - su_strcasecmp()
  - su_strncasecmp()
  - su_strmatch()
  - su_strnmatch()
  - su_casematch()
  - su_casenmatch()
  - su_strcasestr()
  - su_strnspn()
  - su_strncspn()
  - su_memspn()
  - su_memcspn()



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11777 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:16:52 +00:00
Michael Jerris b3e2fcdbb5 Thu Jan 8 10:34:22 CST 2009 Pekka Pessi <first.last@nokia.com>
* sip_security.c: allow multiple WWW-Authenticate and Authorization headers



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11775 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:15:46 +00:00
Michael Jerris f92b45a9fa Mon Jan 5 06:43:24 CST 2009 Pekka Pessi <first.last@nokia.com>
* tport_type_tls.c: no tport_tls_deliver() yet



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11774 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:15:05 +00:00
Michael Jerris 1d36053c74 Mon Jan 5 06:43:04 CST 2009 Pekka Pessi <first.last@nokia.com>
* tport_tls.c: silences warnings on signedness



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11773 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:14:35 +00:00
Michael Jerris 0a07ac4b16 Mon Jan 5 06:42:09 CST 2009 Pekka Pessi <first.last@nokia.com>
* tport_tls.c: su_home_new() already zeros the allocated memory



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11772 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:14:05 +00:00
Michael Jerris c2f5696a8a Mon Jan 5 06:31:12 CST 2009 Pekka Pessi <first.last@nokia.com>
* nua_session.c: default to initiate session refreshes
  
  Use local refresher unless remote end explicitly indicates that it takes
  care of refreshing the session. Bug reported and initial patch by Timo
  Bruhn.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11771 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:12:35 +00:00
Michael Jerris 52fa079b2b Tue Dec 16 16:19:37 CST 2008 Jarod Neuner <janeuner@networkharbor.com>
* Early TLS Handshake and Verification
  
  tport_type_tls.c:
  * tport_tls_accept():
    - Replaces tport_accept for incoming TLS connections.
  * tport_tls_connect():
    - Replaces tport_base_connect() for outgoing TLS connections.
  
  tport_tls.c:
  * tls_t now use a memory home instead of malloc.
  * removed tls_check_hosts()
  * tls_connect():
    - Replaces tport_base_connect for TLS connection setup.
    - Completes TLS handshake and verifies peer certificates.
    - Destroys suspect TLS connections before sending/receiving payload.
    - Populates a su_strlst_t with subjects from the peer certificate.
  
  tport.c:
  * tport_is_verified()
    - true if peer certificate validated successfully
  * tport_delivered_from_subjects()
    - Certificate subjects listed in the peer certificate.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11769 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:11:33 +00:00
Michael Jerris ece5252042 Tue Dec 16 11:58:26 CST 2008 Jarod Neuner <janeuner@networkharbor.com>
* Helper functions for vtp_connect and vtp_wakeup_pri.
  
  - Expose tport_setname() and tport_wakeup() via tport_internal.h
  - Add tport_register_secondary() for adding secondaries to a root, and
    to alleviate the need to export tprb_append.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11768 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:10:58 +00:00
Michael Jerris 0ac71634bf Fri Dec 19 08:38:53 CST 2008 Pekka Pessi <first.last@nokia.com>
* nta.c: be consistent with maxsize and max_proceeding types
  
  Original patch by Mike Jerris



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11766 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-02-11 16:04:30 +00:00
Michael Jerris fd0a6589e0 sofia-sip: fix gcc 4.3 build (FSBUILD-105)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11518 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-01-27 22:59:00 +00:00
Michael Jerris d88a0fbefc mod_sofia: fix build error on gcc 4.3 (FSBUILD-105)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11334 d0543943-73ff-0310-b7d9-9358b9ac24b2
2009-01-21 19:28:20 +00:00
Michael Jerris 6408a21cf2 SFSIP-112 sofia does not compile w/ gcc 4.3 x86 w/ -Werror
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10877 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-12-18 23:24:19 +00:00
Michael Jerris 9b2a8aaa0e .update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10838 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-12-16 21:42:38 +00:00
Michael Jerris 10c6c9dbb8 Thu Nov 27 06:09:44 CST 2008 Pekka Pessi <first.last@nokia.com>
* nua_session.c: use signed ss_sdp_version (soa_get_user_version() returns int)



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10832 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-12-16 21:22:43 +00:00
Michael Jerris 7f70d131ff Fri Nov 21 08:12:28 CST 2008 Pekka Pessi <first.last@nokia.com>
* nua_session.c: call soa_activate() only when nh->nh_soa is valid



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10830 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-12-16 21:21:04 +00:00
Michael Jerris 833500ae64 Fri Nov 21 04:52:55 CST 2008 Pekka Pessi <first.last@nokia.com>
* nua: try to cope if a re-INVITE nor its ACK contain SDP
  
  Some SIP user-agents use INVITE without SDP offer to refresh session.
  By default, NUA sends an offer in 200 OK to such an INVITE and expects
  an answer back in ACK. Now nua tries to recover from such a Offer/Answer
  protocol error.
  
  Also, if NUTAG_REFRESH_WITHOUT_SDP(1) tag is used, and if the re-INVITE was
  received without SDP, no SDP offer is sent in 200 OK.
  
  Thanks for Anthony Minessale for reporting the problem.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10829 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-12-16 21:20:22 +00:00