diff options
author | Stephen Paul Weber <singpolyma@singpolyma.net> | 2012-04-25 11:11:09 -0500 |
---|---|---|
committer | Stephen Paul Weber <singpolyma@singpolyma.net> | 2012-04-25 11:11:09 -0500 |
commit | da82b6a356e6a1571047fdea15d26ec10c869fa4 (patch) | |
tree | 84876a89db1a41a81b36ab17b85b9e1dfeda15af /tests | |
parent | 7de451e7d9761126da49cc71ef1fe6eed728ccb4 (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.hs | 68 |
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"), |