Skip to content
Snippets Groups Projects
  1. Jan 17, 2024
    • Eric Biggers's avatar
      Fix UnlockedDeviceRequired with weak unlock methods · cd7f4fad
      Eric Biggers authored
      Starting in Android 12, unlocking the device with a class 1
      ("convenience") biometric, class 2 ("weak") biometric, or a trust agent
      unexpectedly doesn't allow the use of UnlockedDeviceRequired keys.  The
      cause of this bug is that the cryptographic protection that Keystore now
      applies to UnlockedDeviceRequired keys incorrectly assumes that the
      device can only be unlocked using LSKF or via a biometric that
      participates in Keystore (has a SID and uses HardwareAuthTokens).
      Actually, Keyguard also allows the device to be unlocked using weaker
      biometrics that do not particiate in Keystore, if they are enrolled.
      Similarly, there are also cases where a trust agent can actively unlock
      the device, e.g. unlocking a phone using a paired watch.
      
      In combination with the Keystore changes in
      I1b0d9ec4f9e31dc91642e865045766bd17e34cad, this CL fixes the bug by
      making Keystore retain the UnlockedDeviceRequired super keys in memory
      if a weak unlock method is enabled at device lock time.  This does mean
      that UnlockedDeviceRequired is enforced only logically when a weak
      unlock method is enabled, but this is the best we can do in this case.
      
      Note: a future CL will take into account the progressive expiration of
      unlock methods while the device is locked and upgrade the security of
      UnlockedDeviceRequired accordingly.  The present CL focuses just on
      choosing the correct protection at lock time, fixing a user-visible bug.
      
      Test: Ran the following automated tests with and without the
            fix_unlocked_device_required_keys_v2 flag enabled:
                atest com.android.server.locksettings \
                && atest TrustManagerServiceTest \
                && atest TrustTests \
                && atest -p --include-subdirs system/security/keystore2 \
                && atest CtsKeystoreTestCases
      
      Test: Manually tested each combination of biometric setup: none,
            fingerprint, face, and fingerprint+face.  Locked the device, then
            verified via logcat that Keystore protected the
            UnlockedDeviceRequired keys in the expected way, then verified
            that UnlockedDeviceRequired keys cannot be used (even in the case
            where the super keys were not protected).  Unlocked device using
            weakest method available, then verified that
            UnlockedDeviceRequired keys can be used.  To check whether
            UnlockedDeviceRequired keys can be used or not, used the CTS
            method mentioned in the Test of https://r.android.com/2878769.
      
            Also, enabled Extend Unlock with a bluetooth device, and verified
            that it's not counted as an unlock method.
      
            Also, verified that if Lockdown mode is triggered, the
            UnlockedDeviceRequired keys are fully protected.
      
      Bug: 296464083
      Change-Id: I34dc49f1338e94755e96c1cf84de0638dc70d311
      cd7f4fad
    • Girish Shetty's avatar
    • Sudheer Shanka's avatar
      Merge changes from topic "cherrypicker-L60200030001118132:N13600030018110596" into main · 7522c845
      Sudheer Shanka authored
      * changes:
        Pass in a new instance supplier for creating RingBuffer.
        Update RingBuffer to take Supplier<T> for creating new instances.
      7522c845
    • Girish's avatar
      media: adding MediaFormat.KEY_IMPORTANCE · 39e5dad7
      Girish authored
      Bug: 289097671
      Test: atest android.media.misc.cts.ResourceManagerTest
            atest android.media.misc.cts.ResourceManagerMultiTest
      Merged-In: I750ef5a7585b7bba94f0dfb7bb8e70ec12bf70f5
      Change-Id: I750ef5a7585b7bba94f0dfb7bb8e70ec12bf70f5
      39e5dad7
  2. Jan 16, 2024
  3. Jan 15, 2024
  4. Jan 13, 2024
  5. Jan 12, 2024
  6. Jan 11, 2024
    • Yan Yan's avatar
      Enable NetworkMetricMonitor and support penalizing networks · ce1468a2
      Yan Yan authored
      This CL integrates the IpSecPacketLossDetector into VCN
      route selection. With this change, when a data stall is
      reported, the network candidate will be penalized and
      then deprioritized during network selection. A network
      candidate will stop being penalized until it hitting a timeout
      or passing the validation.
      
      Bug: 282996138
      Test: atest FrameworksVcnTests(new tests), CtsVcnTestCases
      Change-Id: Ifabd6fdea1d5a4fea40cf929dbab7c26d37274ac
      ce1468a2
    • William Loh's avatar
      84889ec8
    • William Loh's avatar
      Update OWNERS for intent.proto · ec2616b7
      William Loh authored
      Bug: 307556883
      Test: n/a
      Change-Id: I5001247c342f23b07e1355db7e50ad90cce66b07
      ec2616b7
    • Tom Chan's avatar
    • Tom Chan's avatar
      Consolidate OWNERS files and add hackz@ and myself · e20a03bf
      Tom Chan authored
      syntax from go/android-codereviews#include-an-owners-file-from-a-sub-directory-within-the-same-git-project
      
      Change-Id: Ia02a5efdda1c2dea65753a63cbd2e78e56bac6eb
      e20a03bf
    • Yan Yan's avatar
      f4853c52
    • Treehugger Robot's avatar
    • Mårten Kongstad's avatar
      (Temporarily) hide Lint 101 errors · e2da2d62
      Mårten Kongstad authored
      When building SDKs that include some, but not all @FlaggedApis, a few
      Javadoc @see/@link references will point to objects that are
      inaccessible, which will trigger Lint 101 errors.
      
      The correct fix is to update the Javadoc. However, to unblock the SDK
      build for now, temporarily hide Lint 101 errors.
      
      Bug: 319541666
      Test: m sdk dist
      Change-Id: Icbd1d99d5fcd6cee37bf588ef45443e7e946f742
      e2da2d62
    • Nelson Li's avatar
      Remove unused Android.mk in NamespaceTest · a276b963
      Nelson Li authored
      After checking, the modules under these directories can not be built
      because the upper-level directories lack Android.mk.
      Even if these Android.mk are included, they cannot be tested correctly
      with atest.
      
      Bug: 319568429
      Test: N/A
      Change-Id: I797d2327e340fcd38cde03dd0f520ec756be5fc3
      a276b963
    • Nelson Li's avatar
      Remove unused Android.mk in MergeOnlyTest · a8bb9e40
      Nelson Li authored
      After checking, the modules under these directories can not be built
      because the upper-level directories lack Android.mk.
      In addition, the format of the Android.mk in these directories is also
      incorrect, and if it is included, it will cause the build to break.
      
      Bug: 319565408
      Test: N/A
      Change-Id: I1a7b2fc2ad78bcbcd6cd3f65c0a5043656711dae
      a8bb9e40
    • Harshit Mahajan's avatar
    • Jihoon Kang's avatar
      Define exportable full api surface stubs · 059b9493
      Jihoon Kang authored
      The two major roles of the full api surface stubs (i.e.
      android_*_stubs_current) are:
      - Appended to classpath when a module sets sdk_version
      - Input to generating hiddenapi flags and determine the accessibility of
        the api at runtime
      
      With Trunk Stable, all flagged apis that are not enabled should not be
      accessible at runtime. In other words, the currently existing full api
      surface stubs that include both non flagged and flagged apis should not
      be used to generate the hiddenapi flags.
      
      To resolve this problem, this change introduces full api surface stubs
      of the "exportable" stubs (i.e. non flagged apis + flagged apis enabled
      by release configuration).
      
      The new modules are named similarly to the currently existing full api
      surface stubs, but appends the "_exportable" prefix to differentiate
      with the currently existing modules. These modules are solely used for
      hiddenapi flags generation, and the currently existing modules continue
      to serve the first aforementioned role.
      
      The new modules will toggle between the from-text stubs module and the
      from-source stubs module when the exportable stubs can be generated from
      the from-text stubs generating `java_api_library` module. For now, these
      modules are always built from source.
      
      Test: m android_stubs_current_exportable
      Bug: 317426356
      Change-Id: I1f6f738ae9c5ebf151a1554aa1e357ef0092c89c
      059b9493
  7. Jan 10, 2024
    • Yan Yan's avatar
      Support IPsec packet loss detector · 4d8d4462
      Yan Yan authored
      This CL creates an abstract class NetworkMetricMonitor and a
      subclass IpSecPacketLossDetector. IpSecPacketLossDetector
      is responsible for continuously monitoring IPsec packet loss
      and reporting to the caller when the data loss rate surpass
      a threshold. This detector allows the VCN to switch from
      the underlying network that has bad quality.
      
      This CL also defines new carrier configs that specify the
      data loss threshold and detecting frequency
      
      Bug: 282996138
      Test: atest FrameworksVcnTests(new tests), CtsVcnTestCases
      Change-Id: I5f4b8e1821bdbb37f0a6de6e1584f8e3c87273f3
      4d8d4462
Loading