| ... | ... | @@ -3130,9 +3130,9 @@ fn lookupDns( |
| 3130 | 3130 | options: HostName.LookupOptions, |
| 3131 | 3131 | ) HostName.LookupError!void { |
| 3132 | 3132 | const t_io = t.io(); |
| 3133 | | const family_records: [2]struct { af: IpAddress.Family, rr: u8 } = .{ |
| 3134 | | .{ .af = .ip6, .rr = std.posix.RR.A }, |
| 3135 | | .{ .af = .ip4, .rr = std.posix.RR.AAAA }, |
| 3133 | const family_records: [2]struct { af: IpAddress.Family, rr: HostName.DnsRecord } = .{ |
| 3134 | .{ .af = .ip6, .rr = .A }, |
| 3135 | .{ .af = .ip4, .rr = .AAAA }, |
| 3136 | 3136 | }; |
| 3137 | 3137 | var query_buffers: [2][280]u8 = undefined; |
| 3138 | 3138 | var answer_buffer: [2 * 512]u8 = undefined; |
| ... | ... | @@ -3280,7 +3280,7 @@ fn lookupDns( |
| 3280 | 3280 | // Here we could potentially add diagnostics to the results queue. |
| 3281 | 3281 | continue; |
| 3282 | 3282 | }) |record| switch (record.rr) { |
| 3283 | | std.posix.RR.A => { |
| 3283 | .A => { |
| 3284 | 3284 | const data = record.packet[record.data_off..][0..record.data_len]; |
| 3285 | 3285 | if (data.len != 4) return error.InvalidDnsARecord; |
| 3286 | 3286 | try resolved.putOne(t_io, .{ .address = .{ .ip4 = .{ |
| ... | ... | @@ -3289,7 +3289,7 @@ fn lookupDns( |
| 3289 | 3289 | } } }); |
| 3290 | 3290 | addresses_len += 1; |
| 3291 | 3291 | }, |
| 3292 | | std.posix.RR.AAAA => { |
| 3292 | .AAAA => { |
| 3293 | 3293 | const data = record.packet[record.data_off..][0..record.data_len]; |
| 3294 | 3294 | if (data.len != 16) return error.InvalidDnsAAAARecord; |
| 3295 | 3295 | try resolved.putOne(t_io, .{ .address = .{ .ip6 = .{ |
| ... | ... | @@ -3298,11 +3298,11 @@ fn lookupDns( |
| 3298 | 3298 | } } }); |
| 3299 | 3299 | addresses_len += 1; |
| 3300 | 3300 | }, |
| 3301 | | std.posix.RR.CNAME => { |
| 3301 | .CNAME => { |
| 3302 | 3302 | _, canonical_name = HostName.expand(record.packet, record.data_off, options.canonical_name_buffer) catch |
| 3303 | 3303 | return error.InvalidDnsCnameRecord; |
| 3304 | 3304 | }, |
| 3305 | | else => continue, |
| 3305 | _ => continue, |
| 3306 | 3306 | }; |
| 3307 | 3307 | } |
| 3308 | 3308 | |
| ... | ... | @@ -3413,7 +3413,7 @@ fn lookupHostsReader( |
| 3413 | 3413 | } |
| 3414 | 3414 | |
| 3415 | 3415 | /// Writes DNS resolution query packet data to `w`; at most 280 bytes. |
| 3416 | | fn writeResolutionQuery(q: *[280]u8, op: u4, dname: []const u8, class: u8, ty: u8, entropy: [2]u8) usize { |
| 3416 | fn writeResolutionQuery(q: *[280]u8, op: u4, dname: []const u8, class: u8, ty: HostName.DnsRecord, entropy: [2]u8) usize { |
| 3417 | 3417 | // This implementation is ported from musl libc. |
| 3418 | 3418 | // A more idiomatic "ziggy" implementation would be welcome. |
| 3419 | 3419 | var name = dname; |
| ... | ... | @@ -3437,7 +3437,7 @@ fn writeResolutionQuery(q: *[280]u8, op: u4, dname: []const u8, class: u8, ty: u |
| 3437 | 3437 | if (j - i - 1 > 62) unreachable; |
| 3438 | 3438 | q[i - 1] = @intCast(j - i); |
| 3439 | 3439 | } |
| 3440 | | q[i + 1] = ty; |
| 3440 | q[i + 1] = @intFromEnum(ty); |
| 3441 | 3441 | q[i + 3] = class; |
| 3442 | 3442 | return n; |
| 3443 | 3443 | } |