Merged revisions 205120 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

........
  r205120 | russell | 2009-07-08 10:17:19 -0500 (Wed, 08 Jul 2009) | 16 lines
  
  Move OpenSSL initialization to a single place, make library usage thread-safe.
  
  While doing some reading about OpenSSL, I noticed a couple of things that
  needed to be improved with our usage of OpenSSL.
  
  1) We had initialization of the library done in multiple modules.  This has now
     been moved to a core function that gets executed during Asterisk startup.
     We already link OpenSSL into the core for TCP/TLS functionality, so this
     was the most logical place to do it.
  
  2) OpenSSL is not thread-safe by default.  However, making it thread safe is
     very easy.  We just have to provide a couple of callbacks.  One callback
     returns a thread ID.  The other handles locking.  For more information,
     start with the "Is OpenSSL thread-safe?" question on the FAQ page of
     openssl.org.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@205139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2009-07-08 15:22:43 +00:00
parent 6547190dd4
commit d38c8395b4
6 changed files with 107 additions and 7 deletions

View File

@@ -541,10 +541,6 @@ static int aji_tls_handshake(struct aji_client *client)
ast_debug(1, "Starting TLS handshake\n");
/* Load encryption, hashing algorithms and error strings */
SSL_library_init();
SSL_load_error_strings();
/* Choose an SSL/TLS protocol version, create SSL_CTX */
client->ssl_method = SSLv3_method();
client->ssl_context = SSL_CTX_new(client->ssl_method);