Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion openpgp/packet/opaque_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func TestOpaqueParseReason(t *testing.T) {
count++
}

const expectedBad = 3
const expectedBad = 2
// Test post-conditions, make sure we actually parsed packets as expected.
if badPackets != expectedBad {
t.Errorf("unexpected # unparseable packets: %d (want %d)", badPackets, expectedBad)
Expand Down
6 changes: 2 additions & 4 deletions openpgp/packet/packet.go
Original file line number Diff line number Diff line change
Expand Up @@ -375,8 +375,7 @@ func Read(r io.Reader) (p Packet, err error) {
case packetTypeMarker:
p = new(Marker)
case packetTypeTrust:
// Not implemented, just consume
err = errors.UnknownPacketTypeError(tag)
p = new(Trust)
default:
// Packet Tags from 0 to 39 are critical.
// Packet Tags from 40 to 63 are non-critical.
Expand Down Expand Up @@ -439,8 +438,7 @@ func ReadWithCheck(r io.Reader, sequence *SequenceVerifier) (p Packet, msgErr er
case packetTypeMarker:
p = new(Marker)
case packetTypeTrust:
// Not implemented, just consume
err = errors.UnknownPacketTypeError(tag)
p = new(Trust)
case packetTypePrivateKey,
packetTypePrivateSubkey,
packetTypePublicKey,
Expand Down
26 changes: 26 additions & 0 deletions openpgp/packet/trust.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package packet

import (
"io"
)

type Trust struct {
Contents []byte
}

// parse performs no checks, just imports the raw packet body contents.
// It is the application's responsibility to check the contents.
func (t *Trust) parse(reader io.Reader) (err error) {
t.Contents, err = io.ReadAll(reader)
return
}

// Serialize marshals the trust packet to writer in the form of an OpenPGP packet, including header.
func (t *Trust) Serialize(writer io.Writer) error {
err := serializeHeader(writer, packetTypeTrust, len(t.Contents))
if err != nil {
return err
}
_, err = writer.Write(t.Contents)
return err
}
Loading