27 lines
		
	
	
		
			857 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			857 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| (function (exports) {
 | |
| 'use strict';
 | |
| 
 | |
| // Value: Preference
 | |
| // Meaning/Use: Unsigned 16-bit integer
 | |
| //-------------------------------------
 | |
| // Value: Mail Exchanger
 | |
| // Meaning/Use: The name host name that provides the service.
 | |
| // May be a label, pointer or any combination
 | |
| 
 | |
| // ab is arrayBuffer, packet is Object, Record is Object
 | |
| var unpackLabels = exports.DNS_UNPACK_LABELS || require('../dns.unpack-labels.js').DNS_UNPACK_LABELS;
 | |
| exports.DNS_PARSER_TYPE_MX = function (ab, packet, record) {
 | |
| 
 | |
|   var rdataAb = ab.slice(record.rdstart, record.rdstart + record.rdlength);
 | |
|   var dv = new DataView(rdataAb);
 | |
| 
 | |
|   record.priority =  dv.getUint16(0, false);
 | |
|   record.exchange = unpackLabels(new Uint8Array(ab), record.rdstart+2, { byteLength: 0, cpcount: 0, labels: [], name: '' }).name;
 | |
| 
 | |
|   return record;
 | |
| 
 | |
| };
 | |
| 
 | |
| }('undefined' !== typeof window ? window : exports));
 | |
| 
 |