diff --git a/Misc/Features/Strong_AES.txt b/Misc/Features/Strong_AES.txt index bfd11329..35035468 100644 --- a/Misc/Features/Strong_AES.txt +++ b/Misc/Features/Strong_AES.txt @@ -15,7 +15,11 @@ Benchmarks (Androbench) Seq. Write: 20 MBps Rand. Read: 11 MBps Rand. Write: 3 MBps - AES-128/RSA-2048 Encryption + AES-128/RSA-2048 Encryption + Overclock + Seq. Read: 70 MBps + Seq. Write: 17 MBps + Rand. Read: 13 MBps + Rand. Write: 4 MBps AES-256/RSA-4096 Encryption Seq. Read: 26 MBps Seq. Write: 18 MBps diff --git a/Patches/Linux b/Patches/Linux index 63acfbdb..5cc8355b 160000 --- a/Patches/Linux +++ b/Patches/Linux @@ -1 +1 @@ -Subproject commit 63acfbdbc3246fa5262e1d6affe08230d3ba444d +Subproject commit 5cc8355bcb7b79a9d4266b851d4679d06f6a0561 diff --git a/Scripts/Common/Deblob.sh b/Scripts/Common/Deblob.sh index a0b89075..369ca03d 100755 --- a/Scripts/Common/Deblob.sh +++ b/Scripts/Common/Deblob.sh @@ -114,11 +114,11 @@ echo "Deblobbing..." blobs=$blobs"|iop|libqti-iop-client.so|libqti-iop.so|QPerformance.jar"; #IMS (VoLTE/Wi-Fi Calling) [Qualcomm] - #blobs=$blobs"|ims.apk|ims.xml|libimsmedia_jni.so"; #IMS (Core) (To support carriers that have phased out 2G) + if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then blobs=$blobs"|ims.apk|ims.xml|libimsmedia_jni.so"; fi; #IMS (Core) (To support carriers that have phased out 2G) blobs=$blobs"|imscmlibrary.jar|imscmservice|imscm.xml|imsdatadaemon|imsqmidaemon|imssettings.apk|lib-imsdpl.so|lib-imscamera.so|libimscamera_jni.so|lib-imsqimf.so|lib-imsSDP.so|lib-imss.so|lib-imsvt.so|lib-imsxml.so"; #IMS blobs=$blobs"|ims_rtp_daemon|lib-rtpcommon.so|lib-rtpcore.so|lib-rtpdaemoninterface.so|lib-rtpsl.so"; #RTP blobs=$blobs"|lib-dplmedia.so|librcc.so|libvcel.so|libvoice-svc.so|qti_permissions.xml"; #Misc. - #blobs=$blobs"|volte_modem[/]"; + if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then blobs=$blobs"|volte_modem[/]"; fi; #IPA (Internet Packet Accelerator) [Qualcomm] #This is actually open source (excluding -diag) @@ -185,8 +185,10 @@ echo "Deblobbing..." #Time Service [Qualcomm] #Requires that https://github.com/LineageOS/android_hardware_sony_timekeep be included in repo manifest + if [ "$DEBLOBBER_REPLACE_TIME" = true ]; then #blobs=$blobs"|libtime_genoff.so"; #XXX: Breaks radio - #blobs=$blobs"|libTimeService.so|time_daemon|TimeService.apk"; + blobs=$blobs"|libTimeService.so|time_daemon|TimeService.apk"; + fi; #Venus (Hardware Video Decoding) [Qualcomm] #blobs=$blobs"|venus.b00|venus.b01|venus.b02|venus.b03|venus.b04|venus.mbn|venus.mdt"; @@ -229,12 +231,12 @@ deblobDevice() { if [ "${PWD##*/}" == "flo" ] || [ "${PWD##*/}" == "mako" ] || [ "${PWD##*/}" == "kona-common" ] || [ "${PWD##*/}" == "n5110" ] || [ "${PWD##*/}" == "smdk4412-common" ] || [ "${PWD##*/}" == "hdx-common" ] || [ "${PWD##*/}" == "thor" ] || [ "${PWD##*/}" == "flounder" ]; then #Some devices don't need/like TimeKeep replaceTime="false"; fi; - replaceTime="false"; #Temp disable replacement + if [ "$DEBLOBBER_REPLACE_TIME" = false ]; then replaceTime="false"; fi; #Disable replacement if [ -f Android.mk ]; then #Some devices store these in a dedicated firmware partition, others in /system/vendor/firmware, either way the following are just symlinks sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(CMN_SYMLINKS)//' Android.mk; #Remove CMN firmware sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(DXHDCP2_SYMLINKS)//' Android.mk; #Remove Discretix firmware - #sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(IMS_SYMLINKS)//' Android.mk; #Remove IMS firmware + if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(IMS_SYMLINKS)//' Android.mk; fi; #Remove IMS firmware sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(PLAYREADY_SYMLINKS)//' Android.mk; #Remove Microsoft Playready firmware sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(WIDEVINE_SYMLINKS)//' Android.mk; #Remove Google Widevine firmware sed -i '/ALL_DEFAULT_INSTALLED_MODULES/s/$(WV_SYMLINKS)//' Android.mk; #Remove Google Widevine firmware @@ -278,17 +280,19 @@ deblobDevice() { sed -i 's/ro.bluetooth.emb_wp_mode=true/ro.bluetooth.emb_wp_mode=false/' system.prop; #Disable WiPower sed -i 's/ro.bluetooth.wipower=true/ro.bluetooth.wipower=false/' system.prop; #Disable WiPower #Disable IMS - #sed -i 's/persist.data.iwlan.enable=true/persist.data.iwlan.enable=false/' system.prop; - #sed -i 's/persist.ims.volte=true/persist.ims.volte=false/' system.prop; - #sed -i 's/persist.ims.vt=true/persist.ims.vt=false/' system.prop; - #sed -i 's/persist.radio.calls.on.ims=true/persist.radio.calls.on.ims=false/' system.prop; - #sed -i 's/persist.radio.hw_mbn_update=./persist.radio.hw_mbn_update=0/' system.prop; - #sed -i 's/persist.radio.jbims=./persist.radio.jbims=0/' system.prop; - #sed -i 's/persist.radio.sw_mbn_update=./persist.radio.sw_mbn_update=0/' system.prop; - #sed -i 's/persist.radio.sw_mbn_volte=./persist.radio.sw_mbn_volte=0/' system.prop; - #sed -i 's/persist.radio.VT_ENABLE=./persist.radio.VT_ENABLE=0/' system.prop; - #sed -i 's/persist.radio.VT_HYBRID_ENABLE=./persist.radio.VT_HYBRID_ENABLE=0/' system.prop; - #sed -i 's/persist.volte_enabled_by_hw=./persist.volte_enabled_by_hw=0/' system.prop; + if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then + sed -i 's/persist.data.iwlan.enable=true/persist.data.iwlan.enable=false/' system.prop; + sed -i 's/persist.ims.volte=true/persist.ims.volte=false/' system.prop; + sed -i 's/persist.ims.vt=true/persist.ims.vt=false/' system.prop; + sed -i 's/persist.radio.calls.on.ims=true/persist.radio.calls.on.ims=false/' system.prop; + sed -i 's/persist.radio.hw_mbn_update=./persist.radio.hw_mbn_update=0/' system.prop; + sed -i 's/persist.radio.jbims=./persist.radio.jbims=0/' system.prop; + sed -i 's/persist.radio.sw_mbn_update=./persist.radio.sw_mbn_update=0/' system.prop; + sed -i 's/persist.radio.sw_mbn_volte=./persist.radio.sw_mbn_volte=0/' system.prop; + sed -i 's/persist.radio.VT_ENABLE=./persist.radio.VT_ENABLE=0/' system.prop; + sed -i 's/persist.radio.VT_HYBRID_ENABLE=./persist.radio.VT_HYBRID_ENABLE=0/' system.prop; + sed -i 's/persist.volte_enabled_by_hw=./persist.volte_enabled_by_hw=0/' system.prop; + fi; fi; if [ -f configs/qmi_config.xml ]; then sed -i 's|name="dpm_enabled" type="int"> 1 <|name="dpm_enabled" type="int"> 0 <|' configs/qmi_config.xml; #Disable DPM @@ -296,23 +300,27 @@ deblobDevice() { if [ -f init/init_*.cpp ]; then sed -i 's/property_set("persist.rcs.supported", ".");/property_set("persist.rcs.supported", "0");/' init/init_*.cpp; #Disable RCS #Disable IMS - #sed -i 's/property_set("persist.ims.volte", "true");/property_set("persist.ims.volte", "false");/' init/init_*.cpp; - #sed -i 's/property_set("persist.ims.vt", "true");/property_set("persist.ims.vt", "false");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.calls.on.ims", "true");/property_set("persist.radio.calls.on.ims", "false");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.jbims", ".");/property_set("persist.radio.jbims", "0");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.VT_ENABLE", ".");/property_set("persist.radio.VT_ENABLE", "0");/' init/init_*.cpp; - #sed -i 's/property_set("persist.radio.VT_HYBRID_ENABLE", ".");/property_set("persist.radio.VT_HYBRID_ENABLE", "0");/' init/init_*.cpp; + if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then + sed -i 's/property_set("persist.ims.volte", "true");/property_set("persist.ims.volte", "false");/' init/init_*.cpp; + sed -i 's/property_set("persist.ims.vt", "true");/property_set("persist.ims.vt", "false");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.calls.on.ims", "true");/property_set("persist.radio.calls.on.ims", "false");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.jbims", ".");/property_set("persist.radio.jbims", "0");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.VT_ENABLE", ".");/property_set("persist.radio.VT_ENABLE", "0");/' init/init_*.cpp; + sed -i 's/property_set("persist.radio.VT_HYBRID_ENABLE", ".");/property_set("persist.radio.VT_HYBRID_ENABLE", "0");/' init/init_*.cpp; + fi; fi; if [ -f overlay/frameworks/base/core/res/res/values/config.xml ]; then awk -i inplace '!/'$overlay'/' overlay/frameworks/base/core/res/res/values/config.xml; #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; #Disable UIBlur #Disable IMS - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; - #sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + sed -i 's|true|false|' overlay/frameworks/base/core/res/res/values/config.xml; + fi; fi; if [ -d sepolicy ]; then if [ -z "$replaceTime" ]; then diff --git a/Scripts/Common/Functions.sh b/Scripts/Common/Functions.sh index 36937d68..f013e815 100644 --- a/Scripts/Common/Functions.sh +++ b/Scripts/Common/Functions.sh @@ -190,7 +190,7 @@ hardenDefconfig() { #Enable supported options #Disabled: CONFIG_DEBUG_SG (bootloops - https://patchwork.kernel.org/patch/8989981) - declare -a optionsYes=("CONFIG_ARM64_SW_TTBR0_PAN" "CONFIG_BUG" "CONFIG_BUG_ON_DATA_CORRUPTION" "CONFIG_CC_STACKPROTECTOR" "CONFIG_CC_STACKPROTECTOR_STRONG" "CONFIG_CPU_SW_DOMAIN_PAN" "CONFIG_DEBUG_CREDENTIALS" "CONFIG_DEBUG_KERNEL" "CONFIG_DEBUG_LIST" "CONFIG_DEBUG_NOTIFIERS" "CONFIG_DEBUG_RODATA" "CONFIG_DEBUG_WX" "CONFIG_FORTIFY_SOURCE" "CONFIG_GCC_PLUGIN_LATENT_ENTROPY" "CONFIG_GCC_PLUGIN_RANDSTRUCT" "CONFIG_GCC_PLUGINS" "CONFIG_GCC_PLUGIN_STRUCTLEAK" "CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL" "CONFIG_HARDENED_USERCOPY" "CONFIG_IO_STRICT_DEVMEM" "CONFIG_KAISER" "CONFIG_LEGACY_VSYSCALL_NONE" "CONFIG_PAGE_POISONING" "CONFIG_PAGE_POISONING_NO_SANITY" "CONFIG_PAGE_POISONING_ZERO" "CONFIG_PAGE_TABLE_ISOLATION" "CONFIG_PANIC_ON_OOPS" "CONFIG_RANDOMIZE_BASE" "CONFIG_REFCOUNT_FULL" "CONFIG_RETPOLINE" "CONFIG_SCHED_STACK_END_CHECK" "CONFIG_SECCOMP" "CONFIG_SECCOMP_FILTER" "CONFIG_SECURITY" "CONFIG_SECURITY_PERF_EVENTS_RESTRICT" "CONFIG_SECURITY_YAMA" "CONFIG_SECURITY_YAMA_STACKED" "CONFIG_SLAB_FREELIST_RANDOM" "CONFIG_SLAB_HARDENED" "CONFIG_SLUB_DEBUG" "CONFIG_STRICT_DEVMEM" "CONFIG_STRICT_KERNEL_RWX" "CONFIG_STRICT_MEMORY_RWX" "CONFIG_SYN_COOKIES" "CONFIG_UNMAP_KERNEL_AT_EL0" "CONFIG_VMAP_STACK" "CONFIG_SECURITY_DMESG_RESTRICT" "CONFIG_SLAB_FREELIST_HARDENED" "CONFIG_GCC_PLUGINS" "CONFIG_GCC_PLUGIN_LATENT_ENTROPY" "CONFIG_GCC_PLUGIN_STRUCTLEAK" "CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL" "CONFIG_GCC_PLUGIN_RANDSTRUCT" "CONFIG_GCC_PLUGIN_RANDSTRUCT_PERFORMANCE" "CONFIG_PARTIALRESUME" "CONFIG_CRYPTO_DEV_QCRYPTO" "CONFIG_CRYPTO_PCRYPT" "CONFIG_CRYPTO_AES_ARM" "CONFIG_CRYPTO_AES_ARM_BS") + declare -a optionsYes=("CONFIG_ARM64_SW_TTBR0_PAN" "CONFIG_BUG" "CONFIG_BUG_ON_DATA_CORRUPTION" "CONFIG_CC_STACKPROTECTOR" "CONFIG_CC_STACKPROTECTOR_STRONG" "CONFIG_CPU_SW_DOMAIN_PAN" "CONFIG_DEBUG_CREDENTIALS" "CONFIG_DEBUG_KERNEL" "CONFIG_DEBUG_LIST" "CONFIG_DEBUG_NOTIFIERS" "CONFIG_DEBUG_RODATA" "CONFIG_DEBUG_WX" "CONFIG_FORTIFY_SOURCE" "CONFIG_GCC_PLUGIN_LATENT_ENTROPY" "CONFIG_GCC_PLUGIN_RANDSTRUCT" "CONFIG_GCC_PLUGINS" "CONFIG_GCC_PLUGIN_STRUCTLEAK" "CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL" "CONFIG_HARDENED_USERCOPY" "CONFIG_IO_STRICT_DEVMEM" "CONFIG_KAISER" "CONFIG_LEGACY_VSYSCALL_NONE" "CONFIG_PAGE_POISONING" "CONFIG_PAGE_POISONING_NO_SANITY" "CONFIG_PAGE_POISONING_ZERO" "CONFIG_PAGE_TABLE_ISOLATION" "CONFIG_PANIC_ON_OOPS" "CONFIG_RANDOMIZE_BASE" "CONFIG_REFCOUNT_FULL" "CONFIG_RETPOLINE" "CONFIG_SCHED_STACK_END_CHECK" "CONFIG_SECCOMP" "CONFIG_SECCOMP_FILTER" "CONFIG_SECURITY" "CONFIG_SECURITY_PERF_EVENTS_RESTRICT" "CONFIG_SECURITY_YAMA" "CONFIG_SECURITY_YAMA_STACKED" "CONFIG_SLAB_FREELIST_RANDOM" "CONFIG_SLAB_HARDENED" "CONFIG_SLUB_DEBUG" "CONFIG_STRICT_DEVMEM" "CONFIG_STRICT_KERNEL_RWX" "CONFIG_STRICT_MEMORY_RWX" "CONFIG_SYN_COOKIES" "CONFIG_UNMAP_KERNEL_AT_EL0" "CONFIG_VMAP_STACK" "CONFIG_SECURITY_DMESG_RESTRICT" "CONFIG_SLAB_FREELIST_HARDENED" "CONFIG_GCC_PLUGINS" "CONFIG_GCC_PLUGIN_LATENT_ENTROPY" "CONFIG_GCC_PLUGIN_STRUCTLEAK" "CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL" "CONFIG_GCC_PLUGIN_RANDSTRUCT" "CONFIG_GCC_PLUGIN_RANDSTRUCT_PERFORMANCE" "CONFIG_PARTIALRESUME" "CONFIG_CRYPTO_PCRYPT" "CONFIG_CRYPTO_CRYPTD" "CONFIG_CRYPTO_DEV_QCRYPTO" "CONFIG_CRYPTO_AES_ARM" "CONFIG_CRYPTO_AES_ARM_BS") for option in "${optionsYes[@]}" do sed -i 's/# '$option' is not set/'$option'=y/' $defconfigPath &>/dev/null || true; diff --git a/Scripts/LineageOS-14.1/Patch.sh b/Scripts/LineageOS-14.1/Patch.sh index 9ca46e49..65752182 100755 --- a/Scripts/LineageOS-14.1/Patch.sh +++ b/Scripts/LineageOS-14.1/Patch.sh @@ -91,8 +91,10 @@ patch -p1 < $patches"android_frameworks_base/0008-Disable_Analytics.patch"; #Dis rm -rf packages/PrintRecommendationService; #App that just creates popups to install proprietary print apps rm core/res/res/values/config.xml.orig core/res/res/values/strings.xml.orig; -#enterAndClear "frameworks/opt/net/ims"; -#patch -p1 < $patches"android_frameworks_opt_net_ims/0001-Fix_Calling.patch"; #Fix calling after we remove IMS +if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then +enterAndClear "frameworks/opt/net/ims"; +patch -p1 < $patches"android_frameworks_opt_net_ims/0001-Fix_Calling.patch"; #Fix calling when IMS is removed +fi; enterAndClear "frameworks/opt/net/wifi"; #Fix an issue when permision review is enabled that prevents using the Wi-Fi quick tile diff --git a/Scripts/LineageOS-15.1/Patch.sh b/Scripts/LineageOS-15.1/Patch.sh index 66138b96..afe462d8 100755 --- a/Scripts/LineageOS-15.1/Patch.sh +++ b/Scripts/LineageOS-15.1/Patch.sh @@ -89,8 +89,10 @@ if [ "$NON_COMMERCIAL_USE_PATCHES" = true ]; then patch -p1 < $patches"android_f rm -rf packages/PrintRecommendationService; #App that just creates popups to install proprietary print apps rm core/res/res/values/config.xml.orig core/res/res/values/strings.xml.orig; -#enterAndClear "frameworks/opt/net/ims"; -#patch -p1 < $patches"android_frameworks_opt_net_ims/0001-Fix_Calling.patch"; #Fix calling after we remove IMS +if [ "$DEBLOBBER_REMOVE_IMS" = true ]; then +enterAndClear "frameworks/opt/net/ims"; +patch -p1 < $patches"android_frameworks_opt_net_ims/0001-Fix_Calling.patch"; #Fix calling when IMS is removed +fi enterAndClear "frameworks/opt/net/wifi"; #Fix an issue when permision review is enabled that prevents using the Wi-Fi quick tile diff --git a/Scripts/init.sh b/Scripts/init.sh index 71102308..84127858 100644 --- a/Scripts/init.sh +++ b/Scripts/init.sh @@ -20,6 +20,8 @@ #START OF USER CONFIGURABLE OPTIONS export androidWorkspace="/mnt/Drive-3/"; #XXX: THIS MUST BE CORRECT TO BUILD! +export DEBLOBBER_REMOVE_IMS=false; #Set true to remove all IMS blobs +export DEBLOBBER_REPLACE_TIME=false; #Set true to replace Qualcomm Time service with the open source Sony TimeKeep reimplementation export DEFAULT_DNS="OpenNIC"; #Sets default DNS. Options: Cloudflare, OpenNIC export GLONASS_FORCED_ENABLE=true; #Enables GLONASS on all devices export MALWARE_SCAN_ENABLED=true; #Set true to perform a fast scan on patchWorkspace() and a through scan on buildAll()