mirror of
https://github.com/signalapp/libsignal.git
synced 2024-09-20 03:52:17 +02:00
protocol: Test version bytes the same way as libsignal-protocol-java
This slipped in the original translation to Rust, but it doesn't matter in practice because both nibbles of the version byte have had the same value for a long time.
This commit is contained in:
parent
745a16aeab
commit
35810dc80b
@ -521,7 +521,7 @@ describe('SignalClient', () => {
|
||||
assert.deepEqual(skr, skrFromBytes);
|
||||
});
|
||||
it('SignalMessage and PreKeySignalMessage', () => {
|
||||
const messageVersion = 2;
|
||||
const messageVersion = 3;
|
||||
const macKey = Buffer.alloc(32, 0xab);
|
||||
const senderRatchetKey = SignalClient.PrivateKey.generate().getPublicKey();
|
||||
const counter = 9;
|
||||
|
@ -193,15 +193,14 @@ impl TryFrom<&[u8]> for SignalMessage {
|
||||
return Err(SignalProtocolError::CiphertextMessageTooShort(value.len()));
|
||||
}
|
||||
let message_version = value[0] >> 4;
|
||||
let ciphertext_version = value[0] & 0x0F;
|
||||
if ciphertext_version < CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
if message_version < CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
return Err(SignalProtocolError::LegacyCiphertextVersion(
|
||||
ciphertext_version,
|
||||
message_version,
|
||||
));
|
||||
}
|
||||
if ciphertext_version > CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
if message_version > CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
return Err(SignalProtocolError::UnrecognizedCiphertextVersion(
|
||||
ciphertext_version,
|
||||
message_version,
|
||||
));
|
||||
}
|
||||
|
||||
@ -333,15 +332,14 @@ impl TryFrom<&[u8]> for PreKeySignalMessage {
|
||||
}
|
||||
|
||||
let message_version = value[0] >> 4;
|
||||
let ciphertext_version = value[0] & 0x0F;
|
||||
if ciphertext_version < CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
if message_version < CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
return Err(SignalProtocolError::LegacyCiphertextVersion(
|
||||
ciphertext_version,
|
||||
message_version,
|
||||
));
|
||||
}
|
||||
if ciphertext_version > CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
if message_version > CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
return Err(SignalProtocolError::UnrecognizedCiphertextVersion(
|
||||
ciphertext_version,
|
||||
message_version,
|
||||
));
|
||||
}
|
||||
|
||||
@ -474,15 +472,14 @@ impl TryFrom<&[u8]> for SenderKeyMessage {
|
||||
return Err(SignalProtocolError::CiphertextMessageTooShort(value.len()));
|
||||
}
|
||||
let message_version = value[0] >> 4;
|
||||
let ciphertext_version = value[0] & 0x0F;
|
||||
if ciphertext_version < CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
if message_version < CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
return Err(SignalProtocolError::LegacyCiphertextVersion(
|
||||
ciphertext_version,
|
||||
message_version,
|
||||
));
|
||||
}
|
||||
if ciphertext_version > CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
if message_version > CIPHERTEXT_MESSAGE_CURRENT_VERSION {
|
||||
return Err(SignalProtocolError::UnrecognizedCiphertextVersion(
|
||||
ciphertext_version,
|
||||
message_version,
|
||||
));
|
||||
}
|
||||
let proto_structure =
|
||||
|
Loading…
Reference in New Issue
Block a user