Skip to content
Snippets Groups Projects
  1. Mar 11, 2015
  2. Feb 24, 2015
  3. Feb 13, 2015
    • Stephen Smalley's avatar
      checkseapp: Detect duplicate entries within seapp_contexts. · 0b820042
      Stephen Smalley authored
      
      Presently it only detects complete duplicates if you specify -s (strict),
      which is not used in the external/sepolicy Makefile, and it allows
      overriding earlier entries that have the same input selectors (e.g.
      user=, seinfo=) with different values for the output selectors (e.g.
      domain=, type=).  Thus, a device/<vendor>/<board>/sepolicy/seapp_contexts
      file can override the external/sepolicy definitions, and even a single
      seapp_contexts file can contain duplicated or conflicting definitions.
      
      Make it always check strictly, and prohibit either duplicates on the
      input selectors (i.e. overrides) or complete duplicates (redundant).
      
      Change-Id: Id1e38133cbe31b796253101cfe3b111d1826bc8c
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      0b820042
  4. Feb 06, 2015
    • dcashman's avatar
      Accept command-line input for neverallow-check. · f82f5e01
      dcashman authored
      Also, divide each sepolicy-analyze function into its own component for simplified
      command-line parsing and potentially eventual modularization.
      
      Bug: 18005561
      
      Cherry-pick of commit: ef4fd306
      with commit: 47c14611
      squashed in.
      
      Bug: 19191637
      Change-Id: Id66cad549b7311a6bbd92fd64b6ec2c60d0433a4
      f82f5e01
  5. Feb 05, 2015
  6. Dec 22, 2014
    • dcashman's avatar
      Adjust sepolicy-analyze to reflect libsepol changes. · 0de2b45f
      dcashman authored
      Commit dc0ab516f11d8e2c413315e733e25a41ba468e4f changed the libsepol
      structures on which sepolicy-analyze relies so that it could be compiled
      as a C++ library.  Reflect this change in sepolicy-analyze.
      
      Change-Id: I7da601767c3a4ebed7274e33304d8b589a9115fe
      0de2b45f
  7. Dec 01, 2014
    • William Roberts's avatar
      Fix sepolicy-analyze build with different toolchains · 47c14611
      William Roberts authored
      host C: sepolicy-analyze <= external/sepolicy/tools/sepolicy-analyze/sepolicy-analyze.c
      external/sepolicy/tools/sepolicy-analyze/sepolicy-analyze.c: In function 'usage':
      external/sepolicy/tools/sepolicy-analyze/sepolicy-analyze.c:30:5: error: 'for' loop initial declarations are only allowed in C99 mode
      external/sepolicy/tools/sepolicy-analyze/sepolicy-analyze.c:30:5: note: use option -std=c99 or -std=gnu99 to compile your code
      make: *** [out/host/linux-x86/obj/EXECUTABLES/sepolicy-analyze_intermediates/sepolicy-analyze.o] Error 1
      
      Change-Id: I9222e447b032d051c251c9718e2b8d5ffb9e9c35
      47c14611
  8. Nov 20, 2014
    • Narayan Kamath's avatar
      Undo idiotic build fix. · f639e96b
      Narayan Kamath authored
      Just remove unused variables instead of making them refer to
      the wrong statics.
      
      Change-Id: I314bfe91b7912f7d8c9cba7dd55a76d72c879a51
      f639e96b
    • Narayan Kamath's avatar
      Fix build. · 012dd734
      Narayan Kamath authored
      Introduced by the merge conflict resolution for
      3a1eb33b.
      
      Change-Id: Iddbc9e4d83c513d7003102f881793b5b7945566c
      012dd734
  9. Nov 19, 2014
  10. Nov 13, 2014
  11. Oct 31, 2014
    • dcashman's avatar
      Accept command-line input for neverallow-check. · ef4fd306
      dcashman authored
      Also, divide each sepolicy-analyze function into its own component for simplified
      command-line parsing and potentially eventual modularization.
      
      Bug: 18005561
      Change-Id: I45fa07d776cf1bec7d60dba0c03ee05142b86c19
      ef4fd306
  12. Oct 15, 2014
    • Nick Kralevich's avatar
      maybe fix mac build. · 74bbf703
      Nick Kralevich authored
        1 warning generated.
        external/sepolicy/tools/sepolicy-analyze.c:446:27: error: implicit declaration of function 'isspace' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                while (p < end && isspace(*p))
                                ^
        1 error generated.
        make: *** [out/host/darwin-x86/obj32/EXECUTABLES/sepolicy-analyze_intermediates/sepolicy-analyze.o] Error 1
        make: *** Waiting for unfinished jobs....
      
      Change-Id: I250dcef7c726d5b66835dc51c057e472b801aa2c
      74bbf703
  13. Oct 14, 2014
  14. Sep 15, 2014
  15. Aug 27, 2014
    • dcashman's avatar
      Add permissive domains check to sepolicy-analyze. · c30dd63f
      dcashman authored
      Also enable global reading of kernel policy file. Motivation for this is to
      allow read access to the kernel version of the binary selinux policy.
      
      Bug: 17288791
      
      Change-Id: I1eefb457cea1164a8aa9eeb7683b3d99ee56ca99
      c30dd63f
  16. Aug 22, 2014
    • dcashman's avatar
      Add permissive domains check to sepolicy-analyze. · 9793ea7a
      dcashman authored
      Also enable global reading of kernel policy file. Motivation for this is to
      allow read access to the kernel version of the binary selinux policy.
      
      Change-Id: I1eefb457cea1164a8aa9eeb7683b3d99ee56ca99
      9793ea7a
  17. Jun 17, 2014
  18. Apr 04, 2014
    • Stephen Smalley's avatar
      Treat seinfo=default name=<anything> as an error. · f4fa7567
      Stephen Smalley authored
      
      check_app already checks for usage of name= entries
      in seapp_contexts with no seinfo= specification to
      link it back to a signer in mac_permissions.xml.
      However, one can avoid this error by specifying
      a seinfo=default which merely matches the default
      stanza of mac_permissions.xml without actually ensuring
      that it is tied to a specific certificate.  Catch
      that error case too.
      
      Change-Id: If33cf21501e8bfee44d31c92b6341dfa583552b2
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      f4fa7567
  19. Apr 01, 2014
  20. Mar 25, 2014
  21. Mar 12, 2014
    • Robert Craig's avatar
      Introduce post_process_mac_perms script. · 3e70d479
      Robert Craig authored
      
      usage: post_process_mac_perms [-h] -s SEINFO -d DIR -f POLICY
      
      Tool to help modify an existing mac_permissions.xml with additional app certs
      not already found in that policy. This becomes useful when a directory
      containing apps is searched and the certs from those apps are added to the
      policy not already explicitly listed.
      
      optional arguments:
        -h, --help            show this help message and exit
        -s SEINFO, --seinfo SEINFO
                              seinfo tag for each generated stanza
        -d DIR, --dir DIR     Directory to search for apks
        -f POLICY, --file POLICY
                              mac_permissions.xml policy file
      
      Change-Id: Ifbaca3b3120874a567d3f22eb487de1aa8bda796
      Signed-off-by: default avatarrpcraig <rpcraig@tycho.ncsc.mil>
      3e70d479
  22. Feb 19, 2014
    • Stephen Smalley's avatar
      Add support for and use new path= specifier in seapp_contexts. · 6139de50
      Stephen Smalley authored
      
      Extend check_seapp to accept the use of the new path= specifier
      in seapp_contexts and use it to ensure proper labeling of the cache
      subdirectory of com.android.providers.downloads for restorecon.
      
      After this change, restorecon /data/data/com.android.providers.downloads/cache
      does not change the context, leaving it in download_file rather than
      relabeling it to platform_app_data_file.
      
      Depends on Iddaa3931cfd4ddd5b9f62cd66989e1f26553baa1.
      
      Change-Id: Ief65b8c8dcb44ec701d53e0b58c52d6688cc2a14
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      6139de50
  23. Nov 19, 2013
    • Stephen Smalley's avatar
      Add support for duplicate allow rule detection (-D / --dups). · bec54f42
      Stephen Smalley authored
      
      Usage:
      sepolicy-analyze -D -P out/target/product/<board>/root/sepolicy
      
      Displays duplicate allow rules, i.e. pairs of allow rules that grant
      the same permissions where one allow rule is written directly in terms
      of individual types and the other is written in terms of attributes
      associated with those same types.  The rule with individual types is
      a candidate for removal.  The rule with individual types may be directly
      represented in the source policy or may be a result of expansion of
      a type negation (e.g. domain -foo -bar is expanded to individual allow
      rules by the policy compiler).  Domains with unconfineddomain will
      typically have such duplicate rules as a natural side effect and can
      be ignored.
      
      Also add a tools/README with a description of all of the tools.
      
      Change-Id: I07838dbd22c5cc8a4a65b57003ccae38129050f5
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      bec54f42
  24. Nov 01, 2013
  25. Oct 31, 2013
    • Nick Kralevich's avatar
      Revert -Wall -Werror · 2d8a4237
      Nick Kralevich authored
      Temporarily revert -Wall -Werror on checkseapp.
      This is causing a compiler error on darwin SDK builds.
      
      cc1: warnings being treated as errors
      external/sepolicy/tools/check_seapp.c: In function 'rule_map_free':
      external/sepolicy/tools/check_seapp.c:439: warning: unused parameter 's'
      make: *** [out/host/darwin-x86/obj/EXECUTABLES/checkseapp_intermediates/check_seapp.o] Error 1
      
      Change-Id: I9776777a751f16d5ca0d90e731482c31dac813f9
      2d8a4237
    • Stephen Smalley's avatar
      Add sepolicy-analyze tool. · 7b2bee99
      Stephen Smalley authored
      
      And also remove the unnecessary references to libselinux for
      sepolicy-check, as it has no dependencies on libselinux.
      Also enable -Wall -Werror on building all of these tools and
      fix up all such errors.
      
      Usage:
      $ sepolicy-analyze -e -P out/target/product/<device>/root/sepolicy
      or
      $ sepolicy-analyze -d -P out/target/product/<device>/root/sepolicy
      
      The first form will display all type pairs that are "equivalent", i.e.
      they are identical with respect to allow rules, including indirect allow
      rules via attributes and default-enabled conditional rules (i.e. default
      boolean values yield a true conditional expression).
      
      Equivalent types are candidates for being coalesced into a single type.
      However, there may be legitimate reasons for them to remain separate,
      for example:
      - the types may differ in a respect not included in the current
      analysis, such as default-disabled conditional rules, audit-related
      rules (auditallow or dontaudit), default type transitions, or
      constraints (e.g. mls), or
      - the current policy may be overly permissive with respect to one or the
      other of the types and thus the correct action may be to tighten access
      to one or the other rather than coalescing them together, or
      - the domains that would in fact have different accesses to the types
      may not yet be defined or may be unconfined in the policy you are
      analyzing (e.g. in AOSP policy).
      
      The second form will display type pairs that differ and the first
      difference found between the two types.  This output can be long.
      
      We have plans to explore further enhancements to this tool, including
      support for identifying isomorphic types.  That will be required to
      identify similar domains since all domains differ in at least their
      entrypoint type and in their tmpfs type and thus will never show up as
      equivalent even if they are in all other respects identical to each other.
      
      Change-Id: If0ee00188469d2a1e165fdd52f235c705d22cd4e
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      7b2bee99
  26. Oct 16, 2013
  27. Oct 15, 2013
    • William Roberts's avatar
      tools: drop unused field in struct · d1f1070a
      William Roberts authored
      check_seapp at one point in time switch from a home implementation
      of a hash table to using GLIBC search.h routines. A struct in one
      of the fields was never removed during this transition.
      
      Change-Id: I65c028103ffe90fa52e0b3c9fce28124ed9c7ff9
      d1f1070a
  28. Oct 14, 2013
    • William Roberts's avatar
      tools: Strengthen BEGIN/END CERTIFICATE checks · 14138335
      William Roberts authored
      insertkeys.py used beginswith() when checking that the BEGIN
      and END CERTIFICATE clauses in PEM files were correct. It should
      have done an explicit check on equality.
      
      Change-Id: I5efb48d180bc674e6281a26a955acd248588b8bd
      14138335
  29. Oct 10, 2013
    • Mike Palmiotto's avatar
      tools: Don't error out of insertkeys script on whitespace · 070c01f8
      Mike Palmiotto authored
      Many keys end with whitespace or otherwise have whitespace separating the
      certificates.  If insertkeys is intended to support multiple certificates, we
      should also support blank line separators.
      
      Change-Id: I5fd17be5785ad1b89a6191e9ba33bbc7c5a4e8e9
      070c01f8
  30. Oct 08, 2013
    • William Roberts's avatar
      tools: Correct insert keys behavior on pem files · 1ecb4e8a
      William Roberts authored
      Insert keys would erroneously process pem files
      with openssl headers in them. Also, the tool would
      be fooled into attempting to use pem files that
      had private keys and other things in the format.
      This patch strengthens the formatting requirements
      and increases the verboseness of error messages
      when processing pem files.
      
      Change-Id: I03353faaa641233a000d1a18943024ae47c63e0f
      1ecb4e8a
  31. Sep 12, 2013
  32. Aug 23, 2013
  33. Aug 08, 2013
  34. Apr 29, 2013
  35. Apr 20, 2013
  36. Mar 29, 2013
Loading