From: AsamK Date: Fri, 22 Jan 2021 23:00:07 +0000 (+0100) Subject: Add more config generated by agent X-Git-Tag: v0.8.0~17 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/b4311c7b76ba3bc757f9823f589fdd0da722f328?ds=sidebyside Add more config generated by agent --- diff --git a/README.md b/README.md index 26e9bc95..1b797b7c 100644 --- a/README.md +++ b/README.md @@ -83,19 +83,18 @@ dependencies. If you have a recent gradle version installed, you can replace `./ ./gradlew distTar -### Building a native binary with GraalVM +### Building a native binary with GraalVM (EXPERIMENTAL) It is possible to build a native binary with [GraalVM](https://www.graalvm.org). +This is still experimental and will not work in all situations. 1. [Install GraalVM and setup the enviroment](https://www.graalvm.org/docs/getting-started/#install-graalvm) 2. [Install prerequisites](https://www.graalvm.org/reference-manual/native-image/#prerequisites) -2. Execute Gradle: +3. Execute Gradle: - ./gradle nativeImage + ./gradlew assembleNativeImage - The binary is available at - - build/native-image/signal-cli + The binary is available at *build/native-image/signal-cli* ## Troubleshooting If you use a version of the Oracle JRE and get an InvalidKeyException you need to enable unlimited strength crypto. See https://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters for instructions. diff --git a/build.gradle b/build.gradle index f3f76412..764ad99e 100644 --- a/build.gradle +++ b/build.gradle @@ -75,8 +75,8 @@ task checkLibVersions { } } -task buildNativeBinary { - dependsOn("build") +task assembleNativeImage { + dependsOn("assemble") doLast { def graalVMHome = System.getenv("GRAALVM_HOME") if (!graalVMHome) { @@ -92,18 +92,16 @@ task buildNativeBinary { commandLine "$graalVMHome/bin/native-image", "-H:Path=$nativeBinaryOutputPath", "-H:Name=$nativeBinaryName", - "-H:JNIConfigurationFiles=", - "-H:DynamicProxyConfigurationFiles=", - "-H:ReflectionConfigurationFiles=", - "-H:ResourceConfigurationFiles=", + "-H:JNIConfigurationFiles=graalvm-config-dir/jni-config.json", + "-H:DynamicProxyConfigurationFiles=graalvm-config-dir/proxy-config.json", + "-H:ResourceConfigurationFiles=graalvm-config-dir/resource-config.json", + "-H:ReflectionConfigurationFiles=graalvm-config-dir/reflect-config.json", "--no-fallback", "--allow-incomplete-classpath", "--report-unsupported-elements-at-runtime", "--enable-url-protocols=http,https", "--enable-https", "--enable-all-security-services", - "-H:ResourceConfigurationFiles=graalvm-config-dir/resource-config.json", - "-H:ReflectionConfigurationFiles=graalvm-config-dir/reflect-config.json", "-cp", sourceSets.main.runtimeClasspath.asPath, project.mainClassName diff --git a/graalvm-config-dir/jni-config.json b/graalvm-config-dir/jni-config.json new file mode 100644 index 00000000..724387de --- /dev/null +++ b/graalvm-config-dir/jni-config.json @@ -0,0 +1,13 @@ +[ +{ + "name":"java.lang.ClassLoader", + "methods":[{"name":"getPlatformClassLoader","parameterTypes":[] }] +}, +{ + "name":"java.lang.NoSuchMethodError" +}, +{ + "name":"java.lang.UnsatisfiedLinkError", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +} +] diff --git a/graalvm-config-dir/proxy-config.json b/graalvm-config-dir/proxy-config.json new file mode 100644 index 00000000..883065a9 --- /dev/null +++ b/graalvm-config-dir/proxy-config.json @@ -0,0 +1,3 @@ +[ + ["org.freedesktop.DBus"] +] diff --git a/graalvm-config-dir/reflect-config.json b/graalvm-config-dir/reflect-config.json index fdcaa2ba..ca62ca59 100644 --- a/graalvm-config-dir/reflect-config.json +++ b/graalvm-config-dir/reflect-config.json @@ -1,6 +1,8 @@ [ { - "name":"byte[]" + "name":"byte[]", + "allDeclaredMethods":true, + "allPublicMethods":true }, { "name":"char[]" @@ -9,6 +11,49 @@ "name":"com.fasterxml.jackson.databind.ext.Java7SupportImpl", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "name":"com.google.protobuf.AbstractProtobufList", + "allDeclaredFields":true, + "allDeclaredMethods":true +}, +{ + "name":"com.google.protobuf.Internal$LongList", + "allDeclaredMethods":true +}, +{ + "name":"com.google.protobuf.Internal$ProtobufList", + "allDeclaredMethods":true +}, +{ + "name":"com.google.protobuf.LongArrayList", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"com.google.protobuf.PrimitiveNonBoxingCollection", + "allDeclaredMethods":true +}, +{ + "name":"com.kenai.jffi.Invoker", + "methods":[ + {"name":"invokeI6","parameterTypes":["com.kenai.jffi.CallContext","long","int","int","int","int","int","int"] }, + {"name":"invokeL6","parameterTypes":["com.kenai.jffi.CallContext","long","long","long","long","long","long","long"] }, + {"name":"invokeN6","parameterTypes":["com.kenai.jffi.CallContext","long","long","long","long","long","long","long"] } + ] +}, +{ + "name":"com.kenai.jffi.Version", + "fields":[ + {"name":"MAJOR"}, + {"name":"MICRO"}, + {"name":"MINOR"} + ] +}, +{ + "name":"com.kenai.jffi.internal.StubLoader", + "methods":[{"name":"isLoaded","parameterTypes":[] }] +}, { "name":"com.sun.crypto.provider.AESCipher$General", "methods":[{"name":"","parameterTypes":[] }] @@ -33,10 +78,26 @@ "name":"com.sun.crypto.provider.TlsPrfGenerator$V12", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "name":"int", + "allDeclaredMethods":true, + "allPublicMethods":true +}, +{ + "name":"int[]", + "allDeclaredMethods":true, + "allPublicMethods":true +}, { "name":"java.io.Serializable", "allDeclaredMethods":true }, +{ + "name":"java.lang.Boolean", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"java.lang.Comparable", "allDeclaredMethods":true @@ -51,15 +112,39 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"java.lang.Iterable", + "allDeclaredMethods":true +}, +{ + "name":"java.lang.Long", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"java.lang.Number", "allDeclaredFields":true, "allDeclaredMethods":true }, +{ + "name":"java.lang.String", + "allPublicMethods":true +}, +{ + "name":"java.lang.reflect.Method", + "methods":[{"name":"isDefault","parameterTypes":[] }] +}, { "name":"java.nio.Buffer", + "allDeclaredMethods":true, "fields":[{"name":"address", "allowUnsafeAccess":true}] }, +{ + "name":"java.nio.ByteBuffer", + "allDeclaredMethods":true, + "allPublicMethods":true +}, { "name":"java.security.KeyStoreSpi" }, @@ -81,15 +166,184 @@ { "name":"java.security.interfaces.RSAPublicKey" }, +{ + "name":"java.util.AbstractCollection", + "allDeclaredFields":true, + "allDeclaredMethods":true +}, +{ + "name":"java.util.AbstractList", + "allDeclaredFields":true, + "allDeclaredMethods":true +}, { "name":"java.util.ArrayList", "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"java.util.Collection", + "allDeclaredMethods":true +}, +{ + "name":"java.util.LinkedHashMap", + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"java.util.List", + "allDeclaredMethods":true +}, { "name":"java.util.Locale", "methods":[{"name":"getUnicodeLocaleType","parameterTypes":["java.lang.String"] }] }, +{ + "name":"java.util.RandomAccess", + "allDeclaredMethods":true +}, +{ + "name":"java.util.UUID", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"jnr.constants.platform.linux.ProtocolFamily" +}, +{ + "name":"jnr.constants.platform.linux.Shutdown" +}, +{ + "name":"jnr.constants.platform.linux.Sock" +}, +{ + "name":"jnr.constants.platform.linux.SocketLevel" +}, +{ + "name":"jnr.constants.platform.linux.SocketOption" +}, +{ + "name":"jnr.enxio.channels.Native$LibC", + "allPublicMethods":true +}, +{ + "name":"jnr.enxio.channels.Native$LibC$jnr$ffi$1", + "methods":[{"name":"","parameterTypes":["jnr.ffi.Runtime","jnr.ffi.provider.jffi.NativeLibrary","java.lang.Object[]"] }] +}, +{ + "name":"jnr.ffi.Pointer", + "allDeclaredMethods":true, + "allPublicMethods":true +}, +{ + "name":"jnr.ffi.StructLayout$gid_t", + "methods":[{"name":"","parameterTypes":["jnr.ffi.StructLayout"] }] +}, +{ + "name":"jnr.ffi.byref.IntByReference", + "allPublicMethods":true +}, +{ + "name":"jnr.ffi.provider.converters.ByReferenceParameterConverter", + "methods":[{"name":"nativeType","parameterTypes":[] }] +}, +{ + "name":"jnr.ffi.provider.converters.ByReferenceParameterConverter$Out", + "allPublicMethods":true +}, +{ + "name":"jnr.ffi.provider.converters.StringResultConverter", + "allPublicMethods":true +}, +{ + "name":"jnr.ffi.provider.converters.StructByReferenceToNativeConverter", + "allPublicMethods":true +}, +{ + "name":"jnr.ffi.provider.jffi.BufferParameterStrategy", + "methods":[{"name":"address","parameterTypes":["java.nio.Buffer"] }] +}, +{ + "name":"jnr.ffi.provider.jffi.PointerParameterStrategy", + "methods":[{"name":"address","parameterTypes":["jnr.ffi.Pointer"] }] +}, +{ + "name":"jnr.ffi.provider.jffi.Provider", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"jnr.ffi.provider.jffi.platform.x86_64.linux.TypeAliases", + "fields":[{"name":"ALIASES"}] +}, +{ + "name":"jnr.posix.Timeval", + "allPublicMethods":true +}, +{ + "name":"jnr.unixsocket.Native$LibC", + "allPublicMethods":true +}, +{ + "name":"jnr.unixsocket.Native$LibC$jnr$ffi$0", + "methods":[{"name":"","parameterTypes":["jnr.ffi.Runtime","jnr.ffi.provider.jffi.NativeLibrary","java.lang.Object[]"] }] +}, +{ + "name":"jnr.unixsocket.SockAddrUnix", + "allPublicMethods":true +}, +{ + "name":"long", + "allDeclaredMethods":true, + "allPublicMethods":true +}, +{ + "name":"long[]" +}, +{ + "name":"org.asamk.Signal", + "allDeclaredMethods":true, + "allDeclaredClasses":true +}, +{ + "name":"org.asamk.Signal$MessageReceived", + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name":"org.asamk.Signal$ReceiptReceived", + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name":"org.asamk.Signal$SyncMessageReceived", + "allDeclaredConstructors":true, + "allPublicConstructors":true +}, +{ + "name":"org.asamk.signal.json.JsonDataMessage", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"org.asamk.signal.json.JsonMessageEnvelope", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"org.asamk.signal.json.JsonReaction", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"org.asamk.signal.json.JsonReceiptMessage", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.asamk.signal.manager.storage.contacts.ContactInfo", "allDeclaredFields":true, @@ -113,6 +367,12 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1$JsonSignalServiceAddress", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1$MembersDeserializer", "methods":[{"name":"","parameterTypes":[] }] @@ -126,10 +386,7 @@ "allDeclaredFields":true, "allDeclaredMethods":true, "allDeclaredConstructors":true, - "fields":[ - {"name":"groups", "allowWrite":true} - ], - "allDeclaredConstructors":true + "fields":[{"name":"groups", "allowWrite":true}] }, { "name":"org.asamk.signal.manager.storage.groups.JsonGroupStore$GroupsDeserializer", @@ -144,9 +401,7 @@ "allDeclaredFields":true, "allDeclaredMethods":true, "allDeclaredConstructors":true, - "fields":[ - {"name":"profiles", "allowWrite":true} - ] + "fields":[{"name":"profiles", "allowWrite":true}] }, { "name":"org.asamk.signal.manager.storage.profiles.ProfileStore$ProfileStoreDeserializer", @@ -211,9 +466,7 @@ "allDeclaredFields":true, "allDeclaredMethods":true, "allDeclaredConstructors":true, - "fields":[ - {"name":"addresses", "allowWrite":true} - ] + "fields":[{"name":"addresses", "allowWrite":true}] }, { "name":"org.asamk.signal.manager.storage.protocol.RecipientStore$RecipientStoreDeserializer", @@ -228,9 +481,7 @@ "allDeclaredFields":true, "allDeclaredMethods":true, "allDeclaredConstructors":true, - "fields":[ - {"name":"stickers", "allowWrite":true} - ] + "fields":[{"name":"stickers", "allowWrite":true}] }, { "name":"org.asamk.signal.manager.storage.stickers.StickerStore$StickersDeserializer", @@ -368,6 +619,10 @@ "name":"org.bouncycastle.jcajce.provider.digest.SHA224$Mappings", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Digest", + "methods":[{"name":"","parameterTypes":[] }] +}, { "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Mappings", "methods":[{"name":"","parameterTypes":[] }] @@ -604,6 +859,23 @@ "name":"org.bouncycastle.jcajce.provider.symmetric.Zuc$Mappings", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "name":"org.freedesktop.DBus$NameAcquired", + "allDeclaredConstructors":true +}, +{ + "name":"org.freedesktop.dbus.interfaces.Introspectable", + "allDeclaredMethods":true, + "allDeclaredClasses":true +}, +{ + "name":"org.freedesktop.dbus.interfaces.Peer", + "allDeclaredMethods":true, + "allDeclaredClasses":true +}, +{ + "name":"org.objectweb.asm.util.TraceMethodVisitor" +}, { "name":"org.signal.libsignal.metadata.SignalProtos$SenderCertificate", "fields":[ @@ -965,6 +1237,10 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity$ByteArrayDeserializer", + "methods":[{"name":"","parameterTypes":[] }] +}, { "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity$ByteArraySerializer", "methods":[{"name":"","parameterTypes":[] }] @@ -975,6 +1251,18 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"org.whispersystems.signalservice.internal.contacts.entities.DiscoveryRequest", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"org.whispersystems.signalservice.internal.contacts.entities.DiscoveryResponse", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.whispersystems.signalservice.internal.contacts.entities.KeyBackupRequest", "allDeclaredFields":true, @@ -987,6 +1275,18 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"org.whispersystems.signalservice.internal.contacts.entities.MultiRemoteAttestationResponse", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"org.whispersystems.signalservice.internal.contacts.entities.QueryEnvelope", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.whispersystems.signalservice.internal.contacts.entities.RemoteAttestationRequest", "allDeclaredFields":true, @@ -1022,6 +1322,12 @@ {"name":"restore_", "allowUnsafeAccess":true} ] }, +{ + "name":"org.whispersystems.signalservice.internal.push.AttachmentV2UploadAttributes", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.whispersystems.signalservice.internal.push.AuthCredentials", "allDeclaredFields":true, @@ -1052,6 +1358,12 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"org.whispersystems.signalservice.internal.push.MismatchedDevices", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.whispersystems.signalservice.internal.push.OutgoingPushMessage", "allDeclaredFields":true, @@ -1070,10 +1382,26 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity$ECPublicKeyDeserializer", + "methods":[{"name":"","parameterTypes":[] }] +}, { "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity$ECPublicKeySerializer", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "name":"org.whispersystems.signalservice.internal.push.PreKeyResponse", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, +{ + "name":"org.whispersystems.signalservice.internal.push.PreKeyResponseItem", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.whispersystems.signalservice.internal.push.PreKeyState", "allDeclaredFields":true, @@ -1086,6 +1414,12 @@ "allDeclaredMethods":true, "allDeclaredConstructors":true }, +{ + "name":"org.whispersystems.signalservice.internal.push.ProvisioningMessage", + "allDeclaredFields":true, + "allDeclaredMethods":true, + "allDeclaredConstructors":true +}, { "name":"org.whispersystems.signalservice.internal.push.ProvisioningProtos$ProvisionEnvelope", "fields":[ @@ -1153,6 +1487,31 @@ {"name":"width_", "allowUnsafeAccess":true} ] }, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ContactDetails", + "fields":[ + {"name":"archived_", "allowUnsafeAccess":true}, + {"name":"avatar_", "allowUnsafeAccess":true}, + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"blocked_", "allowUnsafeAccess":true}, + {"name":"color_", "allowUnsafeAccess":true}, + {"name":"expireTimer_", "allowUnsafeAccess":true}, + {"name":"inboxPosition_", "allowUnsafeAccess":true}, + {"name":"name_", "allowUnsafeAccess":true}, + {"name":"number_", "allowUnsafeAccess":true}, + {"name":"profileKey_", "allowUnsafeAccess":true}, + {"name":"uuid_", "allowUnsafeAccess":true}, + {"name":"verified_", "allowUnsafeAccess":true} + ] +}, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ContactDetails$Avatar", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"contentType_", "allowUnsafeAccess":true}, + {"name":"length_", "allowUnsafeAccess":true} + ] +}, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Content", "fields":[ @@ -1221,6 +1580,39 @@ {"name":"url_", "allowUnsafeAccess":true} ] }, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Quote", + "fields":[ + {"name":"attachments_", "allowUnsafeAccess":true}, + {"name":"authorE164_", "allowUnsafeAccess":true}, + {"name":"authorUuid_", "allowUnsafeAccess":true}, + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"bodyRanges_", "allowUnsafeAccess":true}, + {"name":"id_", "allowUnsafeAccess":true}, + {"name":"text_", "allowUnsafeAccess":true} + ] +}, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Reaction", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"emoji_", "allowUnsafeAccess":true}, + {"name":"remove_", "allowUnsafeAccess":true}, + {"name":"targetAuthorUuid_", "allowUnsafeAccess":true}, + {"name":"targetSentTimestamp_", "allowUnsafeAccess":true} + ] +}, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Sticker", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"data_", "allowUnsafeAccess":true}, + {"name":"emoji_", "allowUnsafeAccess":true}, + {"name":"packId_", "allowUnsafeAccess":true}, + {"name":"packKey_", "allowUnsafeAccess":true}, + {"name":"stickerId_", "allowUnsafeAccess":true} + ] +}, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Envelope", "fields":[ @@ -1274,6 +1666,28 @@ {"name":"viewOnceOpen_", "allowUnsafeAccess":true} ] }, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Contacts", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"blob_", "allowUnsafeAccess":true}, + {"name":"complete_", "allowUnsafeAccess":true} + ] +}, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$FetchLatest", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"type_", "allowUnsafeAccess":true} + ] +}, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Keys", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"storageService_", "allowUnsafeAccess":true} + ] +}, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Read", "fields":[ @@ -1283,6 +1697,13 @@ {"name":"timestamp_", "allowUnsafeAccess":true} ] }, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Request", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"type_", "allowUnsafeAccess":true} + ] +}, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent", "fields":[ @@ -1323,6 +1744,17 @@ {"name":"timestamp_", "allowUnsafeAccess":true} ] }, +{ + "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Verified", + "fields":[ + {"name":"bitField0_", "allowUnsafeAccess":true}, + {"name":"destinationE164_", "allowUnsafeAccess":true}, + {"name":"destinationUuid_", "allowUnsafeAccess":true}, + {"name":"identityKey_", "allowUnsafeAccess":true}, + {"name":"nullMessage_", "allowUnsafeAccess":true}, + {"name":"state_", "allowUnsafeAccess":true} + ] +}, { "name":"org.whispersystems.signalservice.internal.push.VerifyAccountResponse", "allDeclaredFields":true, @@ -1360,6 +1792,10 @@ {"name":"metadata_", "allowUnsafeAccess":true} ] }, +{ + "name":"org.whispersystems.signalservice.internal.util.JsonUtil$IdentityKeyDeserializer", + "methods":[{"name":"","parameterTypes":[] }] +}, { "name":"org.whispersystems.signalservice.internal.util.JsonUtil$IdentityKeySerializer", "methods":[{"name":"","parameterTypes":[] }] @@ -1403,31 +1839,41 @@ "name":"sun.misc.Unsafe", "allDeclaredFields":true, "methods":[ + {"name":"allocateMemory","parameterTypes":["long"] }, {"name":"arrayBaseOffset","parameterTypes":["java.lang.Class"] }, {"name":"arrayIndexScale","parameterTypes":["java.lang.Class"] }, {"name":"copyMemory","parameterTypes":["long","long","long"] }, {"name":"copyMemory","parameterTypes":["java.lang.Object","long","java.lang.Object","long","long"] }, + {"name":"freeMemory","parameterTypes":["long"] }, + {"name":"getAddress","parameterTypes":["long"] }, {"name":"getBoolean","parameterTypes":["java.lang.Object","long"] }, {"name":"getByte","parameterTypes":["long"] }, {"name":"getByte","parameterTypes":["java.lang.Object","long"] }, + {"name":"getDouble","parameterTypes":["long"] }, {"name":"getDouble","parameterTypes":["java.lang.Object","long"] }, + {"name":"getFloat","parameterTypes":["long"] }, {"name":"getFloat","parameterTypes":["java.lang.Object","long"] }, {"name":"getInt","parameterTypes":["long"] }, {"name":"getInt","parameterTypes":["java.lang.Object","long"] }, {"name":"getLong","parameterTypes":["long"] }, {"name":"getLong","parameterTypes":["java.lang.Object","long"] }, {"name":"getObject","parameterTypes":["java.lang.Object","long"] }, + {"name":"getShort","parameterTypes":["long"] }, {"name":"objectFieldOffset","parameterTypes":["java.lang.reflect.Field"] }, + {"name":"putAddress","parameterTypes":["long","long"] }, {"name":"putBoolean","parameterTypes":["java.lang.Object","long","boolean"] }, {"name":"putByte","parameterTypes":["long","byte"] }, {"name":"putByte","parameterTypes":["java.lang.Object","long","byte"] }, + {"name":"putDouble","parameterTypes":["long","double"] }, {"name":"putDouble","parameterTypes":["java.lang.Object","long","double"] }, + {"name":"putFloat","parameterTypes":["long","float"] }, {"name":"putFloat","parameterTypes":["java.lang.Object","long","float"] }, {"name":"putInt","parameterTypes":["long","int"] }, {"name":"putInt","parameterTypes":["java.lang.Object","long","int"] }, {"name":"putLong","parameterTypes":["long","long"] }, {"name":"putLong","parameterTypes":["java.lang.Object","long","long"] }, - {"name":"putObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] } + {"name":"putObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] }, + {"name":"putShort","parameterTypes":["long","short"] } ] }, {