/* Resolves the ip of the hostname of the specified account and saves it in account->dynip. If the hostname is not configured, the ip is set to 0. */ static void cs_user_resolve(struct s_auth *account) { if (account->dyndns) { IN_ADDR_T lastip; IP_ASSIGN(lastip, account->dynip); cs_resolve(account->dyndns, &account->dynip, NULL, NULL); if (!IP_EQUAL(lastip, account->dynip)) { cs_log("%s: resolved ip=%s", account->dyndns, cs_inet_ntoa(account->dynip)); } } else { set_null_ip(&account->dynip); } }
static void init_syslog_socket(void) { if(cfg.sysloghost != NULL && syslog_socket == -1) { IN_ADDR_T in_addr; if ((syslog_socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { perror("Socket create error!"); } memset((char *) &syslog_addr, 0, sizeof(syslog_addr)); syslog_addr.sin_family = AF_INET; syslog_addr.sin_port = htons(cfg.syslogport); cs_resolve(cfg.sysloghost, &in_addr, NULL, NULL); SIN_GET_ADDR(syslog_addr) = in_addr; } }
void hostname2ip(char *hostname, IN_ADDR_T *ip) { cs_resolve(hostname, ip, NULL, NULL); }