From 1028aab307a3db923f77ce5d84afc588b2e67e64 Mon Sep 17 00:00:00 2001 From: Kamal Bramwell <kamal@elixxir.io> Date: Fri, 2 Dec 2022 09:08:23 -0500 Subject: [PATCH] Added crustIntegration build config and UD config --- app/build.gradle.kts | 12 +++++++ .../bindings/BindingsWrapperBindings.kt | 25 ++++++++++++-- .../messenger/data/datatype/Environment.kt | 3 +- app/src/main/res/raw/ud_contact_crust.bin | 1 + app/src/main/res/raw/ud_crust.crt | 33 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 6 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/raw/ud_contact_crust.bin create mode 100644 app/src/main/res/raw/ud_crust.crt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 700289be..dc2e1a48 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -154,6 +154,18 @@ android { "io.xxlabs.messenger.data.datatype.Environment.MAIN_NET" ) } + + create("crustIntegrationDebug") { + initWith(getByName("debug")) + versionNameSuffix = "-CrustIntegrationDebug" + matchingFallbacks += "debug" + + buildConfigField( + "io.xxlabs.messenger.data.datatype.Environment", + "ENVIRONMENT", + "io.xxlabs.messenger.data.datatype.Environment.CRUST_INTEGRATION" + ) + } } android.variantFilter { diff --git a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/bindings/BindingsWrapperBindings.kt b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/bindings/BindingsWrapperBindings.kt index 6f88fc6a..7084b08e 100644 --- a/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/bindings/BindingsWrapperBindings.kt +++ b/app/src/main/java/io/xxlabs/messenger/bindings/wrapper/bindings/BindingsWrapperBindings.kt @@ -48,6 +48,12 @@ class BindingsWrapperBindings { certificateFor(Environment.RELEASE_NET) ) } + Environment.CRUST_INTEGRATION -> { + downloadAndVerifySignedNdfWithUrl( + NDF_URL_MAINNET, + certificateFor(Environment.MAIN_NET) + ) + } else -> getLocalNdf() } @@ -60,7 +66,7 @@ class BindingsWrapperBindings { private fun certificateFor(environment: Environment): String { val certFile: Int = when (environment) { - Environment.MAIN_NET -> R.raw.mainnet + Environment.MAIN_NET, Environment.CRUST_INTEGRATION -> R.raw.mainnet Environment.RELEASE_NET -> R.raw.release else -> { throw UnsupportedOperationException("No certificate found for $environment") @@ -119,7 +125,10 @@ class BindingsWrapperBindings { private fun UserDiscoveryWrapperBindings.onUdInitialized() { XxMessengerApplication.isUserDiscoveryRunning = true - development(BuildConfig.DEBUG) + when (BuildConfig.ENVIRONMENT) { + Environment.CRUST_INTEGRATION -> crustIntegration(true) + else -> development(BuildConfig.DEBUG) + } } private fun UserDiscoveryWrapperBindings.development(enabled: Boolean) { @@ -134,6 +143,18 @@ class BindingsWrapperBindings { } } + private fun UserDiscoveryWrapperBindings.crustIntegration(enabled: Boolean) { + if (enabled) { + setAlternativeUD( + devUserDiscoveryIp, + rawBytes(R.raw.ud_crust), + rawBytes(R.raw.ud_contact_crust) + ) + } else { + restoreNormalUD() + } + } + private fun rawBytes(resourceId: Int): ByteArray { return appContext().resources .openRawResource(resourceId) diff --git a/app/src/main/java/io/xxlabs/messenger/data/datatype/Environment.kt b/app/src/main/java/io/xxlabs/messenger/data/datatype/Environment.kt index d2f3204e..d2dc5ecb 100644 --- a/app/src/main/java/io/xxlabs/messenger/data/datatype/Environment.kt +++ b/app/src/main/java/io/xxlabs/messenger/data/datatype/Environment.kt @@ -3,5 +3,6 @@ package io.xxlabs.messenger.data.datatype enum class Environment { RELEASE_NET, MOCK, - MAIN_NET + MAIN_NET, + CRUST_INTEGRATION } \ No newline at end of file diff --git a/app/src/main/res/raw/ud_contact_crust.bin b/app/src/main/res/raw/ud_contact_crust.bin new file mode 100644 index 00000000..923dbd2e --- /dev/null +++ b/app/src/main/res/raw/ud_contact_crust.bin @@ -0,0 +1 @@ +<xxc(2)LF2ccT+sdqh0AIKlFFeDOJdnxzbQQYhGStgxhOXmijIDkAZiB9kZo+Dl3bRSbBi5pXZ82rOu2IQXz9+5sspChvoccZqgC/dXGhlesmiNy/EbKxWtptTF4tcNyQxtnmCXg1p/HwKey4G2XDekTw86lq6Lpmj72jozvRWlQisqvWz/5deiPaeFGKDKC0OrrDFnIib7WnKqdYt4XyTKdmObnmbvdCbliZq0zBl7J40qKy5FypYXGlZjStIm0R1qtD4XHMZMsrMJEGxdM55zJdSzknXbR8MNahUrGMyUOTivXLHzojYLht0gFQifKMVWhrDjUoVQV43KOLPmdBwY/2Kc5KvVloDeuDXYY0i7tD63gNIp9JA3gJQUJymDdwqbS13riT1DMHHkdTzKEyGdHS+v2l7AVSlJBiTKuyM00FBNuXhhIcFR7ONFCf8cRPOPPBx3Q6iHNsvsca3KPNhwOJBgaQvHSkjIMsudiR954QbwG9rbi2vxVobIgWYMl5j6vlBS/9rfbE/uLdTEQZfNsLKDCIVCCI4I1bYZxZrDLPrfXTrN6W0sCLE7a/kRBQAAAgA7+LwJqiv9O1ogLnS4TYkSEg==xxc> \ No newline at end of file diff --git a/app/src/main/res/raw/ud_crust.crt b/app/src/main/res/raw/ud_crust.crt new file mode 100644 index 00000000..9900bcdc --- /dev/null +++ b/app/src/main/res/raw/ud_crust.crt @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFqTCCA5GgAwIBAgIUEVshfaLgjzuVfLlyk0mTsXIkVewwDQYJKoZIhvcNAQEL +BQAwgYAxCzAJBgNVBAYTAktZMRQwEgYDVQQHDAtHZW9yZ2UgVG93bjETMBEGA1UE +CgwKeHggbmV0d29yazEPMA0GA1UECwwGRGV2T3BzMRMwEQYDVQQDDAp4eC5uZXR3 +b3JrMSAwHgYJKoZIhvcNAQkBFhFhZG1pbnNAeHgubmV0d29yazAeFw0yMTA1MDcx +NTExNTVaFw0zMTA1MDUxNTExNTVaMIGAMQswCQYDVQQGEwJLWTEUMBIGA1UEBwwL +R2VvcmdlIFRvd24xEzARBgNVBAoMCnh4IG5ldHdvcmsxDzANBgNVBAsMBkRldk9w +czETMBEGA1UEAwwKeHgubmV0d29yazEgMB4GCSqGSIb3DQEJARYRYWRtaW5zQHh4 +Lm5ldHdvcmswggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC1dYoVYmYA +L4TaKC9g3cTM8LqTD7Ofdo4LKkkluqPKadX6rZyrvO90LtOtcH/1yxipTOnaKF0J +9/kTrxgTroKgIrHuzHOE7w87hcV4zPveYX+4nc8OBQRkVh0slIfPGUWQMSAx0ojv +Aqstkrk8SapcSJK0AJi2wHephJhSnmnKbq56NSD4VwGbT9O8YAqsrU0FzGxTcers +QILgQY3BdcnzJL3VRjzMaLT3oCbXS2FPD6Z46JVs/jCc+fg7TT7N1VJwsNJ0w7gR +nV3iB5XG/9Em/khQ2Ne2mPRoh4xaXPFeAmXYhiREFI2t4LrgeHwySuRhsRLolYA+ +95nSZ1FCuPabV+jv2UURLN581VzLjgOA8Ad60P1yKfyP6N2BcR/99xD/Y+pBvsn5 +wgSVbPTxq15M3WehPLVvoie66pg25uLo+EdyvkzFIBjdy8oNW5qKB6IhrqM5OKsp +xvdh/nQ/6bikIZxmdJqhTs0slhD6NlY+RnHNg/9xyDU/aoU/tn06cL9xlhVA88A/ +I1Tz5JJdF6G05O/MaTe5FaCJJly6+uY3R6O9f4eKdeuwVdvLHjKvFHir78djG5wq +xYieGaiUSxy6kr0b283pVNxWlWVPUxlRQpr9EWB9cfKzjuMie83xdCGfJOgfiw1q +KOirdiO3Y/goSsndolKrARWRO5Af4P4f/wIDAQABoxkwFzAVBgNVHREEDjAMggp4 +eC5uZXR3b3JrMA0GCSqGSIb3DQEBCwUAA4ICAQAIUMML1m+NXFF2qnXrkbJUrr0Y +kMejzFkSrx0PypqXThDUwdCdkYZkNzcfTB/jvNMn6PfU7uR5OYqTgKjHyGxG7ZZs +RhxL21jTUYq9H45aMRYJzOZ/jOag2QbrV+46YsbCMJoZhD9da2qVOLNPHyG1pYfY +HzlObq+uy23iNQSL9dNSw9PbvPY8UVMqkY9dXEqFtOuivLoacUU6+ZiOnp/Cbed8 +E+oIhP7U3Zlnl1WMyMM94ltdVOqpzyiaNuqLE1S7ngN1qukiu63B50JH7YCxiwuC +IrcyRErwrCPFdpjxsgJViH3cQG3Y07Eof2KJRYoyJ1NF9UgXfTpZ3P7lDSEtDre2 +YLKZbAPJRYwnyrPmw/Gs1PNIf02C+UglgqhtcpvTLQ+PxJp0u58JJfKqUDqzOAYl +OtVJJ71coADrz9ON1W9TsJ154sHIQVF/wjLic9mUOnn0zsWuk2ClcGJp67UF8ZSe +eWbnQipc/rxcsh9KF/n+lG7thmEaJ10tntr0X5vYR4e1FjIlfc2wk46yH7+pIl/3 +R9quX/3zRxxNKNugkz+Jp+WeL6oP2ozzh4Nr9H1rdAsgkj89t2RKteXp4XZ8Pp1i +uXO9ulyHkAvQxyehoFk44Q0Z2AEkSDbNCtQ5yRKTKoeeL04vbAvn7L0XWQ7jDJje +xHGnyrYJGhiR8Sp20w== +-----END CERTIFICATE----- diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d03c49d8..e569b8ec 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5,6 +5,7 @@ <string name="xx_app_name_mainNet">xx messenger</string> <string name="xx_app_name_mainNetDebug">xx messenger</string> <string name="xx_app_name_releaseNetDebug">xx messenger</string> + <string name="xx_app_name_crustIntegrationDebug">xx messenger</string> <!-- Bottom navigation Menu Titles --> -- GitLab