Merge pull request #170 from ProtonMail/backwards-compat-split-message

Create `SplitMessage()` to replace `SeparateKeyAndData(...int)`
This commit is contained in:
wussler 2022-03-01 09:28:12 +01:00 committed by GitHub
commit c2d0d4c81c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 8 deletions

View file

@ -96,7 +96,7 @@ func (keyRing *KeyRing) newAttachmentProcessor(
message := &PGPMessage{ message := &PGPMessage{
Data: ciphertext, Data: ciphertext,
} }
split, splitError := message.SeparateKeyAndData() split, splitError := message.SplitMessage()
if attachmentProc.err == nil { if attachmentProc.err == nil {
attachmentProc.err = splitError attachmentProc.err = splitError
} }

View file

@ -140,7 +140,7 @@ func NewPGPSplitMessageFromArmored(encrypted string) (*PGPSplitMessage, error) {
return nil, err return nil, err
} }
return message.SeparateKeyAndData() return message.SplitMessage()
} }
// NewPGPSignature generates a new PGPSignature from the unarmored binary data. // NewPGPSignature generates a new PGPSignature from the unarmored binary data.
@ -324,9 +324,9 @@ func (msg *PGPSplitMessage) GetPGPMessage() *PGPMessage {
return NewPGPMessage(append(msg.KeyPacket, msg.DataPacket...)) return NewPGPMessage(append(msg.KeyPacket, msg.DataPacket...))
} }
// SeparateKeyAndData splits the message into key and data packet(s). // SplitMessage splits the message into key and data packet(s).
// Parameters are for backwards compatibility and are unused. // Parameters are for backwards compatibility and are unused.
func (msg *PGPMessage) SeparateKeyAndData(_ ...int) (*PGPSplitMessage, error) { func (msg *PGPMessage) SplitMessage() (*PGPSplitMessage, error) {
bytesReader := bytes.NewReader(msg.Data) bytesReader := bytes.NewReader(msg.Data)
packets := packet.NewReader(bytesReader) packets := packet.NewReader(bytesReader)
splitPoint := int64(0) splitPoint := int64(0)
@ -352,6 +352,13 @@ Loop:
}, nil }, nil
} }
// SeparateKeyAndData splits the message into key and data packet(s).
// Parameters are for backwards compatibility and are unused.
// Deprecated: use SplitMessage().
func (msg *PGPMessage) SeparateKeyAndData(_ int, _ int) (*PGPSplitMessage, error) {
return msg.SplitMessage()
}
// GetBinary returns the unarmored binary content of the signature as a []byte. // GetBinary returns the unarmored binary content of the signature as a []byte.
func (sig *PGPSignature) GetBinary() []byte { func (sig *PGPSignature) GetBinary() []byte {
return sig.Data return sig.Data

View file

@ -96,7 +96,7 @@ func TestTextMessageEncryption(t *testing.T) {
t.Fatal("Expected no error when encrypting, got:", err) t.Fatal("Expected no error when encrypting, got:", err)
} }
split, err := ciphertext.SeparateKeyAndData() split, err := ciphertext.SplitMessage()
if err != nil { if err != nil {
t.Fatal("Expected no error when splitting, got:", err) t.Fatal("Expected no error when splitting, got:", err)
} }
@ -120,7 +120,7 @@ func TestTextMessageEncryptionWithCompression(t *testing.T) {
t.Fatal("Expected no error when encrypting, got:", err) t.Fatal("Expected no error when encrypting, got:", err)
} }
split, err := ciphertext.SeparateKeyAndData() split, err := ciphertext.SplitMessage()
if err != nil { if err != nil {
t.Fatal("Expected no error when splitting, got:", err) t.Fatal("Expected no error when splitting, got:", err)
} }
@ -252,7 +252,7 @@ func TestDummy(t *testing.T) {
t.Fatal("Expected no error when encrypting, got:", err) t.Fatal("Expected no error when encrypting, got:", err)
} }
split, err := ciphertext.SeparateKeyAndData() split, err := ciphertext.SplitMessage()
if err != nil { if err != nil {
t.Fatal("Expected no error when splitting, got:", err) t.Fatal("Expected no error when splitting, got:", err)
} }

View file

@ -278,7 +278,7 @@ func TestMDCFailDecryption(t *testing.T) {
t.Fatal("Expected no error when unarmoring, got:", err) t.Fatal("Expected no error when unarmoring, got:", err)
} }
split, err := pgpMessage.SeparateKeyAndData() split, err := pgpMessage.SplitMessage()
if err != nil { if err != nil {
t.Fatal("Expected no error when splitting, got:", err) t.Fatal("Expected no error when splitting, got:", err)
} }