// Transport
dns_transport_type_t transport;
+ uint32_t port;
// Zones
const char** zones;
static ctx_t ctx = {
.path = DEFAULT_PATH,
.transport = DNS_TRANSPORT_NONE,
+ .port = 53,
};
static dns_fixedname_t fixed = {};
isc_loopmgr_shutdown(ctx.loopmgr);
}
-static void transfer_done(dns_zone_t* zone, uint32_t* serial, isc_result_t result) {
+static void transfer_done(dns_zone_t* zone, uint32_t* expireopt, isc_result_t result) {
int r;
switch (result) {
switch (res->ai_family) {
case AF_INET6:
isc_sockaddr_fromin6(&ctx.primary_address,
- &((struct sockaddr_in6*)res->ai_addr)->sin6_addr, 53);
+ &((struct sockaddr_in6*)res->ai_addr)->sin6_addr, ctx.port);
break;
case AF_INET:
isc_sockaddr_fromin(&ctx.primary_address,
- &((struct sockaddr_in*)res->ai_addr)->sin_addr, 53);
+ &((struct sockaddr_in*)res->ai_addr)->sin_addr, ctx.port);
break;
default:
case OPT_TRANSPORT:
// TCP
- if (strcmp(arg, "TCP") == 0)
+ if (strcmp(arg, "TCP") == 0) {
ctx.transport = DNS_TRANSPORT_TCP;
+ ctx.port = 53;
// TLS
- else if (strcmp(arg, "TLS") == 0)
+ } else if (strcmp(arg, "TLS") == 0) {
ctx.transport = DNS_TRANSPORT_TLS;
+ ctx.port = 853;
// Fail on unknown transport
- else
+ } else {
argp_failure(state, EXIT_FAILURE, 0, "Unknown transport: %s", arg);
+ }
break;