added NS record packer.
This commit is contained in:
		
							parent
							
								
									8129863dc6
								
							
						
					
					
						commit
						43360a75da
					
				
							
								
								
									
										39
									
								
								packer/type.ns.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								packer/type.ns.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| (function (exports) { | ||||
| 'use strict'; | ||||
| 
 | ||||
| 
 | ||||
| // NS name for the supplied domain. May be label, pointer or any combination
 | ||||
| 
 | ||||
| exports.DNS_PACKER_TYPE_NS = function (ab, dv, total, record) { | ||||
|   if(!record.data){ | ||||
|       throw new Error("no data on NS record"); | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   var nsLen = 0; | ||||
|   var rdLenIndex = total; | ||||
|   total +=2; | ||||
| 
 | ||||
|   // RDATA 
 | ||||
|   // a sequence of labels
 | ||||
| 
 | ||||
|   record.data.split('.').forEach(function(label) { | ||||
|       nsLen += 1 + label.length; | ||||
|        | ||||
|       dv.setUint8(total, label.length, false); | ||||
|       total += 1; | ||||
| 
 | ||||
|       label.split('').forEach(function (ch){ | ||||
|           dv.setUint8(total, ch.charCodeAt(0), false); | ||||
|           total += 1; | ||||
|       }); | ||||
|   }); | ||||
| 
 | ||||
|   // RDLENGTH
 | ||||
|   dv.setUint16(rdLenIndex, record.data.length + 1, false); | ||||
| 
 | ||||
| 
 | ||||
|   return total; | ||||
| }; | ||||
| 
 | ||||
| }('undefined' !== typeof window ? window : exports)); | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user