qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 08/11] authz: add QAuthZList object type for an a


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PULL 08/11] authz: add QAuthZList object type for an access control list
Date: Tue, 26 Feb 2019 07:04:51 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Eric Blake <address@hidden> writes:

> I missed reviewing this before the pull request, so comments here are
> best for a followup patch:

I procrastinated, same result.  My apologies.

Followup or quick respin is up to you.  I'd respin as long as the
changes are trivial.

> On 2/25/19 6:31 AM, Daniel P. Berrangé wrote:
>> From: "Daniel P. Berrange" <address@hidden>
>> 
>> Add a QAuthZList object type that implements the QAuthZ interface. This
>> built-in implementation maintains a trivial access control list with a
>> sequence of match rules and a final default policy. This replicates the
>> functionality currently provided by the qemu_acl module.
>> 
>
>> Reviewed-by: Marc-André Lureau <address@hidden>
>> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
>> Tested-by: Philippe Mathieu-Daudé <address@hidden>
>> Signed-off-by: Daniel P. Berrange <address@hidden>
>> ---
>
>> +++ b/qapi/Makefile.objs
>> @@ -7,7 +7,7 @@ util-obj-y += qapi-util.o
>>  
>>  QAPI_COMMON_MODULES = block-core block char common crypto introspect
>>  QAPI_COMMON_MODULES += job migration misc net rdma rocker run-state
>> -QAPI_COMMON_MODULES += sockets tpm trace transaction ui
>> +QAPI_COMMON_MODULES += sockets tpm trace transaction ui authz
>
> Let's keep this list alphabetically sorted (authz before block-core).

Yes, please.

>> +++ b/qapi/authz.json
>> @@ -0,0 +1,58 @@
>> +# -*- Mode: Python -*-
>> +#
>> +# QAPI authz definitions
>> +
>> +##
>> +# @QAuthZListPolicy:
>> +#
>> +# The authorization policy result
>> +#
>> +# @deny: deny access
>> +# @allow: allow access
>> +#
>> +# Since: 4.0
>> +##
>> +{ 'enum': 'QAuthZListPolicy',
>> +  'prefix': 'QAUTHZ_LIST_POLICY',
>> +  'data': ['deny', 'allow']}
>> +
>> +##
>> +# @QAuthZListFormat:
>> +#
>> +# The authorization policy result

Pasto?

>> +#
>> +# @exact: an exact string match
>> +# @glob: string with ? and * shell wildcard support
>
> Does it actually use glob() (in which case it also has [] glob support?)
>
>> +#
>> +# Since: 4.0
>> +##
>> +{ 'enum': 'QAuthZListFormat',
>> +  'prefix': 'QAUTHZ_LIST_FORMAT',
>> +  'data': ['exact', 'glob']}
>> +
>> +##
>> +# @QAuthZListRule:
>> +#
>> +# A single authorization rule.
>> +#
>> +# @match: a glob to match against a user identity
>
> Should this read 'a string or glob to match...' since...
>
>> +# @policy: the result to return if @match evaluates to true
>> +# @format: (optional) the format of the @match rule (default 'exact')
>
> ...format controls which of the two styles it is interpreted as?  The
> use of '(optional)' is not required in the current QAPI doc generator,
> and in fact results in redundant output.

Please drop (optional).

>
>> +#
>> +# Since: 4.0
>> +##
>> +{ 'struct': 'QAuthZListRule',
>> +  'data': {'match': 'str',
>> +           'policy': 'QAuthZListPolicy',
>> +           '*format': 'QAuthZListFormat'}}
>> +
>> +##
>> +# @QAuthZListRuleListHack:
>> +#
>> +# Not exposed via QMP; hack to generate QAuthZListRuleList
>> +# for use internally by the code.
>> +#
>> +# Since: 4.0
>> +##
>> +{ 'struct': 'QAuthZListRuleListHack',
>> +  'data': { 'unused': ['QAuthZListRule'] } }
>
> We keep on encountering these hacks; someday it would be nice to teach
> the QAPI generator a nicer way to do this. But not your problem.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]