0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-19 19:42:19 +02:00

Don't parse mp4san or webpsan with cbindgen

This commit is contained in:
Alex Konradi 2024-08-14 15:10:10 -04:00 committed by GitHub
parent f89e616a4c
commit d5ba8b1947
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 13 additions and 16 deletions

View File

@ -89,8 +89,6 @@ include = [
"zkgroup",
"signal-media",
"mediasan-common",
"mp4san",
"webpsan",
]
extra_bindings = ["libsignal-bridge", "libsignal-bridge-types", "zkgroup"]

View File

@ -4,7 +4,7 @@
//
use libsignal_bridge_macros::*;
use signal_media::sanitize::mp4::SanitizedMetadata;
use libsignal_bridge_types::media::SanitizedMetadata;
use signal_media::sanitize::{mp4, webp};
use crate::io::{AsyncInput, InputStream, SyncInput, SyncInputStream};
@ -32,7 +32,7 @@ async fn Mp4Sanitizer_Sanitize(
) -> Result<SanitizedMetadata, mp4::Error> {
let input = AsyncInput::new(input, len);
let metadata = mp4::sanitize(input).await?;
Ok(metadata)
Ok(SanitizedMetadata(metadata))
}
#[bridge_fn]
@ -44,15 +44,15 @@ fn WebpSanitizer_Sanitize(input: &mut dyn SyncInputStream) -> Result<(), webp::E
#[bridge_fn]
fn SanitizedMetadata_GetMetadata(sanitized: &SanitizedMetadata) -> &[u8] {
sanitized.metadata.as_deref().unwrap_or_default()
sanitized.0.metadata.as_deref().unwrap_or_default()
}
#[bridge_fn]
fn SanitizedMetadata_GetDataOffset(sanitized: &SanitizedMetadata) -> u64 {
sanitized.data.offset
sanitized.0.data.offset
}
#[bridge_fn]
fn SanitizedMetadata_GetDataLen(sanitized: &SanitizedMetadata) -> u64 {
sanitized.data.len
sanitized.0.data.len
}

View File

@ -47,8 +47,10 @@ pub mod message_backup;
pub mod io;
#[cfg(feature = "signal-media")]
mod media {
use signal_media::sanitize::mp4::SanitizedMetadata;
pub mod media {
// Wrapper struct for cbindgen
#[derive(Clone, Debug)]
pub struct SanitizedMetadata(pub signal_media::sanitize::mp4::SanitizedMetadata);
use crate::*;

View File

@ -20,8 +20,6 @@ SPDX-License-Identifier: AGPL-3.0-only
*/
#define SignalFourCC_ENCODED_LEN 4
#define SignalBoxHeader_MAX_SIZE 32
#define SignalNUM_AUTH_CRED_ATTRIBUTES 3
#define SignalNUM_PROFILE_KEY_CRED_ATTRIBUTES 4
@ -263,10 +261,9 @@ typedef struct SignalProtocolAddress SignalProtocolAddress;
typedef struct SignalPublicKey SignalPublicKey;
/**
* Sanitized metadata returned by the sanitizer.
*/
#if defined(SIGNAL_MEDIA_SUPPORTED)
typedef struct SignalSanitizedMetadata SignalSanitizedMetadata;
#endif
typedef struct SignalSenderCertificate SignalSenderCertificate;
@ -1780,4 +1777,4 @@ SignalFfiError *signal_testing_chat_request_get_header_value(const char **out, c
SignalFfiError *signal_testing_chat_request_get_body(SignalOwnedBuffer *out, const SignalHttpRequest *request);
#endif /* SIGNAL_FFI_H_ */
#endif /* SIGNAL_FFI_H_ */

View File

@ -28,4 +28,4 @@ SignalFfiError *signal_comparable_backup_get_comparable_string(const char **out,
SignalFfiError *signal_comparable_backup_get_unknown_fields(SignalStringArray *out, const SignalComparableBackup *backup);
#endif /* SIGNAL_FFI_TESTING_H_ */
#endif /* SIGNAL_FFI_TESTING_H_ */