/* * Initialize UAC */ int uac_init(void) { str src[3]; struct socket_info *si; if (RAND_MAX < TABLE_ENTRIES) { LOG(L_WARN, "Warning: uac does not spread " "across the whole hash table\n"); } /* on tcp/tls bind_address is 0 so try to get the first address we listen * on no matter the protocol */ si=bind_address?bind_address:get_first_socket(); if (si==0){ LOG(L_CRIT, "BUG: uac_init: null socket list\n"); return -1; } /* calculate the initial From tag */ src[0].s = "Long live SER server"; src[0].len = strlen(src[0].s); src[1].s = si->address_str.s; src[1].len = strlen(src[1].s); src[2].s = si->port_no_str.s; src[2].len = strlen(src[2].s); MDStringArray(from_tag, src, 3); from_tag[MD5_LEN] = '-'; return 1; }
/* * Initialize UAC */ int uac_init(void) { str src[3]; if (RAND_MAX < TABLE_ENTRIES) { LOG(L_WARN, "Warning: uac does not spread " "accross the whole hash table\n"); } /* calculate the initial From tag */ src[0].s = "Long live SER server"; src[0].len = strlen(src[0].s); src[1].s = sock_info[bind_idx].address_str.s; src[1].len = strlen(src[1].s); src[2].s = sock_info[bind_idx].port_no_str.s; src[2].len = strlen(src[2].s); MDStringArray(from_tag, src, 3); from_tag[MD5_LEN] = '-'; return 1; }