Updated some DNS resolve API's (Mainly for the upcomming client update)

This commit is contained in:
WolverinDEV 2019-10-24 18:05:11 +02:00
parent 2758537d80
commit 4acaa4a53a
2 changed files with 7 additions and 11 deletions

View file

@ -225,12 +225,12 @@ class ConnectionHandler {
const id = ++this._connect_initialize_id; const id = ++this._connect_initialize_id;
this.log.log(log.server.Type.CONNECTION_HOSTNAME_RESOLVE, {}); this.log.log(log.server.Type.CONNECTION_HOSTNAME_RESOLVE, {});
try { 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) if(id != this._connect_initialize_id)
return; /* we're old */ return; /* we're old */
server_address.port = resolved.target_port || server_address.port; server_address.host = typeof(resolved.target_ip) === "string" ? resolved.target_ip : server_address.host;
server_address.host = 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, { this.log.log(log.server.Type.CONNECTION_HOSTNAME_RESOLVED, {
address: { address: {
server_port: server_address.port, server_port: server_address.port,

View file

@ -3,6 +3,7 @@ namespace dns {
target_ip: string; target_ip: string;
target_port?: number; target_port?: number;
} }
export interface ResolveOptions { export interface ResolveOptions {
timeout?: number; timeout?: number;
allow_cache?: boolean; allow_cache?: boolean;
@ -14,20 +15,15 @@ namespace dns {
allow_a?: boolean; allow_a?: boolean;
allow_aaaa?: boolean; allow_aaaa?: boolean;
} }
export const default_options: ResolveOptions = { export const default_options: ResolveOptions = {
timeout: 5000, timeout: 5000,
allow_cache: true, allow_cache: true,
max_depth: 5, max_depth: 5
allow_a: true,
allow_aaaa: true,
allow_any: true,
allow_cname: true,
allow_srv: true
}; };
export function supported() { return false; } export function supported() { return false; }
export function resolve_address(address: string, options?: ResolveOptions) : Promise<AddressTarget> { export function resolve_address(address: ServerAddress, options?: ResolveOptions) : Promise<AddressTarget> {
return Promise.reject("not supported"); return Promise.reject("not supported");
} }