From 038a69fd9f7b93932d57e6907c791448ecc29dcd Mon Sep 17 00:00:00 2001 From: Daniel Flack Date: Tue, 5 Sep 2017 09:05:56 -0700 Subject: [PATCH 1/5] Fixed Multiple CRC issue --- suitcase/structure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suitcase/structure.py b/suitcase/structure.py index 0ea743b..4c7c0cc 100644 --- a/suitcase/structure.py +++ b/suitcase/structure.py @@ -56,7 +56,7 @@ def write(self, stream): data = stream.getvalue() for field, offset in crc_fields: stream.seek(offset) - checksum_data = self.crc_field.packed_checksum(data) + checksum_data = field.packed_checksum(data) stream.write(checksum_data) def unpack(self, data, trailing=False): From 55e26ade64f2b729182bc93ddc8067dcd62e9412 Mon Sep 17 00:00:00 2001 From: Daniel Flack Date: Tue, 5 Sep 2017 09:19:00 -0700 Subject: [PATCH 2/5] Multiple CRC's, order matters --- suitcase/structure.py | 1 + 1 file changed, 1 insertion(+) diff --git a/suitcase/structure.py b/suitcase/structure.py index 4c7c0cc..ded3265 100644 --- a/suitcase/structure.py +++ b/suitcase/structure.py @@ -58,6 +58,7 @@ def write(self, stream): stream.seek(offset) checksum_data = field.packed_checksum(data) stream.write(checksum_data) + data = stream.getvalue() def unpack(self, data, trailing=False): stream = BytesIO(data) From 2fc465de049b3c74802dfd728661899bfa959473 Mon Sep 17 00:00:00 2001 From: Daniel Flack Date: Tue, 5 Sep 2017 09:55:38 -0700 Subject: [PATCH 3/5] Another fix --- suitcase/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suitcase/fields.py b/suitcase/fields.py index fb06012..9ea0c5b 100644 --- a/suitcase/fields.py +++ b/suitcase/fields.py @@ -461,7 +461,7 @@ def getval(self): return self.length_field.getval() def setval(self, value): - raise SuitcaseProgrammingError("Cannot set the value of a LengthField") + self.length_field.setval() def associate_length_consumer(self, target_field): def _length_value_provider(): From a3c1cbf07b9f861e7a4358845df74be1d4dd9299 Mon Sep 17 00:00:00 2001 From: Daniel Flack Date: Tue, 5 Sep 2017 10:00:05 -0700 Subject: [PATCH 4/5] Another fix --- suitcase/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suitcase/fields.py b/suitcase/fields.py index 9ea0c5b..b368ea5 100644 --- a/suitcase/fields.py +++ b/suitcase/fields.py @@ -461,7 +461,7 @@ def getval(self): return self.length_field.getval() def setval(self, value): - self.length_field.setval() + self.length_field.setval(value) def associate_length_consumer(self, target_field): def _length_value_provider(): From c18604dd2904078fb4372cba58c46654f4b3d6ca Mon Sep 17 00:00:00 2001 From: flakjacket95 Date: Thu, 25 Jan 2018 22:18:57 -0500 Subject: [PATCH 5/5] Error message improperly deleted --- suitcase/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/suitcase/fields.py b/suitcase/fields.py index b368ea5..fb06012 100644 --- a/suitcase/fields.py +++ b/suitcase/fields.py @@ -461,7 +461,7 @@ def getval(self): return self.length_field.getval() def setval(self, value): - self.length_field.setval(value) + raise SuitcaseProgrammingError("Cannot set the value of a LengthField") def associate_length_consumer(self, target_field): def _length_value_provider():