コード例 #1
0
ファイル: label.py プロジェクト: 0rt/XX-Net
 def encode_name(self,name):
     """
         Encode label and store at end of buffer (compressing
         cached elements where needed) and store elements
         in 'names' dict
     """
     if not isinstance(name,DNSLabel):
         name = DNSLabel(name)
     if len(name) > 253:
         raise DNSLabelError("Domain label too long: %r" % name)
     name = list(name.label)
     while name:
         if tuple(name) in self.names:
             # Cached - set pointer
             pointer = self.names[tuple(name)]
             pointer = set_bits(pointer,3,14,2)
             self.pack("!H",pointer)
             return
         else:
             self.names[tuple(name)] = self.offset
             element = name.pop(0)
             if len(element) > 63:
                 raise DNSLabelError("Label component too long: %r" % element)
             self.pack("!B",len(element))
             self.append(element)
     self.append(b'\x00')
コード例 #2
0
ファイル: dns.py プロジェクト: 21outcry/XX-Net
 def set_rcode(self, val):
     self.bitmap = set_bits(self.bitmap, val, 0, 4)
コード例 #3
0
ファイル: dns.py プロジェクト: 21outcry/XX-Net
 def set_ra(self, val):
     self.bitmap = set_bits(self.bitmap, val, 7)
コード例 #4
0
ファイル: dns.py プロジェクト: 21outcry/XX-Net
 def set_rd(self, val):
     self.bitmap = set_bits(self.bitmap, val, 8)
コード例 #5
0
ファイル: dns.py プロジェクト: 21outcry/XX-Net
 def set_tc(self, val):
     self.bitmap = set_bits(self.bitmap, val, 9)
コード例 #6
0
ファイル: dns.py プロジェクト: 21outcry/XX-Net
 def set_aa(self, val):
     self.bitmap = set_bits(self.bitmap, val, 10)
コード例 #7
0
ファイル: dns.py プロジェクト: 21outcry/XX-Net
 def set_opcode(self, val):
     self.bitmap = set_bits(self.bitmap, val, 11, 4)
コード例 #8
0
ファイル: dns.py プロジェクト: 21outcry/XX-Net
 def set_qr(self, val):
     self.bitmap = set_bits(self.bitmap, val, 15)
コード例 #9
0
 def set_rcode(self,val):
     self.bitmap = set_bits(self.bitmap,val,0,4)
コード例 #10
0
 def set_ra(self,val):
     self.bitmap = set_bits(self.bitmap,val,7)
コード例 #11
0
 def set_rd(self,val):
     self.bitmap = set_bits(self.bitmap,val,8)
コード例 #12
0
 def set_tc(self,val):
     self.bitmap = set_bits(self.bitmap,val,9)
コード例 #13
0
 def set_aa(self,val):
     self.bitmap = set_bits(self.bitmap,val,10)
コード例 #14
0
 def set_opcode(self,val):
     self.bitmap = set_bits(self.bitmap,val,11,4)
コード例 #15
0
 def set_qr(self,val):
     self.bitmap = set_bits(self.bitmap,val,15)