Allow domain names as well is IP addresses in --server options.

This commit is contained in:
Dominik Derigs
2022-11-05 11:49:52 +00:00
committed by Simon Kelley
parent 9002108551
commit 2d8905dafd
5 changed files with 268 additions and 87 deletions

View File

@@ -133,6 +133,7 @@ typedef unsigned long long u64;
#include <sys/uio.h>
#include <syslog.h>
#include <dirent.h>
#include <netdb.h>
#ifndef HAVE_LINUX_NETWORK
# include <net/if_dl.h>
#endif
@@ -1292,6 +1293,14 @@ extern struct daemon {
#endif
} *daemon;
struct server_details {
union mysockaddr *addr, *source_addr;
struct addrinfo *hostinfo;
char *interface, *source, *scope_id, *interface_opt;
int serv_port, source_port, addr_type, scope_index, valid, resolved;
u16 *flags;
};
/* cache.c */
void cache_init(void);
void next_uid(struct crec *crecp);
@@ -1467,8 +1476,8 @@ void read_servers_file(void);
void set_option_bool(unsigned int opt);
void reset_option_bool(unsigned int opt);
struct hostsfile *expand_filelist(struct hostsfile *list);
char *parse_server(char *arg, union mysockaddr *addr,
union mysockaddr *source_addr, char *interface, u16 *flags);
char *parse_server(char *arg, struct server_details *sdetails, const int can_resolve);
char *parse_server_addr(struct server_details *sdetails);
int option_read_dynfile(char *file, int flags);
/* forward.c */