From 4acaa4a53ad34fe2adb832ebb3cf2ae428ac69d9 Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Thu, 24 Oct 2019 18:05:11 +0200 Subject: [PATCH] Updated some DNS resolve API's (Mainly for the upcomming client update) --- shared/js/ConnectionHandler.ts | 6 +++--- shared/js/dns.ts | 12 ++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/shared/js/ConnectionHandler.ts b/shared/js/ConnectionHandler.ts index 883056d2..09114d04 100644 --- a/shared/js/ConnectionHandler.ts +++ b/shared/js/ConnectionHandler.ts @@ -225,12 +225,12 @@ class ConnectionHandler { const id = ++this._connect_initialize_id; this.log.log(log.server.Type.CONNECTION_HOSTNAME_RESOLVE, {}); try { - const resolved = await dns.resolve_address(server_address.host, { timeout: 5000 }) || {} as any; + const resolved = await dns.resolve_address(server_address, { timeout: 5000 }) || {} as any; if(id != this._connect_initialize_id) return; /* we're old */ - server_address.port = resolved.target_port || server_address.port; - server_address.host = resolved.target_ip || server_address.host; + server_address.host = typeof(resolved.target_ip) === "string" ? resolved.target_ip : server_address.host; + server_address.port = typeof(resolved.target_port) === "number" ? resolved.target_port : server_address.port; this.log.log(log.server.Type.CONNECTION_HOSTNAME_RESOLVED, { address: { server_port: server_address.port, diff --git a/shared/js/dns.ts b/shared/js/dns.ts index a1f4b5a0..2fb8d954 100644 --- a/shared/js/dns.ts +++ b/shared/js/dns.ts @@ -3,6 +3,7 @@ namespace dns { target_ip: string; target_port?: number; } + export interface ResolveOptions { timeout?: number; allow_cache?: boolean; @@ -14,20 +15,15 @@ namespace dns { allow_a?: boolean; allow_aaaa?: boolean; } + export const default_options: ResolveOptions = { timeout: 5000, allow_cache: true, - max_depth: 5, - - allow_a: true, - allow_aaaa: true, - allow_any: true, - allow_cname: true, - allow_srv: true + max_depth: 5 }; export function supported() { return false; } - export function resolve_address(address: string, options?: ResolveOptions) : Promise { + export function resolve_address(address: ServerAddress, options?: ResolveOptions) : Promise { return Promise.reject("not supported"); }