Fix TCP Client interface

Fix a couple of very minor bugs that prevent the socket client from working. The wrong set of properties were used in one place and the size of the address variable isn't set if the host name is an ip address. Also includes a fix for a bug that was introduced previously.

(closes issue #16121)
Reported by: thedavidfactor
Tested by: thedavidfactor

Review: https://reviewboard.asterisk.org/r/439/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/1.8.6
David Ruggles 16 years ago
parent 86dc66625c
commit 43ebe5a2ba

@ -419,7 +419,7 @@ static int app_exec(struct ast_channel *chan, const char *data)
}
/* Get rid of any extraneous arguments */
if ((s = strchr(eivr_args.options, ','))) {
if (eivr_args.options && (s = strchr(eivr_args.options, ','))) {
*s = '\0';
}
@ -473,9 +473,9 @@ static int app_exec(struct ast_channel *chan, const char *data)
}
ast_gethostbyname(hostname, &hp);
ivr_desc.local_address.sin_family = AF_INET;
ivr_desc.local_address.sin_port = htons(port);
memcpy(&ivr_desc.local_address.sin_addr.s_addr, hp.hp.h_addr, hp.hp.h_length);
ivr_desc.remote_address.sin_family = AF_INET;
ivr_desc.remote_address.sin_port = htons(port);
memcpy(&ivr_desc.remote_address.sin_addr.s_addr, hp.hp.h_addr, sizeof(hp.hp.h_addr));
if (!(ser = ast_tcptls_client_create(&ivr_desc)) || !(ser = ast_tcptls_client_start(ser))) {
goto exit;
}

Loading…
Cancel
Save