summaryrefslogtreecommitdiffstats
path: root/src/astmanproxy.c
diff options
context:
space:
mode:
authorDavid Troy <dave@popvox.com>2006-04-04 19:39:39 +0000
committerDavid Troy <dave@popvox.com>2006-04-04 19:39:39 +0000
commite4b66ca5172292a09ac0f68b9373fcbe83cef8d6 (patch)
tree9d97f527917250cf6664470f899d5f0515e247ce /src/astmanproxy.c
parentb93c5589c08ed90bb318557a32f7cae649727c1d (diff)
downloadastmanproxy-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.c15
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");