[apparmor] [PATCH 1/2] Add an option to allow setting the cache's location.
John Johansen
john.johansen at canonical.com
Fri Jan 6 17:34:08 UTC 2012
Currently the cache location is fixed and links are needed to move it.
Add an option that can be set in the apparmor_parser.conf file so distros
can locate the cache where ever makes sense for them.
Signed-off-by: John Johansen <john.johansen at canonical.com>
---
parser/parser_main.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/parser/parser_main.c b/parser/parser_main.c
index 721582d..1aef616 100644
--- a/parser/parser_main.c
+++ b/parser/parser_main.c
@@ -76,6 +76,7 @@ struct timespec mru_tstamp;
char *match_string = NULL;
char *flags_string = NULL;
+char *cacheloc = NULL;
/* per-profile settings */
int force_complain = 0;
@@ -106,6 +107,7 @@ struct option long_options[] = {
{"skip-read-cache", 0, 0, 'T'},
{"write-cache", 0, 0, 'W'},
{"show-cache", 0, 0, 'k'},
+ {"cache-loc", 1, 0, 'L'},
{"debug", 0, 0, 'd'},
{"dump", 1, 0, 'D'},
{"Dump", 1, 0, 'D'},
@@ -147,6 +149,7 @@ static void display_usage(char *command)
"-K, --skip-cache Do not attempt to load or save cached profiles\n"
"-T, --skip-read-cache Do not attempt to load cached profiles\n"
"-W, --write-cache Save cached profile (force with -T)\n"
+ "-L, --cache-loc n Set the location of the profile cache\n"
"-q, --quiet Don't emit warnings\n"
"-v, --verbose Show profile names as they load\n"
"-Q, --skip-kernel-load Do everything except loading into kernel\n"
@@ -522,6 +525,9 @@ static int process_arg(int c, char *optarg)
case 'T':
skip_read_cache = 1;
break;
+ case 'L':
+ cacheloc = strdup(optarg);
+ break;
case 'Q':
kernel_load = 0;
break;
@@ -928,7 +934,7 @@ int process_profile(int option, char *profilename)
*/
if ((profilename && option != OPTION_REMOVE) && !force_complain &&
!skip_cache) {
- if (asprintf(&cachename, "%s/%s/%s", basedir, "cache", basename)<0) {
+ if (asprintf(&cachename, "%s/%s/%s", cacheloc, "cache", basename)<0) {
perror("asprintf");
exit(1);
}
--
1.7.7.3
More information about the AppArmor
mailing list