Skip to content
Snippets Groups Projects
Commit b9e8c456 authored by Andre Moreira Magalhaes's avatar Andre Moreira Magalhaes
Browse files

Remove tests for LibreOffice AppArmor profile


Signed-off-by: default avatarAndre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
Reviewed-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
Differential Revision: https://phabricator.apertis.org/D6713
parent cda7de78
No related branches found
No related tags found
No related merge requests found
Showing
with 0 additions and 1454 deletions
...@@ -8,7 +8,6 @@ SUBDIRS = \ ...@@ -8,7 +8,6 @@ SUBDIRS = \
apparmor/folks \ apparmor/folks \
apparmor/geoclue \ apparmor/geoclue \
apparmor/gstreamer1.0 \ apparmor/gstreamer1.0 \
apparmor/libreoffice \
apparmor/tracker \ apparmor/tracker \
apparmor/tumbler \ apparmor/tumbler \
apparmor/ofono \ apparmor/ofono \
...@@ -65,7 +64,6 @@ COPY = \ ...@@ -65,7 +64,6 @@ COPY = \
folks \ folks \
grilo \ grilo \
inherit-config.sh \ inherit-config.sh \
libreoffice \
misc \ misc \
predeployed-misc \ predeployed-misc \
resources \ resources \
......
metadata:
name: apparmor-libreoffice
format: "Lava-Test-Shell Test Definition 1.0"
description: "Tests that the libreoffice profile works properly does not allow arbitrary
reading of files in the home directory."
maintainer: "luis.araujo@collabora.co.uk"
scope:
- functional
devices:
- i386
environment:
- lava-test-shell
install:
deps:
- busybox
- apertis-tests-apparmor-libreoffice
- apertis-tests-apparmor-report
run:
steps:
- echo -n | sudo tee /var/log/audit/audit.log
- common/run-test-in-systemd --name run-test-libreoffice --timeout 300 apparmor/libreoffice/test-libreoffice
- sudo cat /var/log/audit/audit.log | aa_log_extract_tokens.pl PERMITTING REJECTING
parse:
pattern: ^(?P<test_case_id>[\w\-\.]+):\s(?P<result>PASS|pass|FAIL|fail|SKIP|skip|UNKNOWN|unknown)$
LIBDIR := /usr/lib/apertis-tests/apparmor/libreoffice
LIB_NAMES := libreoffice-malicious-override.so
DATA := libreoffice.malicious.expected libreoffice.normal.expected
SCRIPTS := test-libreoffice libreoffice
include ../common/Makefile
#!/bin/bash
# vim: set sts=4 sw=4 et tw=0 :
if [[ ${#@} -eq 1 ]] && [[ $1 =~ (normal|malicious) ]]; then
:
else
echo "Usage: $0 <normal|malicious>"
exit 1
fi
export APERTIS_TESTS_NAME_PREFIX="${1}_"
export DEBUG=2
TESTS_DIR="$(cd "$(dirname "$0")" && pwd)"
pkglibdir="$(cd "$(dirname "$0")"/../.. && pwd)"
if [ -e "$TESTS_DIR/libreoffice-malicious-override.so" ]; then
preload="$TESTS_DIR/libreoffice-malicious-override.so"
else
preload="/usr/lib/apertis-tests/apparmor/libreoffice/libreoffice-malicious-override.so"
fi
if [[ $1 == "malicious" ]]; then
LD_PRELOAD="$preload" \
"$pkglibdir/libreoffice/automated/run-test.sh"
else
"$pkglibdir/libreoffice/automated/run-test.sh"
fi
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
## alternative ##
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
## alternative ##
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
====
profile:/usr/lib/libreoffice/program/soffice.bin
sdmode:REJECTING
denied_mask:r
operation:open
name:/home/user/.bash_history
request_mask:r
/* vim: set sts=4 sw=4 et :
*
* A small library that can be loaded using LD_PRELOAD to do malicious things
* to test whether apparmor works
*/
/* Easier for the build system */
#include "../common/function-malicious-override.c"
void
soffice_main (void)
{
void (*orig_f)(void) = dlsym (RTLD_NEXT, "soffice_main");
do_malicious_stuff ();
orig_f ();
}
../run-aa-test
\ No newline at end of file
#!/bin/bash
# vim: tw=0
TEST_DIR="$(cd "$(dirname "$0")" && pwd)"
# We don't need a DBUS session
export LAUNCH_DBUS="no"
"${TEST_DIR}"/run-aa-test "${TEST_DIR}"/libreoffice.normal.expected "${TEST_DIR}"/libreoffice normal
"${TEST_DIR}"/run-aa-test "${TEST_DIR}"/libreoffice.malicious.expected "${TEST_DIR}"/libreoffice malicious
usr/lib/apertis-tests/apparmor/libreoffice
...@@ -15,7 +15,6 @@ usr/lib/apertis-tests/grilo ...@@ -15,7 +15,6 @@ usr/lib/apertis-tests/grilo
usr/lib/apertis-tests/firewall usr/lib/apertis-tests/firewall
usr/lib/apertis-tests/folks usr/lib/apertis-tests/folks
usr/lib/apertis-tests/inherit-config.sh usr/lib/apertis-tests/inherit-config.sh
usr/lib/apertis-tests/libreoffice
usr/lib/apertis-tests/misc usr/lib/apertis-tests/misc
usr/lib/apertis-tests/networking/proxy-manual/Makefile usr/lib/apertis-tests/networking/proxy-manual/Makefile
usr/lib/apertis-tests/networking/proxy-manual/README usr/lib/apertis-tests/networking/proxy-manual/README
......
usr/lib/apertis-tests/cgroups usr/lib/chaiwala-tests/cgroups usr/lib/apertis-tests/cgroups usr/lib/chaiwala-tests/cgroups
usr/lib/apertis-tests/dbus/dos-match-rules usr/share/chaiwala-tests/dbus-dos-match-rules/manual usr/lib/apertis-tests/dbus/dos-match-rules usr/share/chaiwala-tests/dbus-dos-match-rules/manual
usr/lib/apertis-tests/dbus/dos-reply-time usr/share/chaiwala-tests/dbus-dos-reply-time/manual usr/lib/apertis-tests/dbus/dos-reply-time usr/share/chaiwala-tests/dbus-dos-reply-time/manual
usr/lib/apertis-tests/libreoffice usr/share/chaiwala-tests/libreoffice
...@@ -221,26 +221,6 @@ Description: Functional tests for Bluez AppArmor profiles ...@@ -221,26 +221,6 @@ Description: Functional tests for Bluez AppArmor profiles
Simple tests to ensure the Bluez profiles are providing the Simple tests to ensure the Bluez profiles are providing the
required functionality and protection. required functionality and protection.
Package: apertis-tests-apparmor-libreoffice
Architecture: any
Depends:
${misc:Depends},
${perl:Depends},
${python3:Depends},
${python:Depends},
${shlibs:Depends},
apertis-tests,
apertis-tests-apparmor-report,
apparmor (>= 2.8.0-0ubuntu5co7),
apparmor-profiles,
chaiwala-apparmor-profiles,
libreoffice-calc,
libreoffice-impress,
libreoffice-writer,
python3-uno,
Description: Functional tests for LibreOffice AppArmor profiles
This package tests Apertis AppArmor profiles for LibreOffice.
Package: apertis-tests-apparmor-geoclue Package: apertis-tests-apparmor-geoclue
Architecture: any Architecture: any
Depends: Depends:
......
...@@ -19,7 +19,6 @@ License: GPL-2 ...@@ -19,7 +19,6 @@ License: GPL-2
Files: Files:
bluez/* bluez/*
libreoffice/automated/unoconv.py
Copyright: Copyright:
© 2002-2003 Maxim Krasnyansky © 2002-2003 Maxim Krasnyansky
© 2002-2010 Marcel Holtmann © 2002-2010 Marcel Holtmann
......
# vim: set ts=8 tw=80 :
progs := unoconv.py
include ../../global-config.mk
LIBS :=
all:
get-deps:
$(APT_GET) install libreoffice-writer libreoffice-calc libreoffice-impress python-uno
install: .INSTALL
clean:
. "${TESTDIR}/inherit-config.sh"
../../inherit-config.sh
\ No newline at end of file
#!/bin/bash
# vim: set sts=4 sw=4 et tw=0 :
set -e
TESTDIR=$(cd $(dirname $0); pwd; cd - &>/dev/null)
. "${TESTDIR}/config.sh"
#########
# Setup #
#########
trap "setup_failure" ERR
# It wasn't packaged, so we ship our own.
UNOCONV="${TESTLIBDIR}/unoconv.py"
check_not_root
# Chosen to be something that the AppArmor profile for LibreOffice
# should normally allow
mkdir -p ~/Documents
docsdir="$(mktemp -d ~/Documents/apertis-tests-libreoffice.XXXXXX)"
cp -a "${MEDIA_RESOURCE_DIR}/documents/"*.od[pst] "${docsdir}/"
setup_success
###########
# Execute #
###########
_to_pdf() {
if [[ $# -ne 2 ]]; then
cry "_to_pdf() requires 2 arguments, but $# arguments were passed!"
return 1
fi
"${UNOCONV}" -f pdf --stdout "$1" > "$2" || return 1
[[ -s "$2" ]] || return 1
return 0
}
ods_to_pdf() {
_to_pdf "${docsdir}/"*.ods "${docsdir}/test-$RANDOM.pdf"
}
odp_to_pdf() {
_to_pdf "${docsdir}/"*.odp "${docsdir}/test-$RANDOM.pdf"
}
odt_to_pdf() {
_to_pdf "${docsdir}/"*.odt "${docsdir}/test-$RANDOM.pdf"
}
trap "test_failure" ERR
src_test_pass <<-EOF
ods_to_pdf
odp_to_pdf
odt_to_pdf
EOF
rm -fr "${docsdir}"
test_success
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment