fix mdns
This commit is contained in:
		
							parent
							
								
									50cfa7d8a6
								
							
						
					
					
						commit
						b89789f631
					
				@ -77,4 +77,6 @@ Options
 | 
				
			|||||||
-c <class>                  default IN
 | 
					-c <class>                  default IN
 | 
				
			||||||
-p <port>                   default 53 (mdns default: 5353) (listener is random for DNS and 5353 for mDNS)
 | 
					-p <port>                   default 53 (mdns default: 5353) (listener is random for DNS and 5353 for mDNS)
 | 
				
			||||||
-q <query> (superfluous)    required (ex: daplie.com)
 | 
					-q <query> (superfluous)    required (ex: daplie.com)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					+time=<seconds>             Sets the timeout for a query in seconds.
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										21
									
								
								bin/dig.js
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								bin/dig.js
									
									
									
									
									
								
							@ -12,6 +12,7 @@ cli.parse({
 | 
				
			|||||||
//, 'json': [ false, 'output results as json', 'string' ]
 | 
					//, 'json': [ false, 'output results as json', 'string' ]
 | 
				
			||||||
//, 'lint': [ false, 'attack (in the metaphorical sense) a nameserver with all sorts of queries to test for correct responses', 'string', false ]
 | 
					//, 'lint': [ false, 'attack (in the metaphorical sense) a nameserver with all sorts of queries to test for correct responses', 'string', false ]
 | 
				
			||||||
, 'mdns': [ false, "Alias for setting defaults to -p 5353 @224.0.0.251 -t PTR -q _services._dns-sd._udp.local and waiting for multiple responses", 'boolean', false ]
 | 
					, 'mdns': [ false, "Alias for setting defaults to -p 5353 @224.0.0.251 -t PTR -q _services._dns-sd._udp.local and waiting for multiple responses", 'boolean', false ]
 | 
				
			||||||
 | 
					, 'timeout': [ false, "Alias for setting defaults to -p 5353 @224.0.0.251 -t PTR -q _services._dns-sd._udp.local and waiting for multiple responses", 'boolean', false ]
 | 
				
			||||||
, 'output': [ 'o', 'output prefix to use for writing query and response(s) to disk', 'file' ]
 | 
					, 'output': [ 'o', 'output prefix to use for writing query and response(s) to disk', 'file' ]
 | 
				
			||||||
, 'port': [ 'p', 'port (defaults to 53 for dns and 5353 for mdns)', 'int' ]
 | 
					, 'port': [ 'p', 'port (defaults to 53 for dns and 5353 for mdns)', 'int' ]
 | 
				
			||||||
//, 'serve': [ 's', 'path to json file with array of responses to issue for given queries', 'string' ]
 | 
					//, 'serve': [ 's', 'path to json file with array of responses to issue for given queries', 'string' ]
 | 
				
			||||||
@ -257,7 +258,15 @@ function request(query, opts) {
 | 
				
			|||||||
  // 0 dns request
 | 
					  // 0 dns request
 | 
				
			||||||
  // 53 dns server
 | 
					  // 53 dns server
 | 
				
			||||||
  // 5353 mdns
 | 
					  // 5353 mdns
 | 
				
			||||||
 | 
					  if (opts.mdns) {
 | 
				
			||||||
 | 
					    server.bind(5353);
 | 
				
			||||||
 | 
					    setTimeout(function () {
 | 
				
			||||||
 | 
					      server.close();
 | 
				
			||||||
 | 
					    }, opts.timeout || (5 * 1000));
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  else {
 | 
				
			||||||
    server.bind(0);
 | 
					    server.bind(0);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cli.main(function (args, cli) {
 | 
					cli.main(function (args, cli) {
 | 
				
			||||||
@ -271,6 +280,15 @@ cli.main(function (args, cli) {
 | 
				
			|||||||
      cli.type = cli.t = arg.toUpperCase();
 | 
					      cli.type = cli.t = arg.toUpperCase();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (/^\+time=/.test(arg)) {
 | 
				
			||||||
 | 
					      if (cli.timeout) {
 | 
				
			||||||
 | 
					        console.error("'+time=' was specified more than once");
 | 
				
			||||||
 | 
					        process.exit(1);
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      cli.timeout = Math.round(parseInt(arg.replace(/\+time=/, ''), 10) * 1000);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (/^@/.test(arg)) {
 | 
					    if (/^@/.test(arg)) {
 | 
				
			||||||
      if (cli.nameserver) {
 | 
					      if (cli.nameserver) {
 | 
				
			||||||
        console.error("'@server' was specified more than once");
 | 
					        console.error("'@server' was specified more than once");
 | 
				
			||||||
@ -299,6 +317,9 @@ cli.main(function (args, cli) {
 | 
				
			|||||||
    if (!cli.nameserver) {
 | 
					    if (!cli.nameserver) {
 | 
				
			||||||
      cli.nameserver = '224.0.0.251';
 | 
					      cli.nameserver = '224.0.0.251';
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    if (!cli.query) {
 | 
				
			||||||
 | 
					      cli.query = '_services._dns-sd._udp.local';
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!cli.type) {
 | 
					  if (!cli.type) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user