- Jan 29, 2016
-
-
William Roberts authored
Input validation was hard-coded into a validation routine that would check against type and key names in a scattered, order dependent conditional code block. This makes it harder than it should be to add new key value pairs and types into checkseapp. To correct this, we add a validation callback into the static mapping. If the validation callback is set, the existing validation routine will call this for input validation. On failure, a validation specific error message is returned to be displayed. Change-Id: I92cf1cdf4ddbcfae19168b621f47169a3cf551ac Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Change the final error message to be consistent with the others. From: Error: reading /home/wcrobert/workspace/aosp/external/sepolicy/seapp_contexts, line 82, name domain, value system_server To: Error: Reading file: "/home/wcrobert/workspace/aosp/external/sepolicy/seapp_contexts" line: 82 name: "domain" value: "system_server" Change-Id: Idf791d28fbba95fbeed8b9ccec9a296eea33afb9 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Change-Id: Ic4dc59650ca849b950cb145fedafdf4fc250f009 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jan 15, 2016
-
-
William Roberts authored
Ordering matters in fc files; the last match wins. In builds where many BOARD_SEPOLICY_DIRS are set, the order of that list becomes increasingly important in order to maintain a cohesive built file_contexts. To correct this, we sort the device specific file_contexts entries with the upstream fc_sort tool. Change-Id: I3775eae11bfa5905cad0d02a0bf26c76ac03437c Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Checkfc was treating 0 size fc files as a fatal error. An empty fc file should be treated as "nothing to check" so long as the -e option is passed. We add this option, so we don't allow empty file_context files to pass CTS checking. Change-Id: Ibca6bd948a13389e10c605d613acc48c5504443e Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jan 14, 2016
-
-
Jeffrey Vander Stoep authored
Breaks builds with no device specific policy. Bug: 26568553 This reverts commit 29d14688. Change-Id: If9254d4ad3f104a96325beedebc05dd22664084a
-
William Roberts authored
Change-Id: I0e63f90cafc5b1ca9cc112e852e172046b16a17e Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jan 07, 2016
-
-
William Roberts authored
Ordering matters in fc files; the last match wins. In builds where many BOARD_SEPOLICY_DIRS are set, the order of that list becomes increasingly important in order to maintain a cohesive built file_contexts. To correct this, we sort the device specific file_contexts entries with the upstream fc_sort tool. Change-Id: Id79cc6f434c41179d5c0d0d739c4718918b0b1dc Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Dec 14, 2015
-
-
William Roberts authored
Enable checkfc to check *_contexts against a set of valid attributes which must be associated with all types in the contexts file that is being checked. Since it's imperative that checkfc knows which file its checking to choose the proper attribute set, the -s option is introduced to indicate the service_contexts file. The property_contexts file continues to use the existing -p and file_contexts requires no specification, aka it's the default. Failure examples: file_contexts: Error: type "init" is not of set: "fs_type, dev_type, file_type" service_contexts: Error: type "init_exec" is not of set: "service_manager_type" property_contexts: Error: type "bluetooth_service" is not of set: "property_type" Change-Id: I62077e4d0760858a9459e753e14dfd209868080f Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Oct 14, 2015
-
-
Jeff Vander Stoep authored
Assign priviliged apps not signed with the platform key to the priv_app domain. Bug: 22033466 Change-Id: Idf7fbe7adbdc326835a179b554f96951b69395bc
-
- Aug 12, 2015
-
-
Stephen Smalley authored
Extend checkfc to support comparing two file_contexts or file_contexts.bin files. This is for use by the CTS SELinuxHostTest to compare the AOSP general_file_contexts with the device file_contexts.bin file. Depends on I0fe63e0c7f11ae067b5aac2f468f7842e5d76986. Change-Id: I2fff2f8cf87690a76219ddf4cf38939650f34782 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Jun 25, 2015
-
-
William Roberts authored
Introduce "neverallow" rules for seapp_contexts. A neverallow rule is similar to the existing key-value-pair entries but the line begins with "neverallow". A neverallow violation is detected when all keys, both inputs and outputs are matched. The neverallow rules value parameter (not the key) can contain regular expressions to assist in matching. Neverallow rules are never output to the generated seapp_contexts file. Also, unless -o is specified, checkseapp runs in silent mode and outputs nothing. Specifying - as an argument to -o outputs to stdout. Sample Output: Error: Rule in File "external/sepolicy/seapp_contexts" on line 87: "user=fake domain=system_app type=app_data_file" violates neverallow in File "external/sepolicy/seapp_contexts" on line 57: "user=((?!system).)* domain=system_app" Change-Id: Ia4dcbf02feb774f2e201bb0c5d4ce385274d8b8d Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 23, 2015
-
-
William Roberts authored
rule_map_free() took as a parameter a boolean menu rule_map_switch that was used to determine if it should free the key pointer that is also in the table. On GLIBC variants, calls to hdestroy do not free the key pointer, on NON-GLIBC variants, it does. The original patch was meant to correct this, however, it always passes "destroy" as the rule_map_switch. On GLIBC variants this is fine, however on NON-GLIBC variants, that free was compiled out, and the free() was handled by hdestroy. In cases of failure where the rule_map was not in the htable, those key's were not properly free'd. Change-Id: Ifdf616e09862bca642a4d31bf0cb266168170e50 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
William Roberts authored
Change-Id: I00aa4eeaf569c8108a7b6aab190be68e53b46597 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 19, 2015
-
-
William Roberts authored
When an error occured it was erroneously being indicated that he file was the output file, not the input file. Before: Error: Could not find selinux type "fake_app" on line: 51 in file: out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts Error: Could not validate Error: reading out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts.tmp, line 51, name levelFrom, value user After: Error: Could not find selinux type "fake_app" on line: 51 in file: out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts.tmp Error: Could not validate Error: reading out/target/product/flo/obj/ETC/seapp_contexts_intermediates/seapp_contexts.tmp, line 51, name levelFrom, value user Change-Id: Ib0e01f1f0ef563a2a150a0a3b4012e6e15d736bb Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 12, 2015
-
-
William Roberts authored
If a duplicate entry is found, rule_map_cmp() incorrectly assumes that the lengths of the key value pairs should be equal, when this is not true. The duplicate detection is done on the input parameters, thus the lengths can be different. This resulted in a duplicate error string message of "do not match", instead of "match on all inputs". Also, the file name printed that contained the error was the output file, not the input file that contained it. Change-Id: I9b3f99fa4aa3454849de55f18b198b0b56e44320 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
- Jun 10, 2015
-
-
dcashman authored
Point to external/selinux/libsepol instead of external/libsepol. Change-Id: I09c33a4cbd7b4cd3ef2341c042259b96c0b59372
-
Jeff Vander Stoep authored
Point to external/selinux/libsepol instead of external/libsepol (cherry picked from commit 53b48013) Change-Id: If6dc1e9261f397d801ba2376ab60c5dc5b5d86e4
- Jun 09, 2015
-
-
Jeff Vander Stoep authored
Point to external/selinux/libsepol instead of external/libsepol Change-Id: If6dc1e9261f397d801ba2376ab60c5dc5b5d86e4
-
- May 14, 2015
-
-
dcashman authored
Addresses the following error when running CTS on master: junit.framework.AssertionFailedError: The following errors were encountered when validating the SELinuxneverallow rule: neverallow { appdomain -bluetooth } self:capability *; /tmp/SELinuxHostTest5593810182495331783.tmp: error while loading shared libraries: libc++.so: cannot open shared object file: No such file or directory Also indicate that none of the sepolicy tools need c++ std lib. (cherry-pick of 28acbeab) Bug: 19566396 Change-Id: Ieb380d05ae896a8146b80f94fe3b3211178705bb
-
- May 12, 2015
-
-
dcashman authored
Addresses the following error when running CTS on master: junit.framework.AssertionFailedError: The following errors were encountered when validating the SELinuxneverallow rule: neverallow { appdomain -bluetooth } self:capability *; /tmp/SELinuxHostTest5593810182495331783.tmp: error while loading shared libraries: libc++.so: cannot open shared object file: No such file or directory Also indicate that none of the sepolicy tools need c++ std lib. (cherry-pick of 0cdb0517be696c0dc6882d289eedd45bf2da918c now made possible by addition of commit: 28b72eddd54cb1287dd7daae853e8e4b78fa17eb) Bug: 19617220 Change-Id: I2c5b7ab1ddeb0e02cbaad2b7d5430a0974524a89
-
- Mar 17, 2015
-
-
Dan Albert authored
This is causing more harm than good. We'll just make these all link libc++ again and work out the CTS issues if they still exist. Bug: 19778891 This reverts commit 3812cf58. Change-Id: Iaea8f6acb147da4275633a760ccb32951db7f8b6
-
Dan Albert authored
This is causing more harm than good. We'll just make these all link libc++ again (another revert) and work out the CTS issues if they still exist. Bug: 19778891 This reverts commit a5113a15. Change-Id: I35a4c93dae4abb66e3525451d5ce01e33a540895
-
Dan Albert authored
Address sanitizer requires using libc++ (apparently). We removed libc++ from these projects since they were C and the SDK/CTS was not able to find libc++. If we're interested in continuing to use ASAN on these tools (probably), we should turn libc++ back on once we're sure CTS won't die. Bug: 19778891 Change-Id: I3c1913171a15396ead73277ec1186fead730f66d
-
- Mar 16, 2015
-
-
dcashman authored
Addresses the following error when running CTS on master: junit.framework.AssertionFailedError: The following errors were encountered when validating the SELinuxneverallow rule: neverallow { appdomain -bluetooth } self:capability *; /tmp/SELinuxHostTest5593810182495331783.tmp: error while loading shared libraries: libc++.so: cannot open shared object file: No such file or directory Also indicate that none of the sepolicy tools need c++ std lib. Bug: 19617220 Change-Id: I713b3cbd1220655413d399c7cd2b0b50459a5485
-
- Mar 13, 2015
-
-
Stephen Smalley authored
Add an attribute command to sepolicy-analyze for displaying the list of types associated with an attribute in a policy. This is for use by CTS to check what domains and types are associated with certain attributes such as mlstrustedsubject and mlstrustedobject. Change-Id: Ie19361c02feb1ad14ce36862c6aace9e66c422bb Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Mar 12, 2015
-
-
Stephen Smalley authored
Instead of displaying the boolean count, display a list of booleans defined in the policy, if any. This makes sepolicy-analyze booleans consistent with sepolicy-analyze permissive and allows automated tests to simply check whether there was any output at all. Change-Id: I221b60d94e6e7f6d80399bf0833887af3747fe83 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Mar 11, 2015
-
-
Stephen Smalley authored
Implement the booleans test in sepolicy-analyze so that we can move the no-booleans check from the SELinuxTest to the SELinuxHostTest along with the other policy checks. Change-Id: I95d7ad34da10c354470f43734d34a6ec631a7b4e Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 24, 2015
-
-
Stephen Smalley authored
SELinux policy booleans are prohibited in AOSP, so we can drop the support for the sebool= input selector. Change-Id: I5ae31247b2f68d90f6ae4c8830458f22c4ffc854 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Stephen Smalley authored
Presently it ignores duplicate keys in seapp_contexts entries, e.g. if you were to specify: user=system seinfo=platform user=bluetooth domain=system_app type=system_app_data_file checkseapp would ignore the duplicate and libselinux would end up using the last value defined for the key in each line. Change-Id: I18cadb0c1bf5a907e6fc6513df65aafed91d76fe Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 13, 2015
-
-
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:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 06, 2015
-
-
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
-
- Feb 05, 2015
-
-
Stephen Smalley authored
See NEVERALLOW CHECKING in tools/README for documentation. Depends on change I45b3502ff96b1d093574e1fecff93a582f8d00bd for libsepol to support reporting all neverallow failures. Cherry-pick of commit: 59906bf8 with build-fix from commit: 74bbf703 added manually. Bug: 19191637 Change-Id: I1c18fa854b3c5f5e05d5dc42d9006c5fdacebdc3 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Dec 22, 2014
-
-
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
-
- Dec 01, 2014
-
-
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
-
- Nov 20, 2014
-
-
Narayan Kamath authored
Just remove unused variables instead of making them refer to the wrong statics. Change-Id: I314bfe91b7912f7d8c9cba7dd55a76d72c879a51
-
Narayan Kamath authored
Introduced by the merge conflict resolution for 3a1eb33b. Change-Id: Iddbc9e4d83c513d7003102f881793b5b7945566c
-
- Nov 19, 2014
-
-
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 from: https://android-review.googlesource.com/#/c/111626/ Change-Id: I751a99feffe820308ec58514fdba4cdef184d964
-
- Nov 13, 2014
-
-
Stephen Smalley authored
See NEVERALLOW CHECKING in tools/README for documentation. Depends on change I45b3502ff96b1d093574e1fecff93a582f8d00bd for libsepol to support reporting all neverallow failures. Change-Id: I47c16ccb910ac730c092cb3ab977c59cb8197ce0 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-