milestone 18: collapse duplicated infrastructure into shared listener core, crud list helper, resource shells, transport race, name and line helpers, ui modules
This commit is contained in:
+7
-7
@@ -84,10 +84,10 @@ const maintenance_interval_s = 60;
|
||||
/// takes longer than this is not going to finish at all.
|
||||
const download_budget_s = 300;
|
||||
|
||||
/// Per DoH upstream. `min_request_buf` is 512; the extra room costs nothing and
|
||||
/// keeps a maximum-length name with a large OPT record comfortable.
|
||||
const doh_request_buf_len = 1024;
|
||||
const doh_transfer_buf_len = 4096;
|
||||
/// Per DoH upstream. The sizes live in `doh_client.zig` so that `nxdns check`
|
||||
/// probes the buffers `nxdns run` serves with.
|
||||
const doh_request_buf_len = doh_client.default_request_buf_len;
|
||||
const doh_transfer_buf_len = doh_client.default_transfer_buf_len;
|
||||
|
||||
pub fn run(runner: cli.Runner, args: cli.RunArgs) u8 {
|
||||
const code = serve(runner, args) catch |err| code: {
|
||||
@@ -451,7 +451,7 @@ fn serve(r: cli.Runner, args: cli.RunArgs) !u8 {
|
||||
// A failed bind warns and stays off (ruling 1, the web precedent): TLS DNS
|
||||
// failing to come up must not stop the plain-DNS side this box exists for.
|
||||
var doh: ?doh_server.DohServer = null;
|
||||
defer if (doh) |*server| server.deinit(gpa, io);
|
||||
defer if (doh) |*server| server.deinit(io);
|
||||
if (doh_certs) |*store| doh = bindDoh(gpa, io, cfg.doh_server, &h, store);
|
||||
|
||||
var dot: ?dot_server.DotServer = null;
|
||||
@@ -526,7 +526,7 @@ fn serve(r: cli.Runner, args: cli.RunArgs) !u8 {
|
||||
if (!ipv6Unavailable(err)) return reportBind(r, "tcp", v6_bind, err);
|
||||
break :bound null;
|
||||
};
|
||||
defer if (tcp6) |*s| s.deinit(gpa, io);
|
||||
defer if (tcp6) |*s| s.deinit(io);
|
||||
|
||||
var tcp4: ?tcp_server.TcpServer = tcp_server.TcpServer.listen(gpa, io, v4_bind, &h, .{}) catch |err| bound: {
|
||||
if (err != error.AddressInUse or !(tcp6 != null and isWildcard(v6_bind))) {
|
||||
@@ -535,7 +535,7 @@ fn serve(r: cli.Runner, args: cli.RunArgs) !u8 {
|
||||
log.info("the IPv6 TCP listener is dual-stack and already serves IPv4", .{});
|
||||
break :bound null;
|
||||
};
|
||||
defer if (tcp4) |*s| s.deinit(gpa, io);
|
||||
defer if (tcp4) |*s| s.deinit(io);
|
||||
|
||||
// Ruling 13: `/metrics` sums each transport's listeners into one family, so
|
||||
// the web state carries pointers to whichever of the four came up. The
|
||||
|
||||
Reference in New Issue
Block a user