mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
Merge "tcptls.h: Repair ./configure --with-ssl=PATH."
This commit is contained in:
@@ -25,21 +25,19 @@
|
|||||||
* \brief Generic abstraction for input/output streams.
|
* \brief Generic abstraction for input/output streams.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "asterisk.h" /* for size_t, ssize_t, HAVE_OPENSSL */
|
||||||
|
|
||||||
#if defined(HAVE_OPENSSL)
|
#if defined(HAVE_OPENSSL)
|
||||||
#define DO_SSL /* comment in/out if you want to support ssl */
|
#define DO_SSL /* comment in/out if you want to support ssl */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DO_SSL
|
struct ssl_st; /* forward declaration */
|
||||||
#include <openssl/ssl.h>
|
struct ssl_ctx_st; /* forward declaration */
|
||||||
#include <openssl/err.h>
|
struct timeval; /* forward declaration */
|
||||||
#include <openssl/x509v3.h>
|
typedef struct ssl_st SSL;
|
||||||
#else
|
typedef struct ssl_ctx_st SSL_CTX;
|
||||||
/* declare dummy types so we can define a pointer to them */
|
|
||||||
typedef struct {} SSL;
|
|
||||||
typedef struct {} SSL_CTX;
|
|
||||||
#endif /* DO_SSL */
|
|
||||||
|
|
||||||
struct ast_iostream;
|
struct ast_iostream; /* forward declaration */
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Disable the iostream timeout timer.
|
* \brief Disable the iostream timeout timer.
|
||||||
|
@@ -46,18 +46,20 @@
|
|||||||
* be run earlier in the startup process so modules have it available.
|
* be run earlier in the startup process so modules have it available.
|
||||||
*
|
*
|
||||||
* \ref AstTlsOverview
|
* \ref AstTlsOverview
|
||||||
*
|
|
||||||
* \todo For SIP, the SubjectAltNames should be checked on verification
|
|
||||||
* of the certificate. (Check RFC 5922)
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _ASTERISK_TCPTLS_H
|
#ifndef _ASTERISK_TCPTLS_H
|
||||||
#define _ASTERISK_TCPTLS_H
|
#define _ASTERISK_TCPTLS_H
|
||||||
|
|
||||||
#include "asterisk/netsock2.h"
|
#include <pthread.h> /* for pthread_t */
|
||||||
#include "asterisk/utils.h"
|
#include <sys/param.h> /* for MAXHOSTNAMELEN */
|
||||||
|
|
||||||
#include "asterisk/iostream.h"
|
#include "asterisk/iostream.h"
|
||||||
|
#include "asterisk/netsock2.h" /* for ast_sockaddr */
|
||||||
|
#include "asterisk/utils.h" /* for ast_flags */
|
||||||
|
|
||||||
|
struct ssl_ctx_st; /* forward declaration */
|
||||||
|
typedef struct ssl_ctx_st SSL_CTX;
|
||||||
|
|
||||||
/*! SSL support */
|
/*! SSL support */
|
||||||
#define AST_CERTFILE "asterisk.pem"
|
#define AST_CERTFILE "asterisk.pem"
|
||||||
|
@@ -306,6 +306,7 @@ endif
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
iostream.o: _ASTCFLAGS+=$(OPENSSL_INCLUDE)
|
||||||
tcptls.o: _ASTCFLAGS+=$(OPENSSL_INCLUDE) -Wno-deprecated-declarations
|
tcptls.o: _ASTCFLAGS+=$(OPENSSL_INCLUDE) -Wno-deprecated-declarations
|
||||||
|
|
||||||
$(MAIN_TGT): $(OBJS) $(MOD_OBJS) $(ASTSSL_LIB) $(ASTPJ_LIB)
|
$(MAIN_TGT): $(OBJS) $(MOD_OBJS) $(ASTSSL_LIB) $(ASTPJ_LIB)
|
||||||
|
@@ -18,12 +18,23 @@
|
|||||||
|
|
||||||
#include "asterisk.h"
|
#include "asterisk.h"
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include "asterisk/iostream.h" /* for DO_SSL */
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
#include "asterisk/utils.h"
|
#include <fcntl.h> /* for O_NONBLOCK */
|
||||||
#include "asterisk/astobj2.h"
|
#ifdef DO_SSL
|
||||||
#include "asterisk/iostream.h"
|
#include <openssl/err.h> /* for ERR_error_string */
|
||||||
|
#include <openssl/opensslv.h> /* for OPENSSL_VERSION_NUMBER */
|
||||||
|
#include <openssl/ssl.h> /* for SSL_get_error, SSL_free, SSL_... */
|
||||||
|
#endif
|
||||||
|
#include <sys/socket.h> /* for shutdown, SHUT_RDWR */
|
||||||
|
#include <sys/time.h> /* for timeval */
|
||||||
|
|
||||||
|
#include "asterisk/astobj2.h" /* for ao2_alloc_options, ao2_alloc_... */
|
||||||
|
#include "asterisk/logger.h" /* for ast_debug, ast_log, LOG_ERROR */
|
||||||
|
#include "asterisk/strings.h" /* for asterisk/threadstorage.h */
|
||||||
|
#include "asterisk/threadstorage.h" /* for ast_threadstorage_get, AST_TH... */
|
||||||
|
#include "asterisk/time.h" /* for ast_remaining_ms, ast_tvnow */
|
||||||
|
#include "asterisk/utils.h" /* for ast_wait_for_input, ast_wait_... */
|
||||||
|
|
||||||
struct ast_iostream {
|
struct ast_iostream {
|
||||||
SSL *ssl;
|
SSL *ssl;
|
||||||
|
@@ -25,31 +25,48 @@
|
|||||||
* \author Brett Bryant <brettbryant@gmail.com>
|
* \author Brett Bryant <brettbryant@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*** MODULEINFO
|
|
||||||
<use type="external">openssl</use>
|
|
||||||
<support_level>core</support_level>
|
|
||||||
***/
|
|
||||||
|
|
||||||
#include "asterisk.h"
|
#include "asterisk.h"
|
||||||
|
|
||||||
|
#include "asterisk/tcptls.h" /* for ast_tls_config, ast_tcptls_se... */
|
||||||
|
#include "asterisk/iostream.h" /* for DO_SSL, ast_iostream_close, a... */
|
||||||
|
|
||||||
#ifdef HAVE_FCNTL_H
|
#ifdef HAVE_FCNTL_H
|
||||||
#include <fcntl.h>
|
#include <fcntl.h> /* for O_NONBLOCK */
|
||||||
#endif
|
#endif /* HAVE_FCNTL_H */
|
||||||
|
#include <netinet/in.h> /* for IPPROTO_TCP */
|
||||||
|
#ifdef DO_SSL
|
||||||
|
#include <openssl/asn1.h> /* for ASN1_STRING_to_UTF8 */
|
||||||
|
#include <openssl/crypto.h> /* for OPENSSL_free */
|
||||||
|
#include <openssl/opensslconf.h> /* for OPENSSL_NO_SSL3_METHOD, OPENS... */
|
||||||
|
#include <openssl/opensslv.h> /* for OPENSSL_VERSION_NUMBER */
|
||||||
|
#include <openssl/safestack.h> /* for STACK_OF */
|
||||||
|
#include <openssl/ssl.h> /* for SSL_CTX_free, SSL_get_error, ... */
|
||||||
|
#include <openssl/x509.h> /* for X509_free, X509_NAME_ENTRY_ge... */
|
||||||
|
#include <openssl/x509v3.h> /* for GENERAL_NAME, sk_GENERAL_NAME... */
|
||||||
|
#ifndef OPENSSL_NO_DH
|
||||||
|
#include <openssl/bio.h> /* for BIO_free, BIO_new_file */
|
||||||
|
#include <openssl/dh.h> /* for DH_free */
|
||||||
|
#include <openssl/pem.h> /* for PEM_read_bio_DHparams */
|
||||||
|
#endif /* OPENSSL_NO_DH */
|
||||||
|
#ifndef OPENSSL_NO_EC
|
||||||
|
#include <openssl/ec.h> /* for EC_KEY_free, EC_KEY_new_by_cu... */
|
||||||
|
#endif /* OPENSSL_NO_EC */
|
||||||
|
#endif /* DO_SSL */
|
||||||
|
#include <pthread.h> /* for pthread_cancel, pthread_join */
|
||||||
|
#include <signal.h> /* for pthread_kill, SIGURG */
|
||||||
|
#include <sys/socket.h> /* for setsockopt, shutdown, socket */
|
||||||
|
#include <sys/stat.h> /* for stat */
|
||||||
|
|
||||||
#include <signal.h>
|
#include "asterisk/app.h" /* for ast_read_textfile */
|
||||||
#include <sys/stat.h>
|
#include "asterisk/astobj2.h" /* for ao2_ref, ao2_t_ref, ao2_alloc */
|
||||||
|
#include "asterisk/compat.h" /* for strcasecmp */
|
||||||
#include "asterisk/compat.h"
|
#include "asterisk/config.h" /* for ast_parse_arg, ast_parse_flag... */
|
||||||
#include "asterisk/tcptls.h"
|
#include "asterisk/io.h" /* for ast_sd_get_fd */
|
||||||
#include "asterisk/io.h"
|
#include "asterisk/lock.h" /* for AST_PTHREADT_NULL */
|
||||||
#include "asterisk/http.h"
|
#include "asterisk/logger.h" /* for ast_log, LOG_ERROR, ast_debug */
|
||||||
#include "asterisk/utils.h"
|
#include "asterisk/netsock2.h" /* for ast_sockaddr_copy, ast_sockad... */
|
||||||
#include "asterisk/strings.h"
|
#include "asterisk/pbx.h" /* for ast_thread_inhibit_escalations */
|
||||||
#include "asterisk/options.h"
|
#include "asterisk/utils.h" /* for ast_true, ast_free, ast_wait_... */
|
||||||
#include "asterisk/manager.h"
|
|
||||||
#include "asterisk/astobj2.h"
|
|
||||||
#include "asterisk/pbx.h"
|
|
||||||
#include "asterisk/app.h"
|
|
||||||
|
|
||||||
static void session_instance_destructor(void *obj)
|
static void session_instance_destructor(void *obj)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user