aboutsummaryrefslogtreecommitdiffstats
path: root/main/tcptls.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-12 18:52:14 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-12 18:52:14 +0000
commit4e4f077a08c76b6a39587c456b031c59609f0d8c (patch)
treee7f1254d14cedccc2cb758c4f429e3af64fb9a8e /main/tcptls.c
parentecc63509cc9e3a6546e25ceb59867904a5f1db38 (diff)
Merged revisions 163670 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r163670 | russell | 2008-12-12 12:45:03 -0600 (Fri, 12 Dec 2008) | 6 lines Rename a number of tcptls_session variables. There are no functional changes here. The name "ser" was used in a lot of places. However, it is a relic from when the struct was a server_instance, not a session_instance. It was renamed since it represents both a server or client connection. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@163671 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/tcptls.c')
-rw-r--r--main/tcptls.c122
1 files changed, 61 insertions, 61 deletions
diff --git a/main/tcptls.c b/main/tcptls.c
index f51a44701..bffa31ac2 100644
--- a/main/tcptls.c
+++ b/main/tcptls.c
@@ -81,34 +81,34 @@ static int ssl_close(void *cookie)
}
#endif /* DO_SSL */
-HOOK_T ast_tcptls_server_read(struct ast_tcptls_session_instance *ser, void *buf, size_t count)
+HOOK_T ast_tcptls_server_read(struct ast_tcptls_session_instance *tcptls_session, void *buf, size_t count)
{
- if (ser->fd == -1) {
+ if (tcptls_session->fd == -1) {
ast_log(LOG_ERROR, "server_read called with an fd of -1\n");
errno = EIO;
return -1;
}
#ifdef DO_SSL
- if (ser->ssl)
- return ssl_read(ser->ssl, buf, count);
+ if (tcptls_session->ssl)
+ return ssl_read(tcptls_session->ssl, buf, count);
#endif
- return read(ser->fd, buf, count);
+ return read(tcptls_session->fd, buf, count);
}
-HOOK_T ast_tcptls_server_write(struct ast_tcptls_session_instance *ser, void *buf, size_t count)
+HOOK_T ast_tcptls_server_write(struct ast_tcptls_session_instance *tcptls_session, void *buf, size_t count)
{
- if (ser->fd == -1) {
+ if (tcptls_session->fd == -1) {
ast_log(LOG_ERROR, "server_write called with an fd of -1\n");
errno = EIO;
return -1;
}
#ifdef DO_SSL
- if (ser->ssl)
- return ssl_write(ser->ssl, buf, count);
+ if (tcptls_session->ssl)
+ return ssl_write(tcptls_session->ssl, buf, count);
#endif
- return write(ser->fd, buf, count);
+ return write(tcptls_session->fd, buf, count);
}
static void session_instance_destructor(void *obj)
@@ -123,7 +123,7 @@ void *ast_tcptls_server_root(void *data)
int fd;
struct sockaddr_in sin;
socklen_t sinlen;
- struct ast_tcptls_session_instance *ser;
+ struct ast_tcptls_session_instance *tcptls_session;
pthread_t launched;
for (;;) {
@@ -141,27 +141,27 @@ void *ast_tcptls_server_root(void *data)
ast_log(LOG_WARNING, "Accept failed: %s\n", strerror(errno));
continue;
}
- ser = ao2_alloc(sizeof(*ser), session_instance_destructor);
- if (!ser) {
+ tcptls_session = ao2_alloc(sizeof(*tcptls_session), session_instance_destructor);
+ if (!tcptls_session) {
ast_log(LOG_WARNING, "No memory for new session: %s\n", strerror(errno));
close(fd);
continue;
}
- ast_mutex_init(&ser->lock);
+ ast_mutex_init(&tcptls_session->lock);
flags = fcntl(fd, F_GETFL);
fcntl(fd, F_SETFL, flags & ~O_NONBLOCK);
- ser->fd = fd;
- ser->parent = desc;
- memcpy(&ser->requestor, &sin, sizeof(ser->requestor));
+ tcptls_session->fd = fd;
+ tcptls_session->parent = desc;
+ memcpy(&tcptls_session->requestor, &sin, sizeof(tcptls_session->requestor));
- ser->client = 0;
+ tcptls_session->client = 0;
- if (ast_pthread_create_detached_background(&launched, NULL, ast_make_file_from_fd, ser)) {
+ if (ast_pthread_create_detached_background(&launched, NULL, ast_make_file_from_fd, tcptls_session)) {
ast_log(LOG_WARNING, "Unable to launch helper thread: %s\n", strerror(errno));
- close(ser->fd);
- ao2_ref(ser, -1);
+ close(tcptls_session->fd);
+ ao2_ref(tcptls_session, -1);
}
}
return NULL;
@@ -228,7 +228,7 @@ int ast_ssl_setup(struct ast_tls_config *cfg)
struct ast_tcptls_session_instance *ast_tcptls_client_start(struct server_args *desc)
{
int flags;
- struct ast_tcptls_session_instance *ser = NULL;
+ struct ast_tcptls_session_instance *tcptls_session = NULL;
/* Do nothing if nothing has changed */
if(!memcmp(&desc->oldsin, &desc->sin, sizeof(desc->oldsin))) {
@@ -256,37 +256,37 @@ struct ast_tcptls_session_instance *ast_tcptls_client_start(struct server_args *
goto error;
}
- if (!(ser = ao2_alloc(sizeof(*ser), session_instance_destructor)))
+ if (!(tcptls_session = ao2_alloc(sizeof(*tcptls_session), session_instance_destructor)))
goto error;
- ast_mutex_init(&ser->lock);
+ ast_mutex_init(&tcptls_session->lock);
flags = fcntl(desc->accept_fd, F_GETFL);
fcntl(desc->accept_fd, F_SETFL, flags & ~O_NONBLOCK);
- ser->fd = desc->accept_fd;
- ser->parent = desc;
- ser->parent->worker_fn = NULL;
- memcpy(&ser->requestor, &desc->sin, sizeof(ser->requestor));
+ tcptls_session->fd = desc->accept_fd;
+ tcptls_session->parent = desc;
+ tcptls_session->parent->worker_fn = NULL;
+ memcpy(&tcptls_session->requestor, &desc->sin, sizeof(tcptls_session->requestor));
- ser->client = 1;
+ tcptls_session->client = 1;
if (desc->tls_cfg) {
desc->tls_cfg->enabled = 1;
__ssl_setup(desc->tls_cfg, 1);
}
- ao2_ref(ser, +1);
- if (!ast_make_file_from_fd(ser))
+ ao2_ref(tcptls_session, +1);
+ if (!ast_make_file_from_fd(tcptls_session))
goto error;
- return ser;
+ return tcptls_session;
error:
close(desc->accept_fd);
desc->accept_fd = -1;
- if (ser)
- ao2_ref(ser, -1);
+ if (tcptls_session)
+ ao2_ref(tcptls_session, -1);
return NULL;
}
@@ -377,9 +377,9 @@ void ast_tcptls_server_stop(struct server_args *desc)
*/
void *ast_make_file_from_fd(void *data)
{
- struct ast_tcptls_session_instance *ser = data;
+ struct ast_tcptls_session_instance *tcptls_session = data;
#ifdef DO_SSL
- int (*ssl_setup)(SSL *) = (ser->client) ? SSL_connect : SSL_accept;
+ int (*ssl_setup)(SSL *) = (tcptls_session->client) ? SSL_connect : SSL_accept;
int ret;
char err[256];
#endif
@@ -387,37 +387,37 @@ void *ast_make_file_from_fd(void *data)
/*
* open a FILE * as appropriate.
*/
- if (!ser->parent->tls_cfg)
- ser->f = fdopen(ser->fd, "w+");
+ if (!tcptls_session->parent->tls_cfg)
+ tcptls_session->f = fdopen(tcptls_session->fd, "w+");
#ifdef DO_SSL
- else if ( (ser->ssl = SSL_new(ser->parent->tls_cfg->ssl_ctx)) ) {
- SSL_set_fd(ser->ssl, ser->fd);
- if ((ret = ssl_setup(ser->ssl)) <= 0) {
+ else if ( (tcptls_session->ssl = SSL_new(tcptls_session->parent->tls_cfg->ssl_ctx)) ) {
+ SSL_set_fd(tcptls_session->ssl, tcptls_session->fd);
+ if ((ret = ssl_setup(tcptls_session->ssl)) <= 0) {
ast_verb(2, "Problem setting up ssl connection: %s\n", ERR_error_string(ERR_get_error(), err));
} else {
#if defined(HAVE_FUNOPEN) /* the BSD interface */
- ser->f = funopen(ser->ssl, ssl_read, ssl_write, NULL, ssl_close);
+ tcptls_session->f = funopen(tcptls_session->ssl, ssl_read, ssl_write, NULL, ssl_close);
#elif defined(HAVE_FOPENCOOKIE) /* the glibc/linux interface */
static const cookie_io_functions_t cookie_funcs = {
ssl_read, ssl_write, NULL, ssl_close
};
- ser->f = fopencookie(ser->ssl, "w+", cookie_funcs);
+ tcptls_session->f = fopencookie(tcptls_session->ssl, "w+", cookie_funcs);
#else
/* could add other methods here */
- ast_debug(2, "no ser->f methods attempted!");
+ ast_debug(2, "no tcptls_session->f methods attempted!");
#endif
- if ((ser->client && !ast_test_flag(&ser->parent->tls_cfg->flags, AST_SSL_DONT_VERIFY_SERVER))
- || (!ser->client && ast_test_flag(&ser->parent->tls_cfg->flags, AST_SSL_VERIFY_CLIENT))) {
+ if ((tcptls_session->client && !ast_test_flag(&tcptls_session->parent->tls_cfg->flags, AST_SSL_DONT_VERIFY_SERVER))
+ || (!tcptls_session->client && ast_test_flag(&tcptls_session->parent->tls_cfg->flags, AST_SSL_VERIFY_CLIENT))) {
X509 *peer;
long res;
- peer = SSL_get_peer_certificate(ser->ssl);
+ peer = SSL_get_peer_certificate(tcptls_session->ssl);
if (!peer)
ast_log(LOG_WARNING, "No peer SSL certificate\n");
- res = SSL_get_verify_result(ser->ssl);
+ res = SSL_get_verify_result(tcptls_session->ssl);
if (res != X509_V_OK)
ast_log(LOG_ERROR, "Certificate did not verify: %s\n", X509_verify_cert_error_string(res));
- if (!ast_test_flag(&ser->parent->tls_cfg->flags, AST_SSL_IGNORE_COMMON_NAME)) {
+ if (!ast_test_flag(&tcptls_session->parent->tls_cfg->flags, AST_SSL_IGNORE_COMMON_NAME)) {
ASN1_STRING *str;
unsigned char *str2;
X509_NAME *name = X509_get_subject_name(peer);
@@ -433,19 +433,19 @@ void *ast_make_file_from_fd(void *data)
str = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(name, pos));
ASN1_STRING_to_UTF8(&str2, str);
if (str2) {
- if (!strcasecmp(ser->parent->hostname, (char *) str2))
+ if (!strcasecmp(tcptls_session->parent->hostname, (char *) str2))
found = 1;
- ast_debug(3, "SSL Common Name compare s1='%s' s2='%s'\n", ser->parent->hostname, str2);
+ ast_debug(3, "SSL Common Name compare s1='%s' s2='%s'\n", tcptls_session->parent->hostname, str2);
OPENSSL_free(str2);
}
if (found)
break;
}
if (!found) {
- ast_log(LOG_ERROR, "Certificate common name did not match (%s)\n", ser->parent->hostname);
+ ast_log(LOG_ERROR, "Certificate common name did not match (%s)\n", tcptls_session->parent->hostname);
if (peer)
X509_free(peer);
- fclose(ser->f);
+ fclose(tcptls_session->f);
return NULL;
}
}
@@ -453,21 +453,21 @@ void *ast_make_file_from_fd(void *data)
X509_free(peer);
}
}
- if (!ser->f) /* no success opening descriptor stacking */
- SSL_free(ser->ssl);
+ if (!tcptls_session->f) /* no success opening descriptor stacking */
+ SSL_free(tcptls_session->ssl);
}
#endif /* DO_SSL */
- if (!ser->f) {
- close(ser->fd);
+ if (!tcptls_session->f) {
+ close(tcptls_session->fd);
ast_log(LOG_WARNING, "FILE * open failed!\n");
- ao2_ref(ser, -1);
+ ao2_ref(tcptls_session, -1);
return NULL;
}
- if (ser && ser->parent->worker_fn)
- return ser->parent->worker_fn(ser);
+ if (tcptls_session && tcptls_session->parent->worker_fn)
+ return tcptls_session->parent->worker_fn(tcptls_session);
else
- return ser;
+ return tcptls_session;
}