1. 30 May, 2020 4 commits
  2. 29 May, 2020 1 commit
  3. 25 May, 2020 2 commits
  4. 24 May, 2020 2 commits
    • topjohnwu's avatar
      Optimize match-all-type rules · cd6eca1d
      topjohnwu authored
      For match-all-type rules (e.g. "allow magisk * * *" used in Magisk),
      we used to iterate and apply rules on all existing types. However, this
      is actually unnecessary as all selinux types should have at least 1
      attributes assigned to it (process types "domain", file context types
      "file_type" etc.). This means in order to create rules that applies to
      all types, we actually only need to create rules for all attributes.
      
      This optimization SIGNIFICANTLY reduces the patched sepolicy that is
      loaded into the kernel when running Magisk. For example on Pixel 4 XL
      running Android R DP4, the sepolicy sizes are
      patched (before) : 3455948
      patched (after)  : 843176
      stock            : 630229
      
      The active sepolicy size actually impacts the performance of every single
      operation in the operating system, because the larger the policies gets,
      the longer it takes for the kernel to lookup and match rules.
      cd6eca1d
    • topjohnwu's avatar
      Cleanup some implementations · 951273f8
      topjohnwu authored
      951273f8
  5. 23 May, 2020 4 commits
  6. 22 May, 2020 1 commit
    • topjohnwu's avatar
      Several statement parsing improvements · 0236ab88
      topjohnwu authored
      - Update help message to match the spec
      - Make tokenization not seg fault in certain conditions
      - Moar template + macro magic to reduce boilerplate
      0236ab88
  7. 21 May, 2020 1 commit
  8. 19 May, 2020 3 commits
  9. 18 May, 2020 8 commits
  10. 17 May, 2020 5 commits
  11. 16 May, 2020 1 commit
  12. 10 May, 2020 2 commits
  13. 09 May, 2020 3 commits
  14. 08 May, 2020 3 commits
    • topjohnwu's avatar
      Use env variables to enable standalone mode · a62bdc58
      topjohnwu authored
      a62bdc58
    • topjohnwu's avatar
      Revert accidental build script change · 91200949
      topjohnwu authored
      91200949
    • topjohnwu's avatar
      Support Safe Mode detection · a5d7c41d
      topjohnwu authored
      When detecting device is booting as Safe Mode, disable all modules and
      MagiskHide and skip all operations. The only thing that'll be available
      in this state is root (Magisk Manager will also be disabled by system).
      
      Since the next normal boot will also have all modules disabled, this can
      be used to rescue a device in the case when a rogue module causes
      bootloop and no custom recovery is available (or recoveries without
      the ability to decrypt data).
      a5d7c41d