~ubuntu-branches/ubuntu/trusty/apparmor/trusty-security

« back to all changes in this revision

Viewing changes to libraries/libapparmor/src/kernel_interface.c

  • Committer: Package Import Robot
  • Author(s): Seth Arnold, Jamie Strandboge, Seth Arnold, Jamie Strandboge, Steve Beattie, John Johansen, Tyler Hicks
  • Date: 2014-03-19 20:29:27 UTC
  • mfrom: (1.1.26)
  • Revision ID: package-import@ubuntu.com-20140319202927-ul597pahqsvsl2ea
Tags: 2.8.95~2430-0ubuntu1
[ Jamie Strandboge ]

 * debian/debhelper/dh_apparmor: exit with error if aa-easyprof does not
   exist
 * debian/control: drop Depends on apparmor-easyprof to Suggests for
   dh-apparmor

[ Seth Arnold, Jamie Strandboge, Steve Beattie, John Johansen, Tyler Hicks ]

* New upstream snapshot (LP: #1278702, #1061693, #1285653) dropping very
  large Ubuntu delta and fixing the following bugs:
  - Adjust fonts abstraction for libthai (LP: #1278702)
  - Support translated XDG user directories (LP: #1061693)
  - Adjust abstractions/web-data to include /var/www/html (LP: #1285653)
    Refresh 0002-add-debian-integration-to-lighttpd.patch to include
    /etc/lighttpd/conf-available/*.conf
  - Adjust debian/libapparmor1.symbols to reflect new upstream versioning
    for the aa_query_label() function
  - Raise exceptions in Python bindings when something fails
* ship new Python replacements for previous Perl-based tools
  - debian/apparmor-utils.install: remove usr/share/perl5/Immunix/*.pm and
    add usr/sbin/aa-autodep, usr/sbin/aa-cleanprof and usr/sbin/aa-mergeprof
  - debian/control:
    + remove various Perl dependencies
    + add python-apparmor and python3-apparmor
    + python3-apparmor Breaks: apparmor-easyprof to move the file since it
      ships dist-packages/apparmor/__init__.py now
  - debian/apparmor-utils.manpages: ship new manpages for aa-cleanprof and
    aa-mergeprof
  - debian/rules: build and install Python tools
* debian/apparmor.install:
  - install apparmorfs, dovecot, kernelvars, securityfs, sys,
    and xdg-user-dirs tunables and xdg-user-dirs.d directory
* debian/apparmor.dirs:
  - install /etc/apparmor.d/tunables/xdg-user-dirs.d
* debian/rules: delete upstream-provided xdg-user-dirs.d/site.local
* debian/apparmor.postinst: create xdg-user-dirs.d/site.local
* debian/apparmor.postrm: remove xdg-user-dirs.d
* Remaining patches:
  - add-chromium-browser.patch
  - add-debian-integration-to-lighttpd.patch
  - ubuntu-manpage-updates.patch
  - libapparmor-layout-deb.patch
  - libapparmor-mention-dbus-method-in-getcon-man.patch
  - etc-writable.patch
  - aa-utils_are_bilingual.patch
* New patches:
  - convert-to-rules.patch
  - list-fns.patch
  - parse-mode.patch
  - add-decimal-interp.patch
  - policy_mediates.patch
  - fix-failpath.patch
  - feature_file.patch
  - fix-network.patch
  - aare-to-class.patch
  - add-mediation-unix.patch
  - parser_version.patch
  - caching.patch
  - label-class.patch
  - fix-lexer-debug.patch
  - use-diff-encode.patch
  - fix-serialize.patch
  - fix-ppc-endian-ftbfs.patch
  - opt_arg.patch
  - tests-cond-dbus.patch
* Move manpages from libapparmor1 to libapparmor-dev
  - debian/libapparmor-dev.manpages: install aa_change_hat.2,
    aa_change_profile.2, aa_find_mountpoint.2, aa_getcon.2
  - debian/control: libapparmor-dev Replaces: and Breaks: libapparmor1
* Move /usr/lib/python3/dist-packages/apparmor/__init__.py from
  apparmor-easyprof to python3-apparmor
  - debian/control: python3-apparmor Breaks: apparmor-easyprof
  - debian/apparmor-easyprof.install: remove
    usr/lib/python*.*/site-packages/apparmor*
* New profiles and abstractions:
  - debian/apparmor.install: tunables/dovecot, tunables/kernelvars,
    tunables/xdg-user-dirs, tunables/xdg-user-dirs.d

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
#include <inttypes.h>
32
32
#include <pthread.h>
33
33
 
34
 
#include "apparmor.h"
 
34
#include <sys/apparmor.h>
35
35
 
36
36
/* some non-Linux systems do not define a static value */
37
37
#ifndef PATH_MAX
355
355
        int rc = -1;
356
356
        int len = 0;
357
357
        char *buf = NULL;
358
 
        const char *fmt = "changehat %016x^%s";
 
358
        const char *fmt = "changehat %016lx^%s";
359
359
 
360
360
        /* both may not be null */
361
361
        if (!(token || subprofile)) {
702
702
 *          ENOENT, the subject label in the query string is unknown to the
703
703
 *          kernel.
704
704
 */
705
 
int aa_query_label(uint32_t mask, char *query, size_t size, int *allowed,
706
 
                   int *audited)
 
705
int query_label(uint32_t mask, char *query, size_t size, int *allowed,
 
706
                int *audited)
707
707
{
708
708
        char buf[QUERY_LABEL_REPLY_LEN];
709
709
        uint32_t allow, deny, audit, quiet;
770
770
 
771
771
        return 0;
772
772
}
 
773
 
 
774
/* export multiple aa_query_label symbols to compensate for downstream
 
775
 * releases with differing symbol versions. */
 
776
extern typeof((query_label)) __aa_query_label __attribute__((alias ("query_label")));
 
777
symbol_version(__aa_query_label, aa_query_label, APPARMOR_1.1);
 
778
default_symbol_version(query_label, aa_query_label, APPARMOR_2.9);