0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-20 03:52:17 +02:00

swift: Update to the current version of cbindgen

...which handles enum variants slightly differently under the
configuration options we have ('remove_underscores', relevant for
generic types rather than enum variants). The new style is closer to
Apple-idiomatic anyway.
This commit is contained in:
Jordan Rose 2023-02-27 12:24:35 -08:00
parent df05576739
commit f781b17e74
8 changed files with 101 additions and 108 deletions

View File

@ -7,7 +7,6 @@ on:
env:
CARGO_TERM_COLOR: always
CBINDGEN_VERSION: 0.20.0
NDK_VERSION: 25.2.9519653
RUST_BACKTRACE: 1
@ -171,9 +170,6 @@ jobs:
- run: rustup toolchain install $(cat rust-toolchain) --profile minimal --target aarch64-linux-android,armv7-linux-androideabi,x86_64-linux-android,i686-linux-android
- name: Install pinned cbindgen
run: cargo +stable install cbindgen --version ${CBINDGEN_VERSION}
- name: Verify that the JNI bindings are up to date
run: rust/bridge/jni/bin/gen_java_decl.py --verify
@ -245,9 +241,6 @@ jobs:
- run: rustup toolchain install $(cat rust-toolchain) --profile minimal
- name: Install pinned cbindgen
run: cargo +stable install cbindgen --version ${CBINDGEN_VERSION}
- name: Build libsignal-ffi
run: swift/build_ffi.sh -d -v --verify-ffi

View File

@ -122,9 +122,9 @@ internal func withIdentityKeyStore<Result>(_ store: IdentityKeyStore, _ body: (U
defer { cloneOrForgetAsNeeded(&public_key) }
let direction: Direction
switch SignalDirection(raw_direction) {
case SignalDirection_Sending:
case SignalDirectionSending:
direction = .sending
case SignalDirection_Receiving:
case SignalDirectionReceiving:
direction = .receiving
default:
assertionFailure("unexpected direction value")

View File

@ -59,75 +59,75 @@ internal func checkError(_ error: SignalFfiErrorRef?) throws {
defer { signal_error_free(error) }
switch SignalErrorCode(errType) {
case SignalErrorCode_InvalidState:
case SignalErrorCodeInvalidState:
throw SignalError.invalidState(errStr)
case SignalErrorCode_InternalError:
case SignalErrorCodeInternalError:
throw SignalError.internalError(errStr)
case SignalErrorCode_NullParameter:
case SignalErrorCodeNullParameter:
throw SignalError.nullParameter(errStr)
case SignalErrorCode_InvalidArgument:
case SignalErrorCodeInvalidArgument:
throw SignalError.invalidArgument(errStr)
case SignalErrorCode_InvalidType:
case SignalErrorCodeInvalidType:
throw SignalError.invalidType(errStr)
case SignalErrorCode_InvalidUtf8String:
case SignalErrorCodeInvalidUtf8String:
throw SignalError.invalidUtf8String(errStr)
case SignalErrorCode_ProtobufError:
case SignalErrorCodeProtobufError:
throw SignalError.protobufError(errStr)
case SignalErrorCode_LegacyCiphertextVersion:
case SignalErrorCodeLegacyCiphertextVersion:
throw SignalError.legacyCiphertextVersion(errStr)
case SignalErrorCode_UnknownCiphertextVersion:
case SignalErrorCodeUnknownCiphertextVersion:
throw SignalError.unknownCiphertextVersion(errStr)
case SignalErrorCode_UnrecognizedMessageVersion:
case SignalErrorCodeUnrecognizedMessageVersion:
throw SignalError.unrecognizedMessageVersion(errStr)
case SignalErrorCode_InvalidMessage:
case SignalErrorCodeInvalidMessage:
throw SignalError.invalidMessage(errStr)
case SignalErrorCode_FingerprintParsingError:
case SignalErrorCodeFingerprintParsingError:
throw SignalError.fingerprintParsingError(errStr)
case SignalErrorCode_SealedSenderSelfSend:
case SignalErrorCodeSealedSenderSelfSend:
throw SignalError.sealedSenderSelfSend(errStr)
case SignalErrorCode_InvalidKey:
case SignalErrorCodeInvalidKey:
throw SignalError.invalidKey(errStr)
case SignalErrorCode_InvalidSignature:
case SignalErrorCodeInvalidSignature:
throw SignalError.invalidSignature(errStr)
case SignalErrorCode_FingerprintVersionMismatch:
case SignalErrorCodeFingerprintVersionMismatch:
throw SignalError.fingerprintVersionMismatch(errStr)
case SignalErrorCode_UntrustedIdentity:
case SignalErrorCodeUntrustedIdentity:
throw SignalError.untrustedIdentity(errStr)
case SignalErrorCode_InvalidKeyIdentifier:
case SignalErrorCodeInvalidKeyIdentifier:
throw SignalError.invalidKeyIdentifier(errStr)
case SignalErrorCode_SessionNotFound:
case SignalErrorCodeSessionNotFound:
throw SignalError.sessionNotFound(errStr)
case SignalErrorCode_InvalidSession:
case SignalErrorCodeInvalidSession:
throw SignalError.invalidSession(errStr)
case SignalErrorCode_InvalidRegistrationId:
case SignalErrorCodeInvalidRegistrationId:
let address: ProtocolAddress = try invokeFnReturningNativeHandle {
signal_error_get_address(error, $0)
}
throw SignalError.invalidRegistrationId(address: address, message: errStr)
case SignalErrorCode_InvalidSenderKeySession:
case SignalErrorCodeInvalidSenderKeySession:
let distributionId = try invokeFnReturningUuid {
signal_error_get_uuid(error, $0)
}
throw SignalError.invalidSenderKeySession(distributionId: distributionId, message: errStr)
case SignalErrorCode_DuplicatedMessage:
case SignalErrorCodeDuplicatedMessage:
throw SignalError.duplicatedMessage(errStr)
case SignalErrorCode_VerificationFailure:
case SignalErrorCodeVerificationFailure:
throw SignalError.verificationFailed(errStr)
case SignalErrorCode_UsernameCannotBeEmpty:
case SignalErrorCodeUsernameCannotBeEmpty:
throw SignalError.cannotBeEmpty(errStr)
case SignalErrorCode_UsernameCannotStartWithDigit:
case SignalErrorCodeUsernameCannotStartWithDigit:
throw SignalError.cannotStartWithDigit(errStr)
case SignalErrorCode_UsernameMissingSeparator:
case SignalErrorCodeUsernameMissingSeparator:
throw SignalError.missingSeparator(errStr)
case SignalErrorCode_UsernameBadDiscriminator:
case SignalErrorCodeUsernameBadDiscriminator:
throw SignalError.badDiscriminator(errStr)
case SignalErrorCode_UsernameBadCharacter:
case SignalErrorCodeUsernameBadCharacter:
throw SignalError.badNicknameCharacter(errStr)
case SignalErrorCode_UsernameTooShort:
case SignalErrorCodeUsernameTooShort:
throw SignalError.nicknameTooShort(errStr)
case SignalErrorCode_UsernameTooLong:
case SignalErrorCodeUsernameTooLong:
throw SignalError.nicknameTooLong(errStr)
case SignalErrorCode_CallbackError:
case SignalErrorCodeCallbackError:
throw SignalError.callbackError(errStr)
default:
throw SignalError.unknown(errType, errStr)

View File

@ -9,15 +9,15 @@
static bool isEnabled(const char *_Nonnull target, SignalLogLevel level)
{
switch (level) {
case SignalLogLevel_Error:
case SignalLogLevelError:
return ShouldLogError();
case SignalLogLevel_Warn:
case SignalLogLevelWarn:
return ShouldLogWarning();
case SignalLogLevel_Info:
case SignalLogLevelInfo:
return ShouldLogInfo();
case SignalLogLevel_Debug:
case SignalLogLevelDebug:
return ShouldLogDebug();
case SignalLogLevel_Trace:
case SignalLogLevelTrace:
return ShouldLogVerbose();
default:
return ShouldLogError();
@ -43,19 +43,19 @@ static void logMessage(const char *_Nonnull target,
}
switch (level) {
case SignalLogLevel_Error:
case SignalLogLevelError:
[OWSLogger error:formattedMessage];
break;
case SignalLogLevel_Warn:
case SignalLogLevelWarn:
[OWSLogger warn:formattedMessage];
break;
case SignalLogLevel_Info:
case SignalLogLevelInfo:
[OWSLogger info:formattedMessage];
break;
case SignalLogLevel_Debug:
case SignalLogLevelDebug:
[OWSLogger debug:formattedMessage];
break;
case SignalLogLevel_Trace:
case SignalLogLevelTrace:
[OWSLogger verbose:formattedMessage];
break;
default:
@ -72,7 +72,7 @@ static void flush()
__attribute__((constructor)) static void initLogging()
{
@autoreleasepool {
SignalLogLevel logLevel = ShouldLogDebug() ? SignalLogLevel_Trace : SignalLogLevel_Info;
SignalLogLevel logLevel = ShouldLogDebug() ? SignalLogLevelTrace : SignalLogLevelInfo;
signal_init_logger(logLevel, (SignalFfiLogger) { .enabled = isEnabled, .log = logMessage, .flush = flush });
}
}

View File

@ -39,13 +39,13 @@ public class UnidentifiedSenderMessageContent: NativeHandleOwner {
}
public static var `default`: Self {
return Self(SignalContentHint_Default)
return Self(SignalContentHintDefault)
}
public static var resendable: Self {
return Self(SignalContentHint_Resendable)
return Self(SignalContentHintResendable)
}
public static var implicit: Self {
return Self(SignalContentHint_Implicit)
return Self(SignalContentHintImplicit)
}
}

View File

@ -17,16 +17,16 @@ public class CiphertextMessage: NativeHandleOwner {
}
public static var whisper: Self {
return Self(SignalCiphertextMessageType_Whisper)
return Self(SignalCiphertextMessageTypeWhisper)
}
public static var preKey: Self {
return Self(SignalCiphertextMessageType_PreKey)
return Self(SignalCiphertextMessageTypePreKey)
}
public static var senderKey: Self {
return Self(SignalCiphertextMessageType_SenderKey)
return Self(SignalCiphertextMessageTypeSenderKey)
}
public static var plaintext: Self {
return Self(SignalCiphertextMessageType_Plaintext)
return Self(SignalCiphertextMessageTypePlaintext)
}
}

View File

@ -114,66 +114,66 @@ SPDX-License-Identifier: AGPL-3.0-only
#define SignalSECONDS_PER_DAY 86400
typedef enum {
SignalCiphertextMessageType_Whisper = 2,
SignalCiphertextMessageType_PreKey = 3,
SignalCiphertextMessageType_SenderKey = 7,
SignalCiphertextMessageType_Plaintext = 8,
SignalCiphertextMessageTypeWhisper = 2,
SignalCiphertextMessageTypePreKey = 3,
SignalCiphertextMessageTypeSenderKey = 7,
SignalCiphertextMessageTypePlaintext = 8,
} SignalCiphertextMessageType;
typedef enum {
SignalContentHint_Default = 0,
SignalContentHint_Resendable = 1,
SignalContentHint_Implicit = 2,
SignalContentHintDefault = 0,
SignalContentHintResendable = 1,
SignalContentHintImplicit = 2,
} SignalContentHint;
typedef enum {
SignalDirection_Sending = 0,
SignalDirection_Receiving = 1,
SignalDirectionSending = 0,
SignalDirectionReceiving = 1,
} SignalDirection;
typedef enum {
SignalLogLevel_Error = 1,
SignalLogLevel_Warn,
SignalLogLevel_Info,
SignalLogLevel_Debug,
SignalLogLevel_Trace,
SignalLogLevelError = 1,
SignalLogLevelWarn,
SignalLogLevelInfo,
SignalLogLevelDebug,
SignalLogLevelTrace,
} SignalLogLevel;
typedef enum {
SignalErrorCode_UnknownError = 1,
SignalErrorCode_InvalidState = 2,
SignalErrorCode_InternalError = 3,
SignalErrorCode_NullParameter = 4,
SignalErrorCode_InvalidArgument = 5,
SignalErrorCode_InvalidType = 6,
SignalErrorCode_InvalidUtf8String = 7,
SignalErrorCode_ProtobufError = 10,
SignalErrorCode_LegacyCiphertextVersion = 21,
SignalErrorCode_UnknownCiphertextVersion = 22,
SignalErrorCode_UnrecognizedMessageVersion = 23,
SignalErrorCode_InvalidMessage = 30,
SignalErrorCode_SealedSenderSelfSend = 31,
SignalErrorCode_InvalidKey = 40,
SignalErrorCode_InvalidSignature = 41,
SignalErrorCode_InvalidAttestationData = 42,
SignalErrorCode_FingerprintVersionMismatch = 51,
SignalErrorCode_FingerprintParsingError = 52,
SignalErrorCode_UntrustedIdentity = 60,
SignalErrorCode_InvalidKeyIdentifier = 70,
SignalErrorCode_SessionNotFound = 80,
SignalErrorCode_InvalidRegistrationId = 81,
SignalErrorCode_InvalidSession = 82,
SignalErrorCode_InvalidSenderKeySession = 83,
SignalErrorCode_DuplicatedMessage = 90,
SignalErrorCode_CallbackError = 100,
SignalErrorCode_VerificationFailure = 110,
SignalErrorCode_UsernameCannotBeEmpty = 120,
SignalErrorCode_UsernameCannotStartWithDigit = 121,
SignalErrorCode_UsernameMissingSeparator = 122,
SignalErrorCode_UsernameBadDiscriminator = 123,
SignalErrorCode_UsernameBadCharacter = 124,
SignalErrorCode_UsernameTooShort = 125,
SignalErrorCode_UsernameTooLong = 126,
SignalErrorCodeUnknownError = 1,
SignalErrorCodeInvalidState = 2,
SignalErrorCodeInternalError = 3,
SignalErrorCodeNullParameter = 4,
SignalErrorCodeInvalidArgument = 5,
SignalErrorCodeInvalidType = 6,
SignalErrorCodeInvalidUtf8String = 7,
SignalErrorCodeProtobufError = 10,
SignalErrorCodeLegacyCiphertextVersion = 21,
SignalErrorCodeUnknownCiphertextVersion = 22,
SignalErrorCodeUnrecognizedMessageVersion = 23,
SignalErrorCodeInvalidMessage = 30,
SignalErrorCodeSealedSenderSelfSend = 31,
SignalErrorCodeInvalidKey = 40,
SignalErrorCodeInvalidSignature = 41,
SignalErrorCodeInvalidAttestationData = 42,
SignalErrorCodeFingerprintVersionMismatch = 51,
SignalErrorCodeFingerprintParsingError = 52,
SignalErrorCodeUntrustedIdentity = 60,
SignalErrorCodeInvalidKeyIdentifier = 70,
SignalErrorCodeSessionNotFound = 80,
SignalErrorCodeInvalidRegistrationId = 81,
SignalErrorCodeInvalidSession = 82,
SignalErrorCodeInvalidSenderKeySession = 83,
SignalErrorCodeDuplicatedMessage = 90,
SignalErrorCodeCallbackError = 100,
SignalErrorCodeVerificationFailure = 110,
SignalErrorCodeUsernameCannotBeEmpty = 120,
SignalErrorCodeUsernameCannotStartWithDigit = 121,
SignalErrorCodeUsernameMissingSeparator = 122,
SignalErrorCodeUsernameBadDiscriminator = 123,
SignalErrorCodeUsernameBadCharacter = 124,
SignalErrorCodeUsernameTooShort = 125,
SignalErrorCodeUsernameTooLong = 126,
} SignalErrorCode;
/**

View File

@ -16,7 +16,7 @@ class TestCaseBase: XCTestCase {
#if canImport(SignalCoreKit)
DDLog.add(DDOSLogger.sharedInstance)
#else
signal_init_logger(SignalLogLevel_Trace, .init(
signal_init_logger(SignalLogLevelTrace, .init(
enabled: { _, _ in true },
log: { _, level, file, line, message in
let file = file.map { String(cString: $0) } ?? "<unknown>"