On 07/20/2011 07:32 AM, Daniel P. Berrange wrote:
On Tue, Jul 19, 2011 at 04:07:17PM -0400, Cole Robinson wrote:
> This commit broke launching SSH askpass from virt-manager:
>
>
http://libvirt.org/git/?p=libvirt.git;a=commit;h=c1b226447781ba8367606f76...
>
> Using upstream virt-manager, running
>
> python src/virt-manager.py
>
> and trying to connect to a remote SSH connection without SSH keys causes
> a segfault:
>
> #0 virNetSocketRead (sock=0xc, buf=0x7f746c006458 "", len=4)
> at rpc/virnetsocket.c:969
> #1 0x00007f7477ea7374 in virNetClientIOReadMessage (client=0x7f746c006400)
> at rpc/virnetclient.c:712
> #2 virNetClientIOHandleInput (client=0x7f746c006400) at
> rpc/virnetclient.c:731
> #3 0x00007f7477ea7ae0 in virNetClientIncomingEvent (sock=0x7f746c002040,
> events=<value optimized out>, opaque=0x7f746c006400)
> at rpc/virnetclient.c:1120
I believe this should already be fixed in GIT.
Thanks, segfault is indeed fixed.
> rerun make, and reproduce the error, libvirt raises an exception from
> virConnectOpenAuth:
>
> libvirtError: Cannot recv data: Permission denied, please try again.
> Permission denied, please try again.
> Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). :
> Connection reset by peer
>
> I haven't poked at it yet, putting it here incase anyone else has ideas.
Most likely bet is that we run ssh with different environment variables
than we used to. We now do:
cmd = virCommandNew(binary ? binary : "ssh");
virCommandAddEnvPassCommon(cmd);
virCommandAddEnvPass(cmd, "SSH_AUTH_SOCK");
virCommandAddEnvPass(cmd, "SSH_ASKPASS");
virCommandClearCaps(cmd);
I guess it probably wants to have 'DISPLAY' passed through too. Can you
see if this is sufficient.
Adding DISPLAY makes askpass appear, thanks. I was hitting some other issues
that were exacerbated by a virt-manager bug:
http://git.fedorahosted.org/git?p=virt-manager.git;a=commit;h=b8c1d66801e...
I'll submit a libvirt patch shortly for the DISPLAY issue shortly.
Thanks,
Cole