84 const char *sep =
" \t,";
89 struct sockaddr_storage *sa;
90 struct sockaddr_storage *ma;
103 "all network protocols are disabled",
115 msg_fatal(
"could not find any active network interfaces");
127 msg_fatal(
"could not find any active network interfaces");
128 for (sa = local_addrs.
addrs, ma = local_masks.
addrs;
129 sa < local_addrs.
addrs + local_addrs.
used; sa++, ma++) {
146 while ((host =
mystrtok(&bufp, sep)) != 0)
148 msg_fatal(
"config variable %s: host not found: %s",
168 msg_fatal(
"could not find any active network interfaces");
169 for (nvirtual = 0; nvirtual < addr_list->
used; nvirtual++) {
170 for (nlocal = 0; ; nlocal++) {
171 if (nlocal >= local_addrs.
used) {
176 msg_fatal(
"parameter %s: no local interface found for %s",
180 local_addrs.
addrs + nlocal)) {
198 if (saved_addr_list.
used == 0)
199 own_inet_addr_init(&saved_addr_list, &saved_mask_list);
201 for (i = 0; i < saved_addr_list.
used; i++)
211 if (saved_addr_list.
used == 0)
212 own_inet_addr_init(&saved_addr_list, &saved_mask_list);
214 return (&saved_addr_list);
221 if (saved_addr_list.
used == 0)
222 own_inet_addr_init(&saved_addr_list, &saved_mask_list);
224 return (&saved_mask_list);
233 const char *sep =
" \t,";
242 while ((host =
mystrtok(&bufp, sep)) != 0)
244 msg_fatal(
"config variable %s: host not found: %s",
263 if (saved_proxy_list.
used == 0)
264 proxy_inet_addr_init(&saved_proxy_list);
266 for (i = 0; i < saved_proxy_list.
used; i++)
277 proxy_inet_addr_init(&saved_proxy_list);
279 return (&saved_proxy_list);
288 struct sockaddr_storage *sa;
290 for (sa = list->
addrs; sa < list->addrs + list->
used; sa++) {
299 int main(
int argc,
char **argv)
305 msg_fatal(
"usage: %s protocols interface_list (e.g. \"all all\")",
309 var_inet_interfaces = argv[2];
311 inet_addr_list_print(list);
void inet_addr_list_uniq(INET_ADDR_LIST *list)
char * mystrdup(const char *str)
#define VAR_PROXY_INTERFACES
void inet_addr_list_free(INET_ADDR_LIST *list)
#define inet_proto_info()
int main(int argc, char **argv)
INET_PROTO_INFO * inet_proto_init(const char *context, const char *protocols)
struct sockaddr_storage * addrs
#define SOCKADDR_TO_HOSTADDR(sa, salen, host, port, sock)
int inet_addr_local(INET_ADDR_LIST *addr_list, INET_ADDR_LIST *mask_list, unsigned *addr_family_list)
#define VAR_INET_INTERFACES
int own_inet_addr(struct sockaddr *addr)
char * mystrtok(char **src, const char *sep)
char buf[MAI_HOSTADDR_STRSIZE]
#define INET_INTERFACES_LOCAL
INET_ADDR_LIST * proxy_inet_addr_list(void)
int sock_addr_in_loopback(const struct sockaddr *sa)
#define SOCK_ADDR_PTR(ptr)
INET_ADDR_LIST * own_inet_mask_list(void)
void inet_addr_list_init(INET_ADDR_LIST *list)
int proxy_inet_addr(struct sockaddr *addr)
NORETURN msg_fatal(const char *fmt,...)
void inet_addr_list_append(INET_ADDR_LIST *list, struct sockaddr *addr)
#define INET_INTERFACES_ALL
INET_ADDR_LIST * own_inet_addr_list(void)
#define SOCK_ADDR_LEN(sa)
int inet_addr_host(INET_ADDR_LIST *addr_list, const char *hostname)
char * var_proxy_interfaces
#define SOCK_ADDR_EQ_ADDR(sa, sb)
char * var_inet_interfaces
void msg_info(const char *fmt,...)