Added additional check for IP semantics before parse destination
by ast_parse_args due to it can parse numeric as IP.
(closes issue ASTERISK-18218)
Reported by: slesru
Patch: ASTERISK-18218.patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@331200
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
ipAddress->ip.data[1],
ipAddress->ip.data[2],
ipAddress->ip.data[3]);
- if(strcmp(ip, "0.0.0.0"))
+ if(strcmp(ip, "0.0.0.0")) {
+/* fix this when gk client will adopt to work with IPv6 */
+ pCallAdmInfo->call->versionIP = 4;
strcpy(pCallAdmInfo->call->remoteIP, ip);
+ }
pCallAdmInfo->call->remotePort = ipAddress->port;
/* Update call model */
if(pAdmissionConfirm->callModel.t == T_H225CallModel_direct)
return OO_OK;
}
- if (!ast_parse_arg(dest, PARSE_ADDR, &tmpaddr)) {
+ /* parse direct IP dest */
+ if ((strchr(dest, ':') || strchr(dest,'[') || strchr(dest,'.')) && !ast_parse_arg(dest, PARSE_ADDR, &tmpaddr)) {
if(strlen(dest)+7>len)
{
OOTRACEERR1("Error:Insufficient buffer space for parsed ip - "