mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 08:24:42 +01:00
libapparmor: Move the aa_kernel_interface API
Signed-off-by: Tyler Hicks <tyhicks@canonical.com> Acked-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
parent
4b829aa53e
commit
7630b8aeb8
10 changed files with 43 additions and 64 deletions
|
@ -116,6 +116,29 @@ int aa_features_write_to_file(aa_features *features, const char *path);
|
|||
bool aa_features_is_equal(aa_features *features1, aa_features *features2);
|
||||
bool aa_features_supports(aa_features *features, const char *str);
|
||||
|
||||
typedef struct aa_kernel_interface aa_kernel_interface;
|
||||
int aa_kernel_interface_new(aa_kernel_interface **kernel_interface,
|
||||
aa_features *kernel_features,
|
||||
const char *apparmorfs);
|
||||
aa_kernel_interface *aa_kernel_interface_ref(aa_kernel_interface *kernel_interface);
|
||||
void aa_kernel_interface_unref(aa_kernel_interface *kernel_interface);
|
||||
|
||||
int aa_kernel_interface_load_policy(aa_kernel_interface *kernel_interface,
|
||||
const char *buffer, size_t size);
|
||||
int aa_kernel_interface_load_policy_from_file(aa_kernel_interface *kernel_interface,
|
||||
const char *path);
|
||||
int aa_kernel_interface_load_policy_from_fd(aa_kernel_interface *kernel_interface,
|
||||
int fd);
|
||||
int aa_kernel_interface_replace_policy(aa_kernel_interface *kernel_interface,
|
||||
const char *buffer, size_t size);
|
||||
int aa_kernel_interface_replace_policy_from_file(aa_kernel_interface *kernel_interface,
|
||||
const char *path);
|
||||
int aa_kernel_interface_replace_policy_from_fd(aa_kernel_interface *kernel_interface,
|
||||
int fd);
|
||||
int aa_kernel_interface_remove_policy(aa_kernel_interface *kernel_interface,
|
||||
const char *fqname);
|
||||
int aa_kernel_interface_write_policy(int fd, const char *buffer, size_t size);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* sys/apparmor.h */
|
||||
|
|
|
@ -48,7 +48,7 @@ af_protos.h: /usr/include/netinet/in.h
|
|||
lib_LTLIBRARIES = libapparmor.la
|
||||
noinst_HEADERS = grammar.h parser.h scanner.h af_protos.h private.h
|
||||
|
||||
libapparmor_la_SOURCES = grammar.y libaalogparse.c kernel.c scanner.c private.c features.c
|
||||
libapparmor_la_SOURCES = grammar.y libaalogparse.c kernel.c scanner.c private.c features.c kernel_interface.c
|
||||
libapparmor_la_LDFLAGS = -version-info $(AA_LIB_CURRENT):$(AA_LIB_REVISION):$(AA_LIB_AGE) -XCClinker -dynamic -pthread \
|
||||
-Wl,--version-script=$(top_srcdir)/src/libapparmor.map
|
||||
|
||||
|
|
|
@ -23,12 +23,10 @@
|
|||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/apparmor.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/apparmor.h>
|
||||
|
||||
#include "kernel_interface.h"
|
||||
#include "lib.h"
|
||||
#include "parser.h"
|
||||
#include "private.h"
|
||||
|
||||
#define DEFAULT_APPARMORFS "/sys/kernel/security/apparmor"
|
||||
|
|
@ -62,6 +62,17 @@ APPARMOR_2.10 {
|
|||
aa_features_write_to_file;
|
||||
aa_features_is_equal;
|
||||
aa_features_supports;
|
||||
aa_kernel_interface_new;
|
||||
aa_kernel_interface_ref;
|
||||
aa_kernel_interface_unref;
|
||||
aa_kernel_interface_load_policy;
|
||||
aa_kernel_interface_load_policy_from_file;
|
||||
aa_kernel_interface_load_policy_from_fd;
|
||||
aa_kernel_interface_replace_policy;
|
||||
aa_kernel_interface_replace_policy_from_file;
|
||||
aa_kernel_interface_replace_policy_from_fd;
|
||||
aa_kernel_interface_remove_policy;
|
||||
aa_kernel_interface_write_policy;
|
||||
local:
|
||||
*;
|
||||
} APPARMOR_2.9;
|
||||
|
|
|
@ -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 policy_cache.c kernel_interface.c
|
||||
af_rule.cc af_unix.cc 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 \
|
||||
policy_cache.h kernel_interface.h
|
||||
policy_cache.h
|
||||
TOOLS = apparmor_parser
|
||||
|
||||
OBJECTS = $(patsubst %.cc, %.o, $(SRCS:.c=.o))
|
||||
|
@ -240,9 +240,6 @@ common_optarg.o: common_optarg.c common_optarg.h parser.h libapparmor_re/apparmo
|
|||
policy_cache.o: policy_cache.c policy_cache.h parser.h lib.h
|
||||
$(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
|
||||
|
||||
kernel_interface.o: kernel_interface.c kernel_interface.h
|
||||
$(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
|
||||
|
||||
lib.o: lib.c lib.h parser.h
|
||||
$(CXX) $(EXTRA_CFLAGS) -c -o $@ $<
|
||||
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef __AA_KERNEL_INTERFACE_H
|
||||
#define __AA_KERNEL_INTERFACE_H
|
||||
|
||||
#include <sys/apparmor.h>
|
||||
|
||||
#include "features.h"
|
||||
|
||||
typedef struct aa_kernel_interface aa_kernel_interface;
|
||||
|
||||
int aa_kernel_interface_new(aa_kernel_interface **kernel_interface,
|
||||
aa_features *kernel_features,
|
||||
const char *apparmorfs);
|
||||
aa_kernel_interface *aa_kernel_interface_ref(aa_kernel_interface *kernel_interface);
|
||||
void aa_kernel_interface_unref(aa_kernel_interface *kernel_interface);
|
||||
|
||||
int aa_kernel_interface_load_policy(aa_kernel_interface *kernel_interface,
|
||||
const char *buffer, size_t size);
|
||||
int aa_kernel_interface_load_policy_from_file(aa_kernel_interface *kernel_interface,
|
||||
const char *path);
|
||||
int aa_kernel_interface_load_policy_from_fd(aa_kernel_interface *kernel_interface,
|
||||
int fd);
|
||||
int aa_kernel_interface_replace_policy(aa_kernel_interface *kernel_interface,
|
||||
const char *buffer, size_t size);
|
||||
int aa_kernel_interface_replace_policy_from_file(aa_kernel_interface *kernel_interface,
|
||||
const char *path);
|
||||
int aa_kernel_interface_replace_policy_from_fd(aa_kernel_interface *kernel_interface,
|
||||
int fd);
|
||||
int aa_kernel_interface_remove_policy(aa_kernel_interface *kernel_interface,
|
||||
const char *fqname);
|
||||
int aa_kernel_interface_write_policy(int fd, const char *buffer, size_t size);
|
||||
|
||||
#endif /* __AA_KERNEL_INTERFACE_H */
|
|
@ -30,10 +30,11 @@
|
|||
#include <libintl.h>
|
||||
#define _(s) gettext(s)
|
||||
|
||||
#include <sys/apparmor.h>
|
||||
|
||||
#include "immunix.h"
|
||||
#include "libapparmor_re/apparmor_re.h"
|
||||
#include "libapparmor_re/aare_rules.h"
|
||||
#include "kernel_interface.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
|
|
|
@ -27,9 +27,9 @@
|
|||
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <sys/apparmor.h>
|
||||
|
||||
#include "lib.h"
|
||||
#include "kernel_interface.h"
|
||||
#include "parser.h"
|
||||
#include "profile.h"
|
||||
#include "libapparmor_re/apparmor_re.h"
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
|
||||
#include "lib.h"
|
||||
#include "features.h"
|
||||
#include "kernel_interface.h"
|
||||
#include "parser.h"
|
||||
#include "parser_version.h"
|
||||
#include "parser_include.h"
|
||||
|
|
|
@ -27,11 +27,11 @@
|
|||
#include <search.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <sys/apparmor.h>
|
||||
|
||||
#include "parser.h"
|
||||
#include "profile.h"
|
||||
#include "parser_yacc.h"
|
||||
#include "kernel_interface.h"
|
||||
|
||||
/* #define DEBUG */
|
||||
#ifdef DEBUG
|
||||
|
|
Loading…
Add table
Reference in a new issue