summaryrefslogtreecommitdiff
path: root/project2/proj2_s4498062/dns/resource.py
diff options
context:
space:
mode:
Diffstat (limited to 'project2/proj2_s4498062/dns/resource.py')
-rw-r--r--project2/proj2_s4498062/dns/resource.py42
1 files changed, 24 insertions, 18 deletions
diff --git a/project2/proj2_s4498062/dns/resource.py b/project2/proj2_s4498062/dns/resource.py
index 350c87d..572397f 100644
--- a/project2/proj2_s4498062/dns/resource.py
+++ b/project2/proj2_s4498062/dns/resource.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python2
-
""" A DNS resource record
This class contains classes for DNS resource records and record data. This
@@ -10,7 +8,6 @@ of your resolver and server.
import socket
import struct
-from dns.classes import Class
from dns.types import Type
@@ -25,34 +22,33 @@ class ResourceRecord(object):
class_ (Class): the class
rdata (RecordData): the record data
"""
- self.name = name
- self.type_ = type_
- self.class_ = class_
- self.ttl = ttl
- self.rdata = rdata
+ self.name = name
+ self.type_ = type_
+ self.class_ = class_
+ self.ttl = ttl
+ self.rdata = rdata
def to_bytes(self, offset, composer):
""" Convert ResourceRecord to bytes """
name = composer.to_bytes(offset, [self.name])
offset += len(name)
rdata = self.rdata.to_bytes(offset, composer)
- return (name +
- struct.pack("!HHIH",
- self.type_,
- self.class_,
- self.ttl,
- len(rdata)) +
- rdata)
+ return (name + struct.pack(
+ "!HHIH",
+ self.type_,
+ self.class_,
+ self.ttl,
+ len(rdata)) + rdata)
@classmethod
def from_bytes(cls, packet, offset, parser):
""" Convert ResourceRecord from bytes """
names, offset = parser.from_bytes(packet, offset, 1)
name = names[0]
- type_, class_, ttl, rdlength = struct.unpack_from("!HHIH", packet, offset)
+ type_, class_, ttl, rdlen = struct.unpack_from("!HHIH", packet, offset)
offset += 10
- rdata = RecordData.from_bytes(type_, packet, offset, rdlength, parser)
- offset += rdlength
+ rdata = RecordData.from_bytes(type_, packet, offset, rdlen, parser)
+ offset += rdlen
return cls(name, type_, class_, ttl, rdata), offset
@@ -115,6 +111,8 @@ class RecordData(object):
class ARecordData(RecordData):
+ """Data of an A record"""
+
def to_bytes(self, offset, composer):
""" Convert to bytes
@@ -139,6 +137,8 @@ class ARecordData(RecordData):
class CNAMERecordData(RecordData):
+ """Data of a CNAME record"""
+
def to_bytes(self, offset, composer):
""" Convert to bytes
@@ -164,6 +164,8 @@ class CNAMERecordData(RecordData):
class NSRecordData(RecordData):
+ """Data of an NS record"""
+
def to_bytes(self, offset, composer):
""" Convert to bytes
@@ -189,6 +191,8 @@ class NSRecordData(RecordData):
class AAAARecordData(RecordData):
+ """Data of an AAAA record"""
+
def to_bytes(self, offset, composer):
""" Convert to bytes
@@ -213,6 +217,8 @@ class AAAARecordData(RecordData):
class GenericRecordData(RecordData):
+ """Data of a generic record"""
+
def to_bytes(self, offset, composer):
""" Convert to bytes