Commit graph

160 commits

Author SHA1 Message Date
Steve Beattie
398ef08bf4 This patch adds support for including all the files within a directory
by naming the directory (e.g. #include </etc/apparmor.d/abstractions>).
It will skip over dotfiles and as well as subdirectories. It is intended
to make scripting and packaging easier, as the including profile will
not need to know explicitly all of the names to include.

Long term, rather than hardcode that dotfiles will be skipped, it should
be configurable via /etc/apparmor.d/subdomain what patterns of files
should be skipped; genprof/logprof should also honor this setting. The
code could be reused as I'd like to make the parser just take a directory
on the command line rather than being fed profiles one at a time; again
it would skip files based on these same patterns.

This patch also eliminates some dead code in the include processing, as
well as replaces a couple of undersized fixed-size buffer (PATH_MAX is
4095 on linux, buffer is not overflowable due to use of strncpy/snprintf)
with dynamically allocated ones.
2006-10-10 21:36:10 +00:00
Steve Beattie
84a0136a88 Add a new testcase for #include statements that are on the same line as
file rules.
2006-09-28 16:47:11 +00:00
John Johansen
c13b341fef add parser test files that I failed to add when the parser m and P patches where committed 2006-08-04 17:24:51 +00:00
John Johansen
3cb147e25c [https://bugzilla.novell.com/show_bug.cgi?id=172061]
This (updated) patch to trunk adds support for Px and Ux (toggle
bprm_secure on exec) in the parser, As requested, lowercase p and u
corresponds to an unfiltered environmnet on exec, uppercase will filter
the environment.  It applies after the 'm' patch.

As a side effect, I tried to reduce the use of hardcoded characters in
the debugging statements -- there are still a few warnings that have
hard coded letters in them; not sure I can fix them all.

This version issues a warning for every unsafe ux and issues a single
warning for the first 'R', 'W', 'X', 'L', and 'I' it encounters,
except when the "-q" or "--quiet" flag , "--remove" profile flag, or
"-N" report names flags are passed.  Unfortunately, it made the logic
somewhat more convoluted.  Wordsmithing improvements welcome.
2006-08-04 17:14:49 +00:00
Steve Beattie
8cdcb6f0ea Set properties on parser testfiles 2006-06-01 17:02:28 +00:00
Steve Beattie
08a4b5ce52 Set svn keyword properties on a couple of missed files. 2006-05-31 21:44:14 +00:00
Steve Beattie
dd2d41bae8 Make the build process significantly quieter with respect to the unit
and regression tests to avoid developer confusion.
2006-05-31 21:30:50 +00:00
Steve Beattie
84ff459a53 Default to using the parser in the parent directory, and build it if it
doesn't exist.
2006-05-02 17:19:50 +00:00
Steve Beattie
1b56f269dd This change does a few things:
- adds a distinct includes/ subdirectory, populated with a couple of
    files that test profiles can include. We purposefully choose to use
    a different directory structure than the shipped profile set so that
    changes to it will not break our tests.
  - modifies the existing test profiles to take advantage of the
    includes/ directory.
  - modifies tst/Makefile with pushd/popd to get around some pwd
    limitations in the parser (that need to be fixed).
2006-05-02 16:15:41 +00:00
Steve Beattie
bc9d0ee80b MOve the parser regression tests to the parser package itself. 2006-04-13 20:38:37 +00:00