aboutsummaryrefslogtreecommitdiff
path: root/perl/t/data/acl-command
diff options
context:
space:
mode:
authorRuss Allbery <rra@dropbox.com>2016-02-03 12:44:33 -0800
committerRuss Allbery <rra@dropbox.com>2016-02-03 12:44:33 -0800
commit2a53df4444cb8a931e82c584288025e315f40121 (patch)
tree7c8b9bfa69cf613a22ba6be616a0d3fdb4146e4e /perl/t/data/acl-command
parent294d46a917b6aa3af305c3d50b8d83a1f3fb5694 (diff)
parente64d4e31146b87046916c377557f8ea789da3f0a (diff)
Merge branch 'debian/master' into ubuntu/precise
Diffstat (limited to 'perl/t/data/acl-command')
-rwxr-xr-xperl/t/data/acl-command47
1 files changed, 47 insertions, 0 deletions
diff --git a/perl/t/data/acl-command b/perl/t/data/acl-command
new file mode 100755
index 0000000..b7c3066
--- /dev/null
+++ b/perl/t/data/acl-command
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# An external ACL implementation. Checks that the first argument is
+# eagle@eyrie.org, the second argument is "test", and then returns success,
+# failure, or reports an error based on whether the second argument is
+# success, failure, or error.
+#
+# Written by Russ Allbery <eagle@eyrie.org>
+# Copyright 2016 Russ Allbery <eagle@eyrie.org>
+#
+# See LICENSE for licensing terms.
+
+set -e
+
+# Check the initial principal argument.
+if [ "$1" != 'eagle@eyrie.org' ]; then
+ echo 'incorrect principal' >&2
+ exit 1
+fi
+
+# Check that the second and third arguments are file test (the test object).
+if [ "$2" != 'file' ]; then
+ echo 'incorrect second argument' >&2
+ exit 1
+fi
+if [ "$3" != 'test' ]; then
+ echo 'incorrect third argument' >&2
+ exit 1
+fi
+
+# Process the fourth argument.
+case $4 in
+ 'test success')
+ exit 0
+ ;;
+ 'test failure')
+ exit 1
+ ;;
+ 'test error')
+ echo 'some error' >&2
+ exit 1
+ ;;
+ *)
+ echo 'unknown fourth argument' >&2
+ exit 1
+ ;;
+esac