[Freeipa-devel] [PATCH] 0210 frontend: fix output validation for multiple type choices

Martin Babinsky mbabinsk at redhat.com
Mon Jul 18 10:29:21 UTC 2016


On 07/18/2016 10:01 AM, Jan Cholasta wrote:
> Hi,
>
> On 16.7.2016 12:46, Alexander Bokovoy wrote:
>> Hi,
>>
>> I had some time and was blocked by these bugs to do my tickets so I
>> actually fixed these three problems that are assigned to Martin
>> Babinsky. Hopefully, Martin wouldn't be offended by that. :)
>>
>> ------
>>
>> Output entry elements may have multiple types allowed. We need to check
>> all of them to properly validate the output. Right now, thin client
>> receives type specifications for elements as tuples of types, so
>> what is seen as 'None' on the server side becomes (type(None),) tuple
>> on the thin client side.
>>
>> Change validation to account this by processing each separate type
>> of the element and account for both None and type(None). Raise type
>> error only if all of the type checks failed.
>>
>> https://fedorahosted.org/freeipa/ticket/6061
>
> NACK, this only hides the real issue, which is that trustconfig-show
> (and automember-set-default in #6037) claims to return the primary key
> of the object in the 'value' output field, but the object does not have
> a primary key, so the client rightfully expects None.
>
> A proper fix would be to set "has_output = output.simple_value" for
> these commands (all of automember_default_group_{set,remove,show},
> trustconfig_{mod,show}).
>
> Honza
>

The problem is that these commands do not return a simple boolean in 
'result' but a full entry dict, so 'simple_value' won't do the trick in 
this case.

But I agree, we should rather fix misbehaving commands rather than bend 
the framework to accomodate their idiosyncracies, we have enough of that 
already.

-- 
Martin^3 Babinsky




More information about the Freeipa-devel mailing list