diff options
author | David Troy <dave@popvox.com> | 2006-04-04 19:39:39 +0000 |
---|---|---|
committer | David Troy <dave@popvox.com> | 2006-04-04 19:39:39 +0000 |
commit | e4b66ca5172292a09ac0f68b9373fcbe83cef8d6 (patch) | |
tree | 9d97f527917250cf6664470f899d5f0515e247ce /src/astmanproxy.c | |
parent | b93c5589c08ed90bb318557a32f7cae649727c1d (diff) | |
download | astmanproxy-e4b66ca5172292a09ac0f68b9373fcbe83cef8d6.tar.gz astmanproxy-e4b66ca5172292a09ac0f68b9373fcbe83cef8d6.tar.xz astmanproxy-e4b66ca5172292a09ac0f68b9373fcbe83cef8d6.zip |
git-svn-id: http://svncommunity.digium.com/svn/astmanproxy/branches/1.20pre@79 f02b47b9-160a-0410-81a6-dc3441afb0ec
Diffstat (limited to 'src/astmanproxy.c')
-rw-r--r-- | src/astmanproxy.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/astmanproxy.c b/src/astmanproxy.c index 25aab23..ac30b1b 100644 --- a/src/astmanproxy.c +++ b/src/astmanproxy.c @@ -374,8 +374,8 @@ int ConnectAsterisk(struct mansession *s) { s->connected = 0; if (debug) - debugmsg("asterisk@%s: Connecting (u=%s, p=%s)", ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr), - s->server->ast_user, s->server->ast_pass); + debugmsg("asterisk@%s: Connecting (u=%s, p=%s, ssl=%s)", ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr), + s->server->ast_user, s->server->ast_pass, s->server->use_ssl ? "on" : "off"); /* Construct auth message just once */ memset( &m, 0, sizeof(struct message) ); @@ -385,12 +385,7 @@ int ConnectAsterisk(struct mansession *s) { AddHeader(&m, "Events: %s", s->server->ast_events); for ( ;; ) { - if ( connect_nonb(s->fd, (struct sockaddr *) &s->sin, sizeof(s->sin), 2) < 0 ) { - if (errno == EISCONN) { - pthread_mutex_lock(&s->lock); - s->fd = socket(AF_INET, SOCK_STREAM, 0); - pthread_mutex_unlock(&s->lock); - } + if ( ast_connect(s) == -1 ) { if (debug) debugmsg("asterisk@%s: Connect failed, Retrying (%d) %s", ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr), r, strerror(errno) ); @@ -457,7 +452,6 @@ int StartServer(struct ast_server *srv) { debugmsg("Set %s output format to %s", ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr), s->output->formatname); } - if (pthread_create(&s->t, &attr, (void *)HandleAsterisk, s)) destroy_session(s); else @@ -673,6 +667,9 @@ int main(int argc, char *argv[]) sessions = NULL; LaunchAsteriskThreads(); + /* Initialize SSL Client-Side Context */ + client_init_secure(); + /* Setup listener socket to setup new sessions... */ if ((asock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { fprintf(stderr,"Cannot create listener socket!\n"); |