summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorStephen Paul Weber <singpolyma@singpolyma.net>2012-04-25 11:11:09 -0500
committerStephen Paul Weber <singpolyma@singpolyma.net>2012-04-25 11:11:09 -0500
commitda82b6a356e6a1571047fdea15d26ec10c869fa4 (patch)
tree84876a89db1a41a81b36ab17b85b9e1dfeda15af /tests
parent7de451e7d9761126da49cc71ef1fe6eed728ccb4 (diff)
Make SignaturePacket opaque, emit trailer
Instead of the Put instance emitting the actual packet header, it emits the start of the trailer data (which is the same bytes as the packet header). SignaturePacket is opaque and there is a smart constructor, signaturePacket, that takes all the data *except* the trailer and auto-generates the trailer, making sure the trailer is always valid, so that the above becomes possible. WARNING: SignaturePacket is not *fully* opaque. You *may* still update fields directly using record syntax (on an already constructed packet). This may be useful, but if any of the values that make up the trailer are changed this will MAKE THE PACKET INVALID. This trade-off is deemed acceptable for now, but may change in the future. Any fields that do not affect the trailer (unhashed subpackets, etc) may be safely updated in this way. Other fields MUST be updated by constructing a new SignaturePacket with the smart constructor. This usage is exemplefied by Data.OpenPGP.Crypto The major upside of this is that it is now possible to re-emit unmodified (or even modified, if only fields not in the trailer are modified) SignaturePackets without invalidating the signature. Closes #11
Diffstat (limited to 'tests')
-rw-r--r--tests/suite.hs68
1 files changed, 34 insertions, 34 deletions
diff --git a/tests/suite.hs b/tests/suite.hs
index 9480c0b..17ab3cb 100644
--- a/tests/suite.hs
+++ b/tests/suite.hs
@@ -63,90 +63,90 @@ tests secring =
63 testGroup "Serialization" [ 63 testGroup "Serialization" [
64 testCase "000001-006.public_key" (testSerialization "000001-006.public_key"), 64 testCase "000001-006.public_key" (testSerialization "000001-006.public_key"),
65 testCase "000002-013.user_id" (testSerialization "000002-013.user_id"), 65 testCase "000002-013.user_id" (testSerialization "000002-013.user_id"),
66 -- Issue #11 -- testCase "000003-002.sig" (testSerialization "000003-002.sig"), 66 testCase "000003-002.sig" (testSerialization "000003-002.sig"),
67 testCase "000004-012.ring_trust" (testSerialization "000004-012.ring_trust"), 67 testCase "000004-012.ring_trust" (testSerialization "000004-012.ring_trust"),
68 -- Issue #11 -- testCase "000005-002.sig" (testSerialization "000005-002.sig"), 68 testCase "000005-002.sig" (testSerialization "000005-002.sig"),
69 testCase "000006-012.ring_trust" (testSerialization "000006-012.ring_trust"), 69 testCase "000006-012.ring_trust" (testSerialization "000006-012.ring_trust"),
70 -- Issue #11 -- testCase "000007-002.sig" (testSerialization "000007-002.sig"), 70 testCase "000007-002.sig" (testSerialization "000007-002.sig"),
71 testCase "000008-012.ring_trust" (testSerialization "000008-012.ring_trust"), 71 testCase "000008-012.ring_trust" (testSerialization "000008-012.ring_trust"),
72 -- Issue #11 -- testCase "000009-002.sig" (testSerialization "000009-002.sig"), 72 testCase "000009-002.sig" (testSerialization "000009-002.sig"),
73 testCase "000010-012.ring_trust" (testSerialization "000010-012.ring_trust"), 73 testCase "000010-012.ring_trust" (testSerialization "000010-012.ring_trust"),
74 -- Issue #11 -- testCase "000011-002.sig" (testSerialization "000011-002.sig"), 74 testCase "000011-002.sig" (testSerialization "000011-002.sig"),
75 testCase "000012-012.ring_trust" (testSerialization "000012-012.ring_trust"), 75 testCase "000012-012.ring_trust" (testSerialization "000012-012.ring_trust"),
76 testCase "000013-014.public_subkey" (testSerialization "000013-014.public_subkey"), 76 testCase "000013-014.public_subkey" (testSerialization "000013-014.public_subkey"),
77 -- Issue #11 -- testCase "000014-002.sig" (testSerialization "000014-002.sig"), 77 testCase "000014-002.sig" (testSerialization "000014-002.sig"),
78 testCase "000015-012.ring_trust" (testSerialization "000015-012.ring_trust"), 78 testCase "000015-012.ring_trust" (testSerialization "000015-012.ring_trust"),
79 testCase "000016-006.public_key" (testSerialization "000016-006.public_key"), 79 testCase "000016-006.public_key" (testSerialization "000016-006.public_key"),
80 -- Issue #11 -- testCase "000017-002.sig" (testSerialization "000017-002.sig"), 80 testCase "000017-002.sig" (testSerialization "000017-002.sig"),
81 testCase "000018-012.ring_trust" (testSerialization "000018-012.ring_trust"), 81 testCase "000018-012.ring_trust" (testSerialization "000018-012.ring_trust"),
82 testCase "000019-013.user_id" (testSerialization "000019-013.user_id"), 82 testCase "000019-013.user_id" (testSerialization "000019-013.user_id"),
83 -- Issue #11 -- testCase "000020-002.sig" (testSerialization "000020-002.sig"), 83 testCase "000020-002.sig" (testSerialization "000020-002.sig"),
84 testCase "000021-012.ring_trust" (testSerialization "000021-012.ring_trust"), 84 testCase "000021-012.ring_trust" (testSerialization "000021-012.ring_trust"),
85 -- Issue #11 -- testCase "000022-002.sig" (testSerialization "000022-002.sig"), 85 testCase "000022-002.sig" (testSerialization "000022-002.sig"),
86 testCase "000023-012.ring_trust" (testSerialization "000023-012.ring_trust"), 86 testCase "000023-012.ring_trust" (testSerialization "000023-012.ring_trust"),
87 testCase "000024-014.public_subkey" (testSerialization "000024-014.public_subkey"), 87 testCase "000024-014.public_subkey" (testSerialization "000024-014.public_subkey"),
88 -- Issue #11 -- testCase "000025-002.sig" (testSerialization "000025-002.sig"), 88 testCase "000025-002.sig" (testSerialization "000025-002.sig"),
89 testCase "000026-012.ring_trust" (testSerialization "000026-012.ring_trust"), 89 testCase "000026-012.ring_trust" (testSerialization "000026-012.ring_trust"),
90 testCase "000027-006.public_key" (testSerialization "000027-006.public_key"), 90 testCase "000027-006.public_key" (testSerialization "000027-006.public_key"),
91 -- Issue #11 -- testCase "000028-002.sig" (testSerialization "000028-002.sig"), 91 testCase "000028-002.sig" (testSerialization "000028-002.sig"),
92 testCase "000029-012.ring_trust" (testSerialization "000029-012.ring_trust"), 92 testCase "000029-012.ring_trust" (testSerialization "000029-012.ring_trust"),
93 testCase "000030-013.user_id" (testSerialization "000030-013.user_id"), 93 testCase "000030-013.user_id" (testSerialization "000030-013.user_id"),
94 -- Issue #11 -- testCase "000031-002.sig" (testSerialization "000031-002.sig"), 94 testCase "000031-002.sig" (testSerialization "000031-002.sig"),
95 testCase "000032-012.ring_trust" (testSerialization "000032-012.ring_trust"), 95 testCase "000032-012.ring_trust" (testSerialization "000032-012.ring_trust"),
96 -- Issue #11 -- testCase "000033-002.sig" (testSerialization "000033-002.sig"), 96 testCase "000033-002.sig" (testSerialization "000033-002.sig"),
97 testCase "000034-012.ring_trust" (testSerialization "000034-012.ring_trust"), 97 testCase "000034-012.ring_trust" (testSerialization "000034-012.ring_trust"),
98 testCase "000035-006.public_key" (testSerialization "000035-006.public_key"), 98 testCase "000035-006.public_key" (testSerialization "000035-006.public_key"),
99 testCase "000036-013.user_id" (testSerialization "000036-013.user_id"), 99 testCase "000036-013.user_id" (testSerialization "000036-013.user_id"),
100 -- Issue #11 -- testCase "000037-002.sig" (testSerialization "000037-002.sig"), 100 testCase "000037-002.sig" (testSerialization "000037-002.sig"),
101 testCase "000038-012.ring_trust" (testSerialization "000038-012.ring_trust"), 101 testCase "000038-012.ring_trust" (testSerialization "000038-012.ring_trust"),
102 -- Issue #11 -- testCase "000039-002.sig" (testSerialization "000039-002.sig"), 102 testCase "000039-002.sig" (testSerialization "000039-002.sig"),
103 testCase "000040-012.ring_trust" (testSerialization "000040-012.ring_trust"), 103 testCase "000040-012.ring_trust" (testSerialization "000040-012.ring_trust"),
104 testCase "000041-017.attribute" (testSerialization "000041-017.attribute"), 104 testCase "000041-017.attribute" (testSerialization "000041-017.attribute"),
105 -- Issue #11 -- testCase "000042-002.sig" (testSerialization "000042-002.sig"), 105 testCase "000042-002.sig" (testSerialization "000042-002.sig"),
106 testCase "000043-012.ring_trust" (testSerialization "000043-012.ring_trust"), 106 testCase "000043-012.ring_trust" (testSerialization "000043-012.ring_trust"),
107 testCase "000044-014.public_subkey" (testSerialization "000044-014.public_subkey"), 107 testCase "000044-014.public_subkey" (testSerialization "000044-014.public_subkey"),
108 -- Issue #11 -- testCase "000045-002.sig" (testSerialization "000045-002.sig"), 108 testCase "000045-002.sig" (testSerialization "000045-002.sig"),
109 testCase "000046-012.ring_trust" (testSerialization "000046-012.ring_trust"), 109 testCase "000046-012.ring_trust" (testSerialization "000046-012.ring_trust"),
110 testCase "000047-005.secret_key" (testSerialization "000047-005.secret_key"), 110 testCase "000047-005.secret_key" (testSerialization "000047-005.secret_key"),
111 testCase "000048-013.user_id" (testSerialization "000048-013.user_id"), 111 testCase "000048-013.user_id" (testSerialization "000048-013.user_id"),
112 -- Issue #11 -- testCase "000049-002.sig" (testSerialization "000049-002.sig"), 112 testCase "000049-002.sig" (testSerialization "000049-002.sig"),
113 testCase "000050-012.ring_trust" (testSerialization "000050-012.ring_trust"), 113 testCase "000050-012.ring_trust" (testSerialization "000050-012.ring_trust"),
114 testCase "000051-007.secret_subkey" (testSerialization "000051-007.secret_subkey"), 114 testCase "000051-007.secret_subkey" (testSerialization "000051-007.secret_subkey"),
115 -- Issue #11 -- testCase "000052-002.sig" (testSerialization "000052-002.sig"), 115 testCase "000052-002.sig" (testSerialization "000052-002.sig"),
116 testCase "000053-012.ring_trust" (testSerialization "000053-012.ring_trust"), 116 testCase "000053-012.ring_trust" (testSerialization "000053-012.ring_trust"),
117 testCase "000054-005.secret_key" (testSerialization "000054-005.secret_key"), 117 testCase "000054-005.secret_key" (testSerialization "000054-005.secret_key"),
118 -- Issue #11 -- testCase "000055-002.sig" (testSerialization "000055-002.sig"), 118 testCase "000055-002.sig" (testSerialization "000055-002.sig"),
119 testCase "000056-012.ring_trust" (testSerialization "000056-012.ring_trust"), 119 testCase "000056-012.ring_trust" (testSerialization "000056-012.ring_trust"),
120 testCase "000057-013.user_id" (testSerialization "000057-013.user_id"), 120 testCase "000057-013.user_id" (testSerialization "000057-013.user_id"),
121 -- Issue #11 -- testCase "000058-002.sig" (testSerialization "000058-002.sig"), 121 testCase "000058-002.sig" (testSerialization "000058-002.sig"),
122 testCase "000059-012.ring_trust" (testSerialization "000059-012.ring_trust"), 122 testCase "000059-012.ring_trust" (testSerialization "000059-012.ring_trust"),
123 testCase "000060-007.secret_subkey" (testSerialization "000060-007.secret_subkey"), 123 testCase "000060-007.secret_subkey" (testSerialization "000060-007.secret_subkey"),
124 -- Issue #11 -- testCase "000061-002.sig" (testSerialization "000061-002.sig"), 124 testCase "000061-002.sig" (testSerialization "000061-002.sig"),
125 testCase "000062-012.ring_trust" (testSerialization "000062-012.ring_trust"), 125 testCase "000062-012.ring_trust" (testSerialization "000062-012.ring_trust"),
126 testCase "000063-005.secret_key" (testSerialization "000063-005.secret_key"), 126 testCase "000063-005.secret_key" (testSerialization "000063-005.secret_key"),
127 -- Issue #11 -- testCase "000064-002.sig" (testSerialization "000064-002.sig"), 127 testCase "000064-002.sig" (testSerialization "000064-002.sig"),
128 testCase "000065-012.ring_trust" (testSerialization "000065-012.ring_trust"), 128 testCase "000065-012.ring_trust" (testSerialization "000065-012.ring_trust"),
129 testCase "000066-013.user_id" (testSerialization "000066-013.user_id"), 129 testCase "000066-013.user_id" (testSerialization "000066-013.user_id"),
130 -- Issue #11 -- testCase "000067-002.sig" (testSerialization "000067-002.sig"), 130 testCase "000067-002.sig" (testSerialization "000067-002.sig"),
131 testCase "000068-012.ring_trust" (testSerialization "000068-012.ring_trust"), 131 testCase "000068-012.ring_trust" (testSerialization "000068-012.ring_trust"),
132 testCase "000069-005.secret_key" (testSerialization "000069-005.secret_key"), 132 testCase "000069-005.secret_key" (testSerialization "000069-005.secret_key"),
133 testCase "000070-013.user_id" (testSerialization "000070-013.user_id"), 133 testCase "000070-013.user_id" (testSerialization "000070-013.user_id"),
134 -- Issue #11 -- testCase "000071-002.sig" (testSerialization "000071-002.sig"), 134 testCase "000071-002.sig" (testSerialization "000071-002.sig"),
135 testCase "000072-012.ring_trust" (testSerialization "000072-012.ring_trust"), 135 testCase "000072-012.ring_trust" (testSerialization "000072-012.ring_trust"),
136 testCase "000073-017.attribute" (testSerialization "000073-017.attribute"), 136 testCase "000073-017.attribute" (testSerialization "000073-017.attribute"),
137 -- Issue #11 -- testCase "000074-002.sig" (testSerialization "000074-002.sig"), 137 testCase "000074-002.sig" (testSerialization "000074-002.sig"),
138 testCase "000075-012.ring_trust" (testSerialization "000075-012.ring_trust"), 138 testCase "000075-012.ring_trust" (testSerialization "000075-012.ring_trust"),
139 testCase "000076-007.secret_subkey" (testSerialization "000076-007.secret_subkey"), 139 testCase "000076-007.secret_subkey" (testSerialization "000076-007.secret_subkey"),
140 -- Issue #11 -- testCase "000077-002.sig" (testSerialization "000077-002.sig"), 140 testCase "000077-002.sig" (testSerialization "000077-002.sig"),
141 testCase "000078-012.ring_trust" (testSerialization "000078-012.ring_trust"), 141 testCase "000078-012.ring_trust" (testSerialization "000078-012.ring_trust"),
142 -- Issue #11 -- testCase "pubring.gpg" (testSerialization "pubring.gpg"),
143 -- Issue #11 -- testCase "secring.gpg" (testSerialization "secring.gpg"), 142 -- Issue #11 -- testCase "secring.gpg" (testSerialization "secring.gpg"),
144 -- Issue #11 -- testCase "compressedsig.gpg" (testSerialization "compressedsig.gpg"), 143 testCase "pubring.gpg" (testSerialization "pubring.gpg"),
145 -- Issue #11 -- testCase "compressedsig-zlib.gpg" (testSerialization "compressedsig-zlib.gpg"), 144 testCase "compressedsig.gpg" (testSerialization "compressedsig.gpg"),
146 -- Issue #11 -- testCase "compressedsig-bzip2.gpg" (testSerialization "compressedsig-bzip2.gpg"), 145 testCase "compressedsig-zlib.gpg" (testSerialization "compressedsig-zlib.gpg"),
147 testCase "onepass_sig" (testSerialization "onepass_sig") 146 testCase "compressedsig-bzip2.gpg" (testSerialization "compressedsig-bzip2.gpg"),
148 -- Issue #11 -- testCase "uncompressed-ops-dsa.gpg" (testSerialization "uncompressed-ops-dsa.gpg"), 147 testCase "onepass_sig" (testSerialization "onepass_sig"),
149 -- Issue #11 -- testCase "uncompressed-ops-rsa.gpg" (testSerialization "uncompressed-ops-rsa.gpg"), 148 testCase "uncompressed-ops-dsa.gpg" (testSerialization "uncompressed-ops-dsa.gpg"),
149 testCase "uncompressed-ops-rsa.gpg" (testSerialization "uncompressed-ops-rsa.gpg")
150 ], 150 ],
151 testGroup "Fingerprint" [ 151 testGroup "Fingerprint" [
152 testCase "000001-006.public_key" (testFingerprint "000001-006.public_key" "421F28FEAAD222F856C8FFD5D4D54EA16F87040E"), 152 testCase "000001-006.public_key" (testFingerprint "000001-006.public_key" "421F28FEAAD222F856C8FFD5D4D54EA16F87040E"),