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

Alexander Bokovoy abokovoy at redhat.com
Mon Jul 18 08:12:32 UTC 2016


On Mon, 18 Jul 2016, 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.
Why did it work before introducing thin client?

Aside from that, comparing "(type(None),) is None" will never give you
True on the thin client side. At the server side we have "None is None"
and that works. So the question is also why there is a change like that
between client and server sides?

>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
>
>-- 
>Jan Cholasta

-- 
/ Alexander Bokovoy




More information about the Freeipa-devel mailing list