Return ciphertext rather than decrypted content

This commit is contained in:
Jack Hadrill
2022-03-18 15:56:33 +00:00
parent 5c17b880cf
commit be39f7bae1
8 changed files with 11400 additions and 92 deletions

View File

@@ -11,7 +11,6 @@ export interface UserDataRequestMessage {
username: string
colour: Color
clientId: string
success?: boolean
}
/**
@@ -48,27 +47,13 @@ export function packUserDataRequestMessage (properties: UserDataRequestMessage,
}
/**
* Unpack the data section of an incoming user data request (0x0002) message
* @param data The data section of an incoming user data request (0x0002) message
* @param key The key to decrypt the data with.
* @returns An unpacked user data request (0x0002) message
* Unpack the decrypted data section of an incoming user data request (0x0002) message.
* @param data The decrypted data section of an incoming user data request (0x0002) message.
* @returns An unpacked user data request (0x0002) message.
*/
export function unpackUserDataRequestMessage (data: Uint8Array, key: Uint8Array = DEFAULT_KEY): UserDataRequestMessage {
// Decrypt the incoming data.
const message = decrypt(data, MESSAGE_TYPE, key)
// Guard to check if decryption was successful.
if (!message.success) {
return {
username: '',
colour: Color('black'),
clientId: '',
success: false
}
}
export function unpackUserDataRequestMessage (data: Uint8Array): UserDataRequestMessage {
// Unpack and read data in correct format.
const packedData = SmartBuffer.from(message.plaintext)
const packedData = SmartBuffer.from(data)
const usernameLength = packedData.readUInt16()
const username = packedData.readBytes(usernameLength)
@@ -83,6 +68,5 @@ export function unpackUserDataRequestMessage (data: Uint8Array, key: Uint8Array
username: decoder.decode(username),
colour: Color.rgb(colour),
clientId: decoder.decode(clientId),
success: message.success
}
}