Skip to content

Commit fbbcfde

Browse files
committed
packet: support reading keys
1 parent c24f8c5 commit fbbcfde

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/packet.rs

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use nom::Err as NomErr;
55
use nom::IResult;
66

77
use compression::*;
8+
use key::*;
89
use literal::*;
910
use marker;
1011
use signature::*;
@@ -99,16 +100,16 @@ pub enum Packet {
99100
Signature(SignaturePacket),
100101
SymmetricKeySessionKey,
101102
OnePassSignature,
102-
SecretKey,
103-
PublicKey,
104-
SecretSubkey,
103+
SecretKey(Key),
104+
PublicKey(Key),
105+
SecretSubkey(Key),
105106
CompressedData(CompressedDataPacket),
106107
SymmetricEncryptedData,
107108
Marker,
108109
LiteralData(LiteralPacket),
109110
Trust,
110111
UserId(String),
111-
PublicSubkey,
112+
PublicSubkey(Key),
112113
UserAttribute,
113114
SymmetricEncryptedIntegrityProtectedData,
114115
ModificationDetectionCode,
@@ -121,16 +122,16 @@ impl Packet {
121122
Packet::Signature(_) => 2,
122123
Packet::SymmetricKeySessionKey => 3,
123124
Packet::OnePassSignature => 4,
124-
Packet::SecretKey => 5,
125-
Packet::PublicKey => 6,
126-
Packet::SecretSubkey => 7,
125+
Packet::SecretKey(_) => 5,
126+
Packet::PublicKey(_) => 6,
127+
Packet::SecretSubkey(_) => 7,
127128
Packet::CompressedData(_) => 8,
128129
Packet::SymmetricEncryptedData => 9,
129130
Packet::Marker => 10,
130131
Packet::LiteralData(_) => 11,
131132
Packet::Trust => 12,
132133
Packet::UserId(_) => 13,
133-
Packet::PublicSubkey => 14,
134+
Packet::PublicSubkey(_) => 14,
134135
Packet::UserAttribute => 17,
135136
Packet::SymmetricEncryptedIntegrityProtectedData => 18,
136137
Packet::ModificationDetectionCode => 19,
@@ -198,9 +199,9 @@ impl Packet {
198199
2 => Packet::Signature(SignaturePacket::from_bytes(packet_data)?),
199200
3 => Packet::SymmetricKeySessionKey,
200201
4 => Packet::OnePassSignature,
201-
5 => Packet::SecretKey,
202-
6 => Packet::PublicKey,
203-
7 => Packet::SecretSubkey,
202+
5 => Packet::SecretKey(Key::from_bytes(packet_data, false)?),
203+
6 => Packet::PublicKey(Key::from_bytes(packet_data, false)?),
204+
7 => Packet::SecretSubkey(Key::from_bytes(packet_data, true)?),
204205
8 => Packet::CompressedData(CompressedDataPacket::from_bytes(packet_data)?),
205206
9 => Packet::SymmetricEncryptedData,
206207
10 => {
@@ -210,7 +211,7 @@ impl Packet {
210211
11 => Packet::LiteralData(LiteralPacket::from_bytes(packet_data)?),
211212
12 => Packet::Trust,
212213
13 => Packet::UserId(userid::parse_userid(packet_data)?),
213-
14 => Packet::PublicSubkey,
214+
14 => Packet::PublicSubkey(Key::from_bytes(packet_data, true)?),
214215
17 => Packet::UserAttribute,
215216
18 => Packet::SymmetricEncryptedIntegrityProtectedData,
216217
19 => Packet::ModificationDetectionCode,

0 commit comments

Comments
 (0)