Hello,
Yu Zhiguo píše v Pá 18. 07. 2008 v 14:54 +0800:
> I know "list" and "action" can be changed, this is convenient.
No, it is undocumented.  As an author of system-config-audit I'd much
prefer if audit rejected such options, replicating the exact code in
auditctl in order to handle all undocumented behavior the same way as
auditctl is rather impractical.

> diff --git a/src/auditctl.c b/src/auditctl.c
> index 2c136ea..1aba437 100644
> --- a/src/auditctl.c
> +++ b/src/auditctl.c
> @@ -168,27 +168,34 @@ static void usage(void)
>   /* Returns 0 ok, 1 deprecated action, 2 error */
>   static int audit_rule_setup(const char *opt, int *flags, int *act)
>   {
> +     char *p;
> +     if ((strchr(opt, ',') != strrchr(opt, ',')) || !strchr(opt, ','))
> +             return 2;
> +
> +     p = strchr(opt, ',');
I think
        p = strchr(opt, ',');
        if (p == NULL || strchr(p + 1, ',') != NULL)
                return 2;
would be simpler.

> -     if (strstr(opt, "task"))
> +     if (!strncmp(opt, "task,", p - opt + 1) || !strcmp(p, ",task"))
>               *flags = AUDIT_FILTER_TASK;
Each string should be recognized only in the documented position IMHO.
The patch also replaces case-sensitive matching by case-insensitive,
which is not described above.

If such changes in the semantics of the parameter are accepted, at
minimum the auditctl.8 man page should be updated as well.
        Mirek

--
Linux-audit mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-audit

Reply via email to