forked from coolaj86/goldilocks.js
		
	re-implemented personal mDNS responses
This commit is contained in:
		
							parent
							
								
									72ff8ebf15
								
							
						
					
					
						commit
						0a0f06094e
					
				
							
								
								
									
										19
									
								
								lib/mdns.js
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								lib/mdns.js
									
									
									
									
									
								
							@ -137,15 +137,13 @@ module.exports.start = function (deps, config, mainPort) {
 | 
			
		||||
 | 
			
		||||
    randomId.get().then(function (name) {
 | 
			
		||||
      var resp = createResponse(name, packet, config.mdns.ttl, mainPort);
 | 
			
		||||
      // TODO: uncomment the lines below after the demo and fix the installer so that
 | 
			
		||||
      // it can get the direct responses even on macOS.
 | 
			
		||||
      // var now = Date.now();
 | 
			
		||||
      // if (now > nextBroadcast) {
 | 
			
		||||
      var now = Date.now();
 | 
			
		||||
      if (now > nextBroadcast) {
 | 
			
		||||
        socket.send(resp, config.mdns.port, config.mdns.broadcast);
 | 
			
		||||
      //   nextBroadcast = now + config.mdns.ttl * 1000;
 | 
			
		||||
      // } else {
 | 
			
		||||
      //   socket.send(resp, rinfo.port, rinfo.address);
 | 
			
		||||
      // }
 | 
			
		||||
        nextBroadcast = now + config.mdns.ttl * 1000;
 | 
			
		||||
      } else {
 | 
			
		||||
        socket.send(resp, rinfo.port, rinfo.address);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
@ -155,5 +153,10 @@ module.exports.start = function (deps, config, mainPort) {
 | 
			
		||||
 | 
			
		||||
    socket.setBroadcast(true);
 | 
			
		||||
    socket.addMembership(config.mdns.broadcast);
 | 
			
		||||
    // This is supposed to be a local device discovery mechanism, so we shouldn't
 | 
			
		||||
    // need to hop through any gateways. This helps with security by making it
 | 
			
		||||
    // much more difficult for someone to use us as part of a DDoS attack by
 | 
			
		||||
    // spoofing the UDP address a request came from.
 | 
			
		||||
    socket.setTTL(1);
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user