[apparmor] [PATCH v2 05/42] split the policy cache handling fns into their own file
Seth Arnold
seth.arnold at canonical.com
Thu Mar 12 02:53:45 UTC 2015
On Fri, Mar 06, 2015 at 03:48:21PM -0600, Tyler Hicks wrote:
> From: John Johansen <john.johansen at canonical.com>
>
> Signed-off-by: John Johansen <john.johansen at canonical.com>
> [tyhicks: Don't move globals in favor of lifting those out later]
> Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
Most of this looks good, though policy_cache.o needs to also depend upon
lib.h in the Makefile:
Thanks
> --- a/parser/Makefile
> +++ b/parser/Makefile
> @@ -75,10 +75,10 @@ SRCS = parser_common.c parser_include.c parser_interface.c parser_lex.c \
> parser_yacc.c parser_regex.c parser_variable.c parser_policy.c \
> parser_alias.c common_optarg.c lib.c network.c \
> mount.cc dbus.cc profile.cc rule.cc signal.cc ptrace.cc \
> - af_rule.cc af_unix.cc features.c
> + af_rule.cc af_unix.cc features.c policy_cache.c
> HDRS = parser.h parser_include.h immunix.h mount.h dbus.h lib.h profile.h \
> rule.h common_optarg.h signal.h ptrace.h network.h af_rule.h af_unix.h \
> - features.h
> + features.h policy_cache.h
> TOOLS = apparmor_parser
>
> OBJECTS = $(patsubst %.cc, %.o, $(SRCS:.c=.o))
> @@ -115,7 +115,8 @@ TEST_OBJECTS = $(filter-out \
> parser_lex.o \
> parser_yacc.o \
> common_optarg.o \
> - parser_main.o, ${OBJECTS}) \
> + parser_main.o \
> + policy_cache.o, ${OBJECTS}) \
> $(AAREOBJECTS)
> TEST_LDFLAGS = $(AARE_LDFLAGS)
>
> @@ -187,7 +188,7 @@ apparmor_parser: $(OBJECTS) $(AAREOBJECTS) $(LIBAPPARMOR_A)
> parser_yacc.c parser_yacc.h: parser_yacc.y parser.h profile.h
> $(YACC) $(YFLAGS) -o parser_yacc.c parser_yacc.y
>
> -parser_lex.c: parser_lex.l parser_yacc.h parser.h profile.h mount.h dbus.h
> +parser_lex.c: parser_lex.l parser_yacc.h parser.h profile.h mount.h dbus.h policy_cache.h
> $(LEX) ${LEXFLAGS} -o$@ $<
>
> parser_lex.o: parser_lex.c parser.h parser_yacc.h
> @@ -199,7 +200,7 @@ parser_misc.o: parser_misc.c parser.h parser_yacc.h profile.h cap_names.h $(APPA
> parser_yacc.o: parser_yacc.c parser_yacc.h $(APPARMOR_H)
> $(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
>
> -parser_main.o: parser_main.c parser.h parser_version.h libapparmor_re/apparmor_re.h $(APPARMOR_H)
> +parser_main.o: parser_main.c parser.h parser_version.h policy_cache.h libapparmor_re/apparmor_re.h $(APPARMOR_H)
> $(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
>
> parser_interface.o: parser_interface.c parser.h profile.h libapparmor_re/apparmor_re.h
> @@ -238,6 +239,9 @@ common_optarg.o: common_optarg.c common_optarg.h parser.h libapparmor_re/apparmo
> features.o: features.c features.h parser.h libapparmor_re/apparmor_re.h
> $(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
>
> +policy_cache.o: policy_cache.c policy_cache.h parser.h
> + $(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
> +
> lib.o: lib.c lib.h parser.h
> $(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
>
> diff --git a/parser/policy_cache.c b/parser/policy_cache.c
> new file mode 100644
> index 0000000..f2909b9
> --- /dev/null
> +++ b/parser/policy_cache.c
> @@ -0,0 +1,151 @@
> +/*
> + * Copyright (c) 2014
> + * Canonical, Ltd. (All rights reserved)
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of version 2 of the GNU General Public
> + * License published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, contact Novell, Inc. or Canonical
> + * Ltd.
> + */
> +
> +#include <ctype.h>
> +#include <dirent.h>
> +#include <libintl.h>
> +#include <locale.h>
> +#include <stdio.h>
> +#include <string.h>
> +#include <stdlib.h>
> +#include <stdarg.h>
> +#include <sys/types.h>
> +#include <unistd.h>
> +#include <sys/stat.h>
> +#define _(s) gettext(s)
> +
> +#include "lib.h"
> +#include "parser.h"
> +#include "policy_cache.h"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20150311/eab87a18/attachment.pgp>
More information about the AppArmor
mailing list