On 09/03/2014 07:39 AM, Cole Robinson wrote: > I'd really recommend that virt-viewer just use the same shell code that > libvirt and virt-manager have used for years now, it's a crazy hack but it > should be battle hardened by now. > For reference, it is in src/rpc/virnetsocket.c:virNetSocketNewConnectSSH(), as: virBufferEscapeShell(&buf, netcat); if (virBufferCheckError(&buf) < 0) { virCommandFree(cmd); return -1; } quoted = virBufferContentAndReset(&buf); /* * This ugly thing is a shell script to detect availability of * the -q option for 'nc': debian and suse based distros need this * flag to ensure the remote nc will exit on EOF, so it will go away * when we close the connection tunnel. If it doesn't go away, subsequent * connection attempts will hang. * * Fedora's 'nc' doesn't have this option, and defaults to the desired * behavior. */ virCommandAddArgFormat(cmd, "'if '%s' -q 2>&1 | grep \"requires an argument\" >/dev/null 2>&1; then " "ARG=-q0;" "else " "ARG=;" "fi;" "'%s' $ARG -U %s'", quoted, quoted, path); -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list