@@ -798,45 +798,55 @@ static void load_override_properties() {
798798}
799799
800800static const char *snet_prop_key[] = {
801- " ro.boot.vbmeta.device_state" ,
802- " ro.boot.verifiedbootstate" ,
803- " ro.boot.flash.locked" ,
804- " ro.boot.selinux" ,
805- " ro.boot.veritymode" ,
806- " ro.boot.warranty_bit" ,
807- " ro.warranty_bit" ,
808- " ro.debuggable" ,
809- " ro.secure" ,
810- " ro.build.type" ,
811- " ro.build.keys" ,
812- " ro.build.tags" ,
813- " ro.system.build.tags" ,
814- " ro.vendor.boot.warranty_bit" ,
815- " ro.vendor.warranty_bit" ,
816- " vendor.boot.vbmeta.device_state" ,
817- " vendor.boot.verifiedbootstate" ,
818- NULL
801+ " ro.boot.vbmeta.device_state" ,
802+ " ro.boot.verifiedbootstate" ,
803+ " ro.boot.flash.locked" ,
804+ " ro.boot.selinux" ,
805+ " ro.boot.veritymode" ,
806+ " ro.boot.warranty_bit" ,
807+ " ro.warranty_bit" ,
808+ " ro.debuggable" ,
809+ " ro.secure" ,
810+ " ro.build.type" ,
811+ " ro.system.build.type" ,
812+ " ro.system_ext.build.type" ,
813+ " ro.vendor.build.type" ,
814+ " ro.product.build.type" ,
815+ " ro.odm.build.type" ,
816+ " ro.build.keys" ,
817+ " ro.build.tags" ,
818+ " ro.system.build.tags" ,
819+ " ro.vendor.boot.warranty_bit" ,
820+ " ro.vendor.warranty_bit" ,
821+ " vendor.boot.vbmeta.device_state" ,
822+ " vendor.boot.verifiedbootstate" ,
823+ NULL
819824};
820825
821826static const char *snet_prop_value[] = {
822- " locked" , // ro.boot.vbmeta.device_state
823- " green" , // ro.boot.verifiedbootstate
824- " 1" , // ro.boot.flash.locked
825- " enforcing" , // ro.boot.selinux
826- " enforcing" , // ro.boot.veritymode
827- " 0" , // ro.boot.warranty_bit
828- " 0" , // ro.warranty_bit
829- " 0" , // ro.debuggable
830- " 1" , // ro.secure
831- " user" , // ro.build.type
832- " release-keys" , // ro.build.keys
833- " release-keys" , // ro.build.tags
834- " release-keys" , // ro.system.build.tags
835- " 0" , // ro.vendor.boot.warranty_bit
836- " 0" , // ro.vendor.warranty_bit
837- " locked" , // vendor.boot.vbmeta.device_state
838- " green" , // vendor.boot.verifiedbootstate
839- NULL
827+ " locked" , // ro.boot.vbmeta.device_state
828+ " green" , // ro.boot.verifiedbootstate
829+ " 1" , // ro.boot.flash.locked
830+ " enforcing" , // ro.boot.selinux
831+ " enforcing" , // ro.boot.veritymode
832+ " 0" , // ro.boot.warranty_bit
833+ " 0" , // ro.warranty_bit
834+ " 0" , // ro.debuggable
835+ " 1" , // ro.secure
836+ " user" , // ro.build.type
837+ " user" , // ro.system.build.type
838+ " user" , // ro.system_ext.build.type
839+ " user" , // ro.vendor.build.type
840+ " user" , // ro.product.build.type
841+ " user" , // ro.odm.build.type
842+ " release-keys" , // ro.build.keys
843+ " release-keys" , // ro.build.tags
844+ " release-keys" , // ro.system.build.tags
845+ " 0" , // ro.vendor.boot.warranty_bit
846+ " 0" , // ro.vendor.warranty_bit
847+ " locked" , // vendor.boot.vbmeta.device_state
848+ " green" , // vendor.boot.verifiedbootstate
849+ NULL
840850};
841851
842852static void workaround_snet_properties () {
@@ -845,16 +855,22 @@ static void workaround_snet_properties() {
845855 // Weaken property override security to set safetynet props
846856 weaken_prop_override_security = true ;
847857
848- std::string error;
858+ std::string error;
849859
850- // Hide all sensitive props if not eng build
860+ // Hide all sensitive props if not eng build
851861 if (build_type != " eng" ) {
852- LOG (INFO) << " snet: Hiding sensitive props" ;
853- for (int i = 0 ; snet_prop_key[i]; ++i) {
862+ LOG (INFO) << " snet: Hiding sensitive props" ;
863+ for (int i = 0 ; snet_prop_key[i]; ++i) {
854864 PropertySet (snet_prop_key[i], snet_prop_value[i], &error);
855- }
865+ }
856866 }
857867
868+ // Extra pops
869+ std::string build_flavor_key = " ro.build.flavor" ;
870+ std::string build_flavor_value = android::base::GetProperty (build_flavor_key, " " );
871+ build_flavor_value = android::base::StringReplace (build_flavor_value, " userdebug" , " user" , false );
872+ PropertySet (build_flavor_key, build_flavor_value, &error);
873+
858874 // Restore the normal property override security after safetynet props have been set
859875 weaken_prop_override_security = false ;
860876}
0 commit comments