uw_forwarder
| grammar uw_forwarder '\n'
uw_forwarder : FORWARDER forwarder_block
struct uw_forwarder *uw_fwd;
struct uw_forwarder *uw_forwarder;
while ((uw_forwarder = TAILQ_FIRST(&xconf->uw_forwarder_list)) !=
TAILQ_REMOVE(&xconf->uw_forwarder_list, uw_forwarder, entry);
free(uw_forwarder);
while ((uw_forwarder = TAILQ_FIRST(&xconf->uw_dot_forwarder_list)) !=
TAILQ_REMOVE(&xconf->uw_dot_forwarder_list, uw_forwarder,
free(uw_forwarder);
struct uw_forwarder *uw_forwarder;
TAILQ_FOREACH(uw_forwarder, &conf->uw_forwarder_list, entry) {
printf("%s", uw_forwarder->ip);
if (uw_forwarder->port != 53)
printf(" port %d", uw_forwarder->port);
TAILQ_FOREACH(uw_forwarder, &conf->uw_dot_forwarder_list,
printf("%s", uw_forwarder->ip);
if (uw_forwarder->port != 853)
printf(" port %d", uw_forwarder->port);
if (uw_forwarder->auth_name[0] != '\0')
uw_forwarder->auth_name);
struct uw_forwarder *uw_forwarder;
TAILQ_FOREACH(uw_forwarder, uw_forwarder_list, entry) {
if (uw_forwarder->auth_name[0] != '\0')
uw_forwarder->ip, port_override ? port_override :
uw_forwarder->port, uw_forwarder->auth_name);
uw_forwarder->ip, port_override ? port_override :
uw_forwarder->port);
struct uw_forwarder *a, *b;
struct uw_forwarder *uw_forwarder;
while ((uw_forwarder =
TAILQ_REMOVE(old_list, uw_forwarder, entry);
free(uw_forwarder);
struct uw_forwarder *uw_forwarder;
TAILQ_FOREACH(uw_forwarder, &autoconf_forwarder_list, entry) {
cfi.if_index = uw_forwarder->if_index;
cfi.src = uw_forwarder->src;
memcpy(cfi.ip, uw_forwarder->ip, sizeof(cfi.ip));
struct uw_forwarder *uw_forwarder, *tmp;
if ((uw_forwarder = calloc(1, sizeof(struct uw_forwarder))) ==
if (strlcpy(uw_forwarder->ip, hostbuf, sizeof(uw_forwarder->ip))
>= sizeof(uw_forwarder->ip))
uw_forwarder->port = 53;
uw_forwarder->if_index = rdns_proposal->if_index;
uw_forwarder->src = rdns_proposal->src;
TAILQ_INSERT_TAIL(&new_forwarder_list, uw_forwarder, entry);
if ((uw_forwarder = calloc(1, sizeof(struct uw_forwarder))) ==
if (strlcpy(uw_forwarder->ip, tmp->ip,
sizeof(uw_forwarder->ip)) >= sizeof(uw_forwarder->ip))
uw_forwarder->port = tmp->port;
uw_forwarder->src = tmp->src;
uw_forwarder->if_index = tmp->if_index;
TAILQ_INSERT_TAIL(&new_forwarder_list, uw_forwarder, entry);
struct uw_forwarder *uw_forwarder;
TAILQ_FOREACH(uw_forwarder, &autoconf_forwarder_list, entry) {
NULL ? "" : tmp, uw_forwarder->ip) == -1) {
struct uw_forwarder *uw_forwarder;
TAILQ_FOREACH(uw_forwarder, &xconf->uw_forwarder_list, entry) {
if (main_sendall(IMSG_RECONF_FORWARDER, uw_forwarder,
sizeof(*uw_forwarder)) == -1)
TAILQ_FOREACH(uw_forwarder, &xconf->uw_dot_forwarder_list,
if (main_sendall(IMSG_RECONF_DOT_FORWARDER, uw_forwarder,
sizeof(*uw_forwarder)) == -1)
struct uw_forwarder *uw_forwarder;
while ((uw_forwarder = TAILQ_FIRST(&conf->uw_forwarder_list)) !=
TAILQ_REMOVE(&conf->uw_forwarder_list, uw_forwarder, entry);
free(uw_forwarder);
while ((uw_forwarder = TAILQ_FIRST(&conf->uw_dot_forwarder_list)) !=
TAILQ_REMOVE(&conf->uw_dot_forwarder_list, uw_forwarder, entry);
free(uw_forwarder);
struct uw_forwarder *uw_forwarder;
if (IMSG_DATA_SIZE(*imsg) != sizeof(struct uw_forwarder))
if ((uw_forwarder = malloc(sizeof(struct
uw_forwarder))) == NULL)
memcpy(uw_forwarder, imsg->data, sizeof(struct
uw_forwarder));
if (uw_forwarder->ip[sizeof(uw_forwarder->ip) - 1] != '\0')
if (uw_forwarder->auth_name[
sizeof(uw_forwarder->auth_name) - 1] != '\0')
uw_forwarder, entry);
if (IMSG_DATA_SIZE(*imsg) != sizeof(struct uw_forwarder))
if ((uw_forwarder = malloc(sizeof(struct
uw_forwarder))) == NULL)
memcpy(uw_forwarder, imsg->data, sizeof(struct
uw_forwarder));
if (uw_forwarder->ip[sizeof(uw_forwarder->ip) - 1] != '\0')
if (uw_forwarder->auth_name[
sizeof(uw_forwarder->auth_name) - 1] != '\0')
uw_forwarder, entry);
TAILQ_ENTRY(uw_forwarder) entry;
TAILQ_HEAD(uw_forwarder_head, uw_forwarder);