mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-21 10:44:16 +00:00
* 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
============================================================= README / Sofia-SIP - RFC3261 compliant SIP User-Agent library ============================================================= Introduction ------------ Sofia-SIP is an open-source SIP User-Agent library, compliant with the IETF RFC3261 specification. It can be used as a building block for SIP client software for uses such as VoIP, IM, and many other real-time and person-to-person communication services. The primary target platform for Sofia-SIP is GNU/Linux. Sofia-SIP is based on a SIP stack developed at the Nokia Research Center. Sofia-SIP is licensed under the LGPL. Quick start ----------- Sofia-SIP uses the GNU autotools, so building procedure is the usual: sh> sh autogen.sh (if building from darcs) sh> ./configure sh> make sh> make install See also 'docs/devel_platform_notes.txt' for notes on compiling Sofia-SIP in different environments. See the "options-client-example" (available using darcs at http://sofia-sip.org/repos/options-client-example/ or with CVS as a module in Sofia-SIP CVS tree) for an example of a small app that is utilizing Sofia-SIP, and specifically the libsofia-sip-ua library component. There are also multiple example clients under the "sofia-sip/utils" directory: - sip-options, query using SIP OPTIONS method - sip-date, SIP date printer/parser The Sofia-SIP su submodule also provides some small utilities: - addrinfo (libsofia-sip-ua/su), resolve host names - localinfo (libsofia-sip-ua/su), prints information about local network interfaces References ---------- Project website: - http://sofia-sip.sourceforge.net - http://www.sourceforge.net/projects/sofia-sip Mailing list: - http://sourceforge.net/mail/?group_id=143636 Version control repositories: - see the project website (link above) Licensing --------- Sofia-SIP is licensed under terms of the GNU LGPL. See the file "COPYING" for more information.