diff options
Diffstat (limited to 'project2/proj2_s4498062/dns/resource.py')
-rw-r--r-- | project2/proj2_s4498062/dns/resource.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/project2/proj2_s4498062/dns/resource.py b/project2/proj2_s4498062/dns/resource.py index 71f09be..adce3e7 100644 --- a/project2/proj2_s4498062/dns/resource.py +++ b/project2/proj2_s4498062/dns/resource.py @@ -30,15 +30,12 @@ class ResourceRecord(object): def to_bytes(self, offset, composer): """ Convert ResourceRecord to bytes """ - name = composer.to_bytes(offset, [self.name]) - offset += len(name) + record = composer.to_bytes(offset, [self.name]) + record += struct.pack("!HHI", self.type_, self.class_, self.ttl) + offset += len(record) + 2 rdata = self.rdata.to_bytes(offset, composer) - return (name + struct.pack( - "!HHIH", - self.type_, - self.class_, - self.ttl, - len(rdata)) + rdata) + record += struct.pack("!H", len(rdata)) + rdata + return record @classmethod def from_bytes(cls, packet, offset, parser): |