summaryrefslogtreecommitdiff
path: root/Arbitrary.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Arbitrary.patch')
-rw-r--r--Arbitrary.patch108
1 files changed, 108 insertions, 0 deletions
diff --git a/Arbitrary.patch b/Arbitrary.patch
new file mode 100644
index 0000000..fdbfba6
--- /dev/null
+++ b/Arbitrary.patch
@@ -0,0 +1,108 @@
1--- Data/OpenPGP/Arbitrary.hs 2012-04-27 12:38:11.492411339 -0500
2+++ arb.s 2012-04-27 12:37:57.176469214 -0500
3@@ -1 +1,2 @@
4+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-imports #-}
5 module Data.OpenPGP.Arbitrary where
6@@ -14,13 +14,18 @@
7 1 -> do x1 <- arbitrary
8 x2 <- arbitrary
9 x3 <- arbitrary
10- x4 <- arbitrary
11- x5 <- arbitrary
12+ x4 <- resize 10 (listOf arbitrary)
13+ x5 <- resize 10 (listOf arbitrary)
14 x6 <- arbitrary
15 x7 <- arbitrary
16- x8 <- arbitrary
17- x9 <- arbitrary
18- return (SignaturePacket x1 x2 x3 x4 x5 x6 x7 x8 x9)
19+ version <- choose (2 :: Word8, 4)
20+ case version of
21+ 4 ->
22+ return (signaturePacket 4 x1 x2 x3 x4 x5 x6 x7)
23+ _ -> do
24+ creation_time <- arbitrary
25+ keyid <- vectorOf 16 (elements (['0'..'9'] ++ ['A'..'F']))
26+ return (signaturePacket version x1 x2 x3 [] [SignatureCreationTimePacket creation_time, IssuerPacket keyid] x6 x7)
27 2 -> do x1 <- arbitrary
28 x2 <- arbitrary
29 x3 <- arbitrary
30@@ -88,5 +93,5 @@
31 x2 <- arbitrary
32- x3 <- arbitrary
33+ x3 <- fmap decode_s2k_count arbitrary
34 return (IteratedSaltedS2K x1 x2 x3)
35- 3 -> do x1 <- arbitrary
36+ 3 -> do x1 <- suchThat arbitrary (`notElem` [0,1,3])
37 x2 <- arbitrary
38@@ -73,7 +72,7 @@
39 4 -> return SHA384
40 5 -> return SHA512
41 6 -> return SHA224
42- 7 -> do x1 <- arbitrary
43+ 7 -> do x1 <- suchThat arbitrary (`notElem` [01,02,03,08,09,10,11])
44 return (HashAlgorithm x1)
45 _ -> error "FATAL ERROR: Arbitrary instance, logic bug"
46
47@@ -90,7 +89,7 @@
48 5 -> return ECC
49 6 -> return ECDSA
50 7 -> return DH
51- 8 -> do x1 <- arbitrary
52+ 8 -> do x1 <- suchThat arbitrary (`notElem` [01,02,03,16,17,18,19,21])
53 return (KeyAlgorithm x1)
54 _ -> error "FATAL ERROR: Arbitrary instance, logic bug"
55
56@@ -108,7 +107,7 @@
57 6 -> return AES192
58 7 -> return AES256
59 8 -> return Twofish
60- 9 -> do x1 <- arbitrary
61+ 9 -> do x1 <- suchThat arbitrary (`notElem` [00,01,02,03,04,07,08,09,10])
62 return (SymmetricAlgorithm x1)
63 _ -> error "FATAL ERROR: Arbitrary instance, logic bug"
64
65@@ -121,7 +120,7 @@
66 1 -> return ZIP
67 2 -> return ZLIB
68 3 -> return BZip2
69- 4 -> do x1 <- arbitrary
70+ 4 -> do x1 <- suchThat arbitrary (`notElem` [0,1,2,3])
71 return (CompressionAlgorithm x1)
72 _ -> error "FATAL ERROR: Arbitrary instance, logic bug"
73
74@@ -135,7 +134,7 @@
75 2 -> return KeyCompromised
76 3 -> return KeyRetired
77 4 -> return UserIDInvalid
78- 5 -> do x1 <- arbitrary
79+ 5 -> do x1 <- suchThat arbitrary (`notElem` [00,01,02,03,32])
80 return (RevocationCode x1)
81 _ -> error "FATAL ERROR: Arbitrary instance, logic bug"
82
83@@ -134,7 +133,7 @@
84
85 instance Arbitrary MPI where
86 arbitrary
87- = do x1 <- arbitrary
88+ = do x1 <- suchThat arbitrary (>=0)
89 return (MPI x1)
90
91
92@@ -160,5 +160,5 @@
93 return (PreferredSymmetricAlgorithmsPacket x1)
94 8 -> do x1 <- arbitrary
95 x2 <- arbitrary
96- x3 <- arbitrary
97+ x3 <- vectorOf 40 (elements (['0'..'9'] ++ ['A'..'F']))
98 return (RevocationKeyPacket x1 x2 x3)
99@@ -166 +165 @@
100- 9 -> do x1 <- arbitrary
101+ 9 -> do x1 <- vectorOf 16 (elements (['0'..'9'] ++ ['A'..'F']))
102@@ -217 +216 @@
103- 22 -> do x1 <- arbitrary
104+ 22 -> do x1 <- suchThat arbitrary isSignaturePacket
105@@ -169,2 +168 @@
106- x2 <- arbitrary
107- return (UnsupportedSignatureSubpacket x1 x2)
108+ return (UnsupportedSignatureSubpacket 105 x1)