[libvirt] [PATCH] PolicyKit: Check auth before asking client to obtain it

Jim Fehlig jfehlig at suse.com
Mon Jan 9 18:24:55 UTC 2012


Daniel P. Berrange wrote:
> On Thu, Jan 05, 2012 at 01:12:37PM -0700, Eric Blake wrote:
>   
>> On 01/03/2012 03:35 PM, Jim Fehlig wrote:
>>     
>>> I previously mentioned [1] a PolicyKit issue where libvirt would
>>> proceed with authentication even though polkit-auth failed:
>>>
>>> testusr xen134:~> virsh list --all
>>> Attempting to obtain authorization for org.libvirt.unix.manage.
>>> polkit-grant-helper: given auth type (8 -> yes) is bogus
>>> Failed to obtain authorization for org.libvirt.unix.manage.
>>>  Id Name                 State
>>> ----------------------------------
>>>   0 Domain-0             running
>>>   - sles11sp1-pv         shut off
>>>
>>> AFAICT, libvirt attempts to obtain a privilege it already has,
>>> causing polkit-auth to fail with above message.  Instead of calling
>>> obtain and then checking auth, IMO the workflow should be for the
>>> server to check auth first, and if that fails ask the client to
>>> obtain it and check again.  This workflow also allows for checking
>>> only successful exit of polkit-auth in virConnectAuthGainPolkit().
>>>
>>> [1] https://www.redhat.com/archives/libvir-list/2011-December/msg00837.html
>>> ---
>>>  src/libvirt.c              |    2 +-
>>>  src/remote/remote_driver.c |   11 +++++++++++
>>>  2 files changed, 12 insertions(+), 1 deletions(-)
>>>       
>> This looks reasonable to me, but I'd like a second opinion from someone
>> more familiar with the PolicyKit code before you push anything (that
>> would probably be DV or danpb).  If they agree, then I think it can go
>> in 0.9.9.
>>     
>
> ACK
>   

I've pushed this now that 0.9.9 has been released.

Thanks,
Jim




More information about the libvir-list mailing list