diff --git a/changelog b/changelog index 3e94d155b..d03c7b959 100644 --- a/changelog +++ b/changelog @@ -2,6 +2,7 @@ MSAL Wiki : https://github.com/AzureAD/microsoft-authentication-library-for-andr vNext ---------- +- [MAJOR] Update proguard rules (#2372) Version 7.1.0 ---------- diff --git a/common b/common index f3aac7372..0a5a5e7e6 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit f3aac7372aca3198e76fced40a397111bfac05da +Subproject commit 0a5a5e7e67f52ace577602ff7645bcc1918b55bf diff --git a/msal/consumer-rules.pro b/msal/consumer-rules.pro index bf40ace0b..b6f01975e 100644 --- a/msal/consumer-rules.pro +++ b/msal/consumer-rules.pro @@ -17,9 +17,13 @@ #} ##---------------Begin: proguard configuration for MSAL -------- --keep class !com.microsoft.identity.common.java.nativeauth.**, !com.microsoft.identity.common.nativeauth.**, !com.microsoft.identity.nativeauth.**, com.microsoft.identity.** { *; } -keep class com.microsoft.device.display.** { *; } +# Keep things as they are used in TypeAdapter for deserialization/serialization +-keep class com.microsoft.identity.client.Logger { *; } +-keep class com.microsoft.identity.client.claims.ClaimsRequest { *; } +-keep class com.microsoft.identity.client.claims.RequestedClaimAdditionalInformation { *; } + ##---------------Begin: proguard configuration for Nimbus ---------- -keep class com.nimbusds.** { *; } @@ -35,17 +39,16 @@ -dontwarn sun.misc.** #-keep class com.google.gson.stream.** { *; } -# Application classes that will be serialized/deserialized over Gson --keep class com.google.gson.examples.android.model.** { ; } - # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) -keep class * extends com.google.gson.TypeAdapter -keep class * implements com.google.gson.TypeAdapterFactory -keep class * implements com.google.gson.JsonSerializer -keep class * implements com.google.gson.JsonDeserializer +-keep class com.google.gson.reflect.TypeToken { *; } +-keep class * extends com.google.gson.reflect.TypeToken { *; } # Prevent R8 from leaving Data object members always null --keepclassmembers,allowobfuscation class * { +-keepclassmembers class * { @com.google.gson.annotations.SerializedName ; } diff --git a/testapps/testapp/proguard-rules.pro b/testapps/testapp/proguard-rules.pro index 24c29cbbb..0d0a880ac 100644 --- a/testapps/testapp/proguard-rules.pro +++ b/testapps/testapp/proguard-rules.pro @@ -15,3 +15,18 @@ #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} +-dontwarn com.google.crypto.tink.subtle.Ed25519Sign$KeyPair +-dontwarn com.google.crypto.tink.subtle.Ed25519Sign +-dontwarn com.google.crypto.tink.subtle.Ed25519Verify +-dontwarn com.google.crypto.tink.subtle.X25519 +-dontwarn com.google.crypto.tink.subtle.XChaCha20Poly1305 +-dontwarn org.bouncycastle.asn1.ASN1Encodable +-dontwarn org.bouncycastle.asn1.pkcs.PrivateKeyInfo +-dontwarn org.bouncycastle.asn1.x509.AlgorithmIdentifier +-dontwarn org.bouncycastle.asn1.x509.SubjectPublicKeyInfo +-dontwarn org.bouncycastle.cert.X509CertificateHolder +-dontwarn org.bouncycastle.cert.jcajce.JcaX509CertificateHolder +-dontwarn org.bouncycastle.jce.provider.BouncyCastleProvider +-dontwarn org.bouncycastle.openssl.PEMKeyPair +-dontwarn org.bouncycastle.openssl.PEMParser +-dontwarn org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter