From 098626dc86e48dc2bbfa184b81e71ca2de3a9cb6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 7 Aug 2009 09:54:03 +0000 Subject: [PATCH] * hport is in network order, so it needs to be converted back to host order... * Remove the socket file automatically. svn path=/nixpkgs/trunk/; revision=16602 --- pkgs/os-specific/linux/qemu-kvm/unix-domain.patch | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch b/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch index 26e133f1ebf..cc3f6c9822c 100644 --- a/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch +++ b/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch @@ -26,15 +26,16 @@ diff -rc qemu-kvm-0.11.0-rc1-orig/slirp/socket.c qemu-kvm-0.11.0-rc1/slirp/socke (listen(s,1) < 0)) { int tmperrno = errno; /* Don't clobber the real reason we failed */ ---- 622,642 ---- +--- 622,643 ---- so->so_lport = lport; /* Kept in network format */ so->so_laddr.s_addr = laddr; /* Ditto */ -! int unix_socket = hport >= 0xff00; +! int unix_socket = ntohs(hport) >= 0xff00; ! if (unix_socket) { ! addr_un.sun_family = AF_UNIX; -! sprintf(addr_un.sun_path, "./%d.socket", hport); +! sprintf(addr_un.sun_path, "./%d.socket", ntohs(hport)); +! unlink(addr_un.sun_path); ! } else { ! addr.sin_family = AF_INET; ! addr.sin_addr.s_addr = haddr;