rem: he=sip_resolvehost(name, &port);
add: he=sip_resolvehost(name, &port, 0);
context: static int check_via_address(struct ip_addr* ip, str *name, 				unsigned short port, int resolver){	struct hostent* he;	int i;	char* s;	/* maybe we are lucky and name it's an ip */	s=ip_addr2a(ip);	if (s){		DBG("check_address(%s, %.*s, %d)\n", 			s, name->len, name->s, resolver);	#ifdef USE_IPV6		if ((ip->af==AF_INET6) && (strncasecmp(name->s, s, name->len)==0))			return 0;		else	#endif			if (strncmp(name->s, s, name->len)==0) 				return 0;	}else{		LOG(L_CRIT, "check_address: BUG: could not convert ip address\n");		return -1;	}	if (port==0) port=SIP_PORT;	if (resolver&DO_DNS){		DBG("check_address: doing dns lookup\n");		/* try all names ips */		he=sip_resolvehost(name, &port);		if (he && ip->af==he->h_addrtype){			for(i=0;he && he->h_addr_list[i];i++){				if ( memcmp(&he->h_addr_list[i], ip->u.addr, ip->len)==0)					return 0;			}		}	}	if (resolver&DO_REV_DNS){		DBG("check_address: doing rev. dns lookup\n");		/* try reverse dns */		he=rev_resolvehost(ip);		if (he && (strncmp(he->h_name, name->s, name->len)==0))			return 0;		for (i=0; he && he->h_aliases[i];i++){			if (strncmp(he->h_aliases[i],name->s, name->len)==0)				return 0;		}	}	return -1;}