{
int sd;
- sd = socket(ast_sockaddr_is_ipv4(addr) ? AF_INET : AF_INET6, SOCK_DGRAM, 0);
+ sd = socket(addr->ss.ss_family, SOCK_DGRAM, 0);
if (sd < 0) {
ast_log(LOG_ERROR, "Socket: %s\n", strerror(errno));
return -1;
if (!(tmp = ast_strdupa(srcaddr)))
return -1;
- host = strsep(&tmp, ":");
- portstr = tmp;
+ ast_sockaddr_split_hostport(tmp, &host, &portstr, 0);
if (portstr) {
port = atoi(portstr);
struct ast_sockaddr addr;
if (ast_sockaddr_parse(&addr, bindinfo, 0)) {
+ if (!ast_sockaddr_is_ipv4(&addr)) {
+ ast_log(LOG_WARNING, "Only IPv4 addresses are supported at this time.\n");
+ return NULL;
+ }
+
if (!ast_sockaddr_port(&addr)) {
ast_sockaddr_set_port(&addr, defaultport);
}