[apparmor] [patch] Let the parser reject ambiguous unit 'm' for rlimit rttime
Steve Beattie
steve at nxnw.org
Fri Jul 10 18:50:12 UTC 2015
On Thu, Jul 09, 2015 at 04:22:52AM -0700, John Johansen wrote:
> move convert_time_units to parser_misc.c and add unit tests
> add "sec" abreviation of secons
> optionally allow whitespace between rlimit value and unit
> allow time the unit to be optional, but output a warning
> update man page to add a note about 'cpu' using units >= seconds
> fix "else" error by using else if (tmp < 0)
> fix "weekss"
>
> ---
>
> commit 5ee47621cc28b745d508b0c69046ce1b3776f8b4
> Author: John Johansen <john.johansen at canonical.com>
> Date: Thu Jun 18 02:22:42 2015 -0700
>
> fix: rlimit unit parsing for time
>
> currently the parser supports ambiguous units like m for time,
> which could mean minutes or milliseconds. Fix this and refactor the
> time parsing into a single routine.
>
> Signed-off-by: John Johansen <john.johansen at canonical.com>
Acked-by: Steve Beattie <steve at nxnw.org> with a couple of bits:
> + TIME_TEST(1LL, 1LL, NULL, 1LL);
> + TIME_TEST(12345LL, 1LL, NULL, 12345LL);
> + TIME_TEST(10LL, 10LL, NULL, 10LL);
> + TIME_TEST(123450LL, 10LL, NULL, 123450LL);
> +
> + TIME_TEST(12345LL, 1LL, "us", 12345LL);
Please fix the whitespace breakage above (spaces v tab) before
committing,
> + TIME_TEST(12345LL, 1LL, "microsecond", 12345LL);
> + TIME_TEST(12345LL, 1LL, "microseconds", 12345LL);
and I'd like an ack on the following:
Subject: parser: add rlimit data units equality tests
Signed-off-by: Steve Beattie <steve at nxnw.org>
---
parser/tst/equality.sh | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
Index: b/parser/tst/equality.sh
===================================================================
--- a/parser/tst/equality.sh
+++ b/parser/tst/equality.sh
@@ -464,6 +464,28 @@ verify_binary_equality "change_profile =
"/t { change_profile /**, }" \
"/t { change_profile /** -> **, }"
+# verify rlimit data conversions
+verify_binary_equality "set rlimit rttime <= 12 weeks" \
+ "/t { set rlimit rttime <= $((12 * 7)) days, }" \
+ "/t { set rlimit rttime <= $((12 * 7 * 24)) hours, }" \
+ "/t { set rlimit rttime <= $((12 * 7 * 24 * 60)) minutes, }" \
+ "/t { set rlimit rttime <= $((12 * 7 * 24 * 60 * 60)) seconds, }" \
+ "/t { set rlimit rttime <= $((12 * 7 * 24 * 60 * 60 * 1000)) ms, }" \
+ "/t { set rlimit rttime <= $((12 * 7 * 24 * 60 * 60 * 1000 * 1000)) us, }" \
+ "/t { set rlimit rttime <= $((12 * 7 * 24 * 60 * 60 * 1000 * 1000)), }"
+
+verify_binary_equality "set rlimit cpu <= 42 weeks" \
+ "/t { set rlimit cpu <= $((42 * 7)) days, }" \
+ "/t { set rlimit cpu <= $((42 * 7 * 24)) hours, }" \
+ "/t { set rlimit cpu <= $((42 * 7 * 24 * 60)) minutes, }" \
+ "/t { set rlimit cpu <= $((42 * 7 * 24 * 60 * 60)) seconds, }" \
+ "/t { set rlimit cpu <= $((42 * 7 * 24 * 60 * 60)), }"
+
+verify_binary_equality "set rlimit memlock <= 2GB" \
+ "/t { set rlimit memlock <= $((2 * 1024)) MB, }" \
+ "/t { set rlimit memlock <= $((2 * 1024 * 1024)) KB, }" \
+ "/t { set rlimit memlock <= $((2 * 1024 * 1024 * 1024)) , }" \
+
if [ $fails -ne 0 -o $errors -ne 0 ]
then
printf "ERRORS: %d\nFAILS: %d\n" $errors $fails 2>&1
--
Steve Beattie
<sbeattie at ubuntu.com>
http://NxNW.org/~steve/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20150710/b8c8616e/attachment.pgp>
More information about the AppArmor
mailing list