diff --git a/go.mod b/go.mod index 5a7fd59c..e4c6005f 100644 --- a/go.mod +++ b/go.mod @@ -10,12 +10,12 @@ require ( github.com/rs/zerolog v1.33.0 github.com/stretchr/testify v1.9.0 github.com/tidwall/gjson v1.17.3 - go.mau.fi/util v0.7.1-0.20240827112829-84c63841c264 + go.mau.fi/util v0.7.1-0.20240901193650-bf007b10eaf6 golang.org/x/crypto v0.26.0 - golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa + golang.org/x/exp v0.0.0-20240823005443-9b4947da3948 golang.org/x/net v0.28.0 google.golang.org/protobuf v1.34.2 - maunium.net/go/mautrix v0.20.1-0.20240827191023-f56905a27645 + maunium.net/go/mautrix v0.20.1-0.20240902092346-6f1a3878c452 nhooyr.io/websocket v1.8.17 ) @@ -32,7 +32,7 @@ require ( github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rogpeppe/go-internal v1.10.0 // indirect - github.com/rs/xid v1.5.0 // indirect + github.com/rs/xid v1.6.0 // indirect github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect diff --git a/go.sum b/go.sum index 026d6361..2d7ba8f6 100644 --- a/go.sum +++ b/go.sum @@ -45,8 +45,9 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU= +github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0= @@ -64,14 +65,14 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/yuin/goldmark v1.7.4 h1:BDXOHExt+A7gwPCJgPIIq7ENvceR7we7rOS9TNoLZeg= github.com/yuin/goldmark v1.7.4/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= -go.mau.fi/util v0.7.1-0.20240827112829-84c63841c264 h1:mWujT3q8pxyJc/3BvWTgTN4+k41d1pBCvwxH56prqQA= -go.mau.fi/util v0.7.1-0.20240827112829-84c63841c264/go.mod h1:WuAOOV0O/otkxGkFUvfv/XE2ztegaoyM15ovS6SYbf4= +go.mau.fi/util v0.7.1-0.20240901193650-bf007b10eaf6 h1:cSLCabMKbR6rTPYRGWD2XaHo210BK3BtPg+CRC4A4og= +go.mau.fi/util v0.7.1-0.20240901193650-bf007b10eaf6/go.mod h1:WuAOOV0O/otkxGkFUvfv/XE2ztegaoyM15ovS6SYbf4= go.mau.fi/zeroconfig v0.1.3 h1:As9wYDKmktjmNZW5i1vn8zvJlmGKHeVxHVIBMXsm4kM= go.mau.fi/zeroconfig v0.1.3/go.mod h1:NcSJkf180JT+1IId76PcMuLTNa1CzsFFZ0nBygIQM70= golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= -golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI= -golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= +golang.org/x/exp v0.0.0-20240823005443-9b4947da3948 h1:kx6Ds3MlpiUHKj7syVnbp57++8WpuKPcR5yjLBjvLEA= +golang.org/x/exp v0.0.0-20240823005443-9b4947da3948/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= @@ -94,7 +95,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= maunium.net/go/mauflag v1.0.0 h1:YiaRc0tEI3toYtJMRIfjP+jklH45uDHtT80nUamyD4M= maunium.net/go/mauflag v1.0.0/go.mod h1:nLivPOpTpHnpzEh8jEdSL9UqO9+/KBJFmNRlwKfkPeA= -maunium.net/go/mautrix v0.20.1-0.20240827191023-f56905a27645 h1:44YDJap8wHIHJV3dt4ZIojQnnlIEd60Beh8fFP7Xsz4= -maunium.net/go/mautrix v0.20.1-0.20240827191023-f56905a27645/go.mod h1:7hh/Hx5W9lUcqL0hkSw52kMyY+6nMUPTtdDN0qVEXwI= +maunium.net/go/mautrix v0.20.1-0.20240902092346-6f1a3878c452 h1:Yq7qZMP3y/BJ7/5aaDVPkRs9vZjtfwhcbDJuLWR8cVs= +maunium.net/go/mautrix v0.20.1-0.20240902092346-6f1a3878c452/go.mod h1:IXDDoX+dqBkNnrjDMouE3FUExiR+hhmaEFsvXG3HzfQ= nhooyr.io/websocket v1.8.17 h1:KEVeLJkUywCKVsnLIDlD/5gtayKp8VoCkksHCGGfT9Y= nhooyr.io/websocket v1.8.17/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= diff --git a/pkg/libsignalgo/libsignal b/pkg/libsignalgo/libsignal index a8bc95bc..e46841ea 160000 --- a/pkg/libsignalgo/libsignal +++ b/pkg/libsignalgo/libsignal @@ -1 +1 @@ -Subproject commit a8bc95bc7ebad76ee0bd467ece3321b886cbaef7 +Subproject commit e46841ea2c1ad03bc5113eba267ac1543689d031 diff --git a/pkg/libsignalgo/libsignal-ffi.h b/pkg/libsignalgo/libsignal-ffi.h index 8c443ac9..c089648e 100644 --- a/pkg/libsignalgo/libsignal-ffi.h +++ b/pkg/libsignalgo/libsignal-ffi.h @@ -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 @@ -240,10 +238,6 @@ typedef struct SignalMessageBackupKey SignalMessageBackupKey; typedef struct SignalMessageBackupValidationOutcome SignalMessageBackupValidationOutcome; -typedef struct SignalNonSuspendingBackgroundThreadRuntime SignalNonSuspendingBackgroundThreadRuntime; - -typedef struct SignalOtherTestingHandleType SignalOtherTestingHandleType; - typedef struct SignalPinHash SignalPinHash; typedef struct SignalPlaintextContent SignalPlaintextContent; @@ -263,10 +257,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; @@ -305,8 +298,6 @@ typedef struct SignalMessage SignalMessage; typedef struct SignalSignedPreKeyRecord SignalSignedPreKeyRecord; -typedef struct SignalTestingHandleType SignalTestingHandleType; - typedef struct SignalTokioAsyncContext SignalTokioAsyncContext; typedef struct SignalUnidentifiedSenderMessageContent SignalUnidentifiedSenderMessageContent; @@ -674,66 +665,6 @@ typedef struct { typedef SignalInputStream SignalSyncInputStream; -/** - * A C callback used to report the results of Rust futures. - * - * cbindgen will produce independent C types like `SignalCPromisei32` and - * `SignalCPromiseProtocolAddress`. - * - * This derives Copy because it behaves like a C type; nevertheless, a promise should still only be - * completed once. - */ -typedef struct { - void (*complete)(SignalFfiError *error, const int32_t *result, const void *context); - const void *context; - SignalCancellationId cancellation_id; -} SignalCPromisei32; - -/** - * A C callback used to report the results of Rust futures. - * - * cbindgen will produce independent C types like `SignalCPromisei32` and - * `SignalCPromiseProtocolAddress`. - * - * This derives Copy because it behaves like a C type; nevertheless, a promise should still only be - * completed once. - */ -typedef struct { - void (*complete)(SignalFfiError *error, SignalTestingHandleType *const *result, const void *context); - const void *context; - SignalCancellationId cancellation_id; -} SignalCPromiseTestingHandleType; - -/** - * A C callback used to report the results of Rust futures. - * - * cbindgen will produce independent C types like `SignalCPromisei32` and - * `SignalCPromiseProtocolAddress`. - * - * This derives Copy because it behaves like a C type; nevertheless, a promise should still only be - * completed once. - */ -typedef struct { - void (*complete)(SignalFfiError *error, SignalOtherTestingHandleType *const *result, const void *context); - const void *context; - SignalCancellationId cancellation_id; -} SignalCPromiseOtherTestingHandleType; - -/** - * A C callback used to report the results of Rust futures. - * - * cbindgen will produce independent C types like `SignalCPromisei32` and - * `SignalCPromiseProtocolAddress`. - * - * This derives Copy because it behaves like a C type; nevertheless, a promise should still only be - * completed once. - */ -typedef struct { - void (*complete)(SignalFfiError *error, const void *const *result, const void *context); - const void *context; - SignalCancellationId cancellation_id; -} SignalCPromiseRawPointer; - typedef uint8_t SignalRandomnessBytes[SignalRANDOMNESS_LEN]; void signal_print_ptr(const void *p); @@ -1586,10 +1517,6 @@ SignalFfiError *signal_chat_service_set_listener_auth(const SignalTokioAsyncCont SignalFfiError *signal_chat_service_set_listener_unauth(const SignalTokioAsyncContext *runtime, const SignalChat *chat, const SignalFfiMakeChatListenerStruct *make_listener); -SignalFfiError *signal_testing_chat_service_inject_raw_server_request(const SignalChat *chat, SignalBorrowedBuffer bytes); - -SignalFfiError *signal_testing_chat_service_inject_connection_interrupted(const SignalChat *chat); - SignalFfiError *signal_server_message_ack_destroy(SignalServerMessageAck *p); SignalFfiError *signal_server_message_ack_send(SignalCPromisebool *promise, const SignalTokioAsyncContext *async_runtime, const SignalServerMessageAck *ack); @@ -1694,90 +1621,4 @@ SignalFfiError *signal_sanitized_metadata_get_data_offset(uint64_t *out, const S SignalFfiError *signal_sanitized_metadata_get_data_len(uint64_t *out, const SignalSanitizedMetadata *sanitized); #endif -SignalFfiError *signal_testing_NonSuspendingBackgroundThreadRuntime_destroy(SignalNonSuspendingBackgroundThreadRuntime *p); - -SignalFfiError *signal_testing_future_success(SignalCPromisei32 *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, uint8_t input); - -SignalFfiError *signal_testing_future_failure(SignalCPromisei32 *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, uint8_t _input); - -SignalFfiError *signal_testing_handle_type_destroy(SignalTestingHandleType *p); - -SignalFfiError *signal_testing_handle_type_clone(SignalTestingHandleType **new_obj, const SignalTestingHandleType *obj); - -SignalFfiError *signal_testing_testing_handle_type_get_value(uint8_t *out, const SignalTestingHandleType *handle); - -SignalFfiError *signal_testing_future_produces_pointer_type(SignalCPromiseTestingHandleType *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, uint8_t input); - -SignalFfiError *signal_other_testing_handle_type_destroy(SignalOtherTestingHandleType *p); - -SignalFfiError *signal_other_testing_handle_type_clone(SignalOtherTestingHandleType **new_obj, const SignalOtherTestingHandleType *obj); - -SignalFfiError *signal_testing_other_testing_handle_type_get_value(const char **out, const SignalOtherTestingHandleType *handle); - -SignalFfiError *signal_testing_future_produces_other_pointer_type(SignalCPromiseOtherTestingHandleType *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, const char *input); - -SignalFfiError *signal_testing_panic_on_borrow_sync(const void *_input); - -SignalFfiError *signal_testing_panic_on_borrow_async(const void *_input); - -SignalFfiError *signal_testing_panic_on_borrow_io(SignalCPromisebool *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, const void *_input); - -SignalFfiError *signal_testing_error_on_borrow_sync(const void *_input); - -SignalFfiError *signal_testing_error_on_borrow_async(const void *_input); - -SignalFfiError *signal_testing_error_on_borrow_io(SignalCPromisebool *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, const void *_input); - -SignalFfiError *signal_testing_panic_on_load_sync(const void *_needs_cleanup, const void *_input); - -SignalFfiError *signal_testing_panic_on_load_async(const void *_needs_cleanup, const void *_input); - -SignalFfiError *signal_testing_panic_on_load_io(SignalCPromisebool *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, const void *_needs_cleanup, const void *_input); - -SignalFfiError *signal_testing_panic_in_body_sync(const void *_input); - -SignalFfiError *signal_testing_panic_in_body_async(const void *_input); - -SignalFfiError *signal_testing_panic_in_body_io(SignalCPromisebool *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, const void *_input); - -SignalFfiError *signal_testing_panic_on_return_sync(const void **out, const void *_needs_cleanup); - -SignalFfiError *signal_testing_panic_on_return_async(const void **out, const void *_needs_cleanup); - -SignalFfiError *signal_testing_panic_on_return_io(SignalCPromiseRawPointer *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, const void *_needs_cleanup); - -SignalFfiError *signal_testing_error_on_return_sync(const void **out, const void *_needs_cleanup); - -SignalFfiError *signal_testing_error_on_return_async(const void **out, const void *_needs_cleanup); - -SignalFfiError *signal_testing_error_on_return_io(SignalCPromiseRawPointer *promise, const SignalNonSuspendingBackgroundThreadRuntime *async_runtime, const void *_needs_cleanup); - -SignalFfiError *signal_testing_return_string_array(SignalStringArray *out); - -SignalFfiError *signal_testing_process_bytestring_array(SignalBytestringArray *out, SignalBorrowedSliceOfBuffers input); - -SignalFfiError *signal_testing_input_stream_read_into_zero_length_slice(SignalOwnedBuffer *out, const SignalInputStream *caps_alphabet_input); - -SignalFfiError *signal_testing_cdsi_lookup_response_convert(SignalCPromiseFfiCdsiLookupResponse *promise, const SignalTokioAsyncContext *async_runtime); - -SignalFfiError *signal_testing_only_completes_by_cancellation(SignalCPromisebool *promise, const SignalTokioAsyncContext *async_runtime); - -SignalFfiError *signal_testing_cdsi_lookup_error_convert(const char *error_description); - -SignalFfiError *signal_testing_chat_service_error_convert(const char *error_description); - -SignalFfiError *signal_testing_chat_service_response_convert(SignalFfiChatResponse *out, bool body_present); - -SignalFfiError *signal_testing_chat_service_debug_info_convert(SignalFfiChatServiceDebugInfo *out); - -SignalFfiError *signal_testing_chat_service_response_and_debug_info_convert(SignalFfiResponseAndDebugInfo *out); - -SignalFfiError *signal_testing_chat_request_get_method(const char **out, const SignalHttpRequest *request); - -SignalFfiError *signal_testing_chat_request_get_path(const char **out, const SignalHttpRequest *request); - -SignalFfiError *signal_testing_chat_request_get_header_value(const char **out, const SignalHttpRequest *request, const char *header_name); - -SignalFfiError *signal_testing_chat_request_get_body(SignalOwnedBuffer *out, const SignalHttpRequest *request); - #endif /* SIGNAL_FFI_H_ */ diff --git a/pkg/libsignalgo/version.go b/pkg/libsignalgo/version.go index cb4bd770..e36a12a7 100644 --- a/pkg/libsignalgo/version.go +++ b/pkg/libsignalgo/version.go @@ -2,4 +2,4 @@ package libsignalgo -const Version = "v0.55.0" +const Version = "v0.56.1"