| 262 | # Implemented |
| 263 | class PTR(DNSResponse): |
| 264 | def __init__(self, query, ptr_entry): |
| 265 | super(PTR, self).__init__(query) |
| 266 | if type(ptr_entry) != bytes: |
| 267 | ptr_entry = ptr_entry.encode() |
| 268 | |
| 269 | self.type = b"\x00\x0c" |
| 270 | self.ttl = b"\x00\x00\x00\x00" |
| 271 | ptr_split = ptr_entry.split(b'.') |
| 272 | ptr_entry = b"\x07".join(ptr_split) |
| 273 | |
| 274 | self.data = b"\x09" + ptr_entry + b"\x00" |
| 275 | self.length = chr(len(ptr_entry) + 2) |
| 276 | # Again, must be 2-byte value. |
| 277 | if self.length < "0xff": |
| 278 | self.length = b"\x00" + self.length.encode() |
| 279 | |
| 280 | # Finished |
| 281 | class TXT(DNSResponse): |