From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FHc9Z-0007fV-M4 for qemu-devel@nongnu.org; Fri, 10 Mar 2006 02:35:13 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FHc9W-0007cC-RR for qemu-devel@nongnu.org; Fri, 10 Mar 2006 02:35:12 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FHc9W-0007c8-Mm for qemu-devel@nongnu.org; Fri, 10 Mar 2006 02:35:10 -0500 Received: from [64.233.182.196] (helo=nproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FHcCl-0006Tb-OA for qemu-devel@nongnu.org; Fri, 10 Mar 2006 02:38:31 -0500 Received: by nproxy.gmail.com with SMTP id x29so500533nfb for ; Thu, 09 Mar 2006 23:35:09 -0800 (PST) Message-ID: Date: Thu, 9 Mar 2006 23:35:09 -0800 From: "Ed Swierk" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_15144_14214682.1141976109230" Subject: [Qemu-devel] [PATCH] Set hostname in DHCP response Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_15144_14214682.1141976109230 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline SGVyZSBpcyBhIHBhdGNoIHRoYXQgc2V0cyB0aGUgaG9zdG5hbWUgaW4gdGhlIERIQ1AgcmVzcG9u c2UgZ2VuZXJhdGVkCmJ5IHFlbXUncyB1c2VyLW5ldCBESENQIHNlcnZlciwgYW5kIGFkZHMgYSBu ZXcgLWhvc3RuYW1lIGNvbW1hbmQgbGluZQpvcHRpb24gdG8gc3BlY2lmeSB0aGUgdmFsdWUuCgpJ ZiB0aGUgZ3Vlc3QgT1MgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgdGhlIHZhbHVlIHJlY2VpdmVk IGluIHRoZSBESENQCnJlc3BvbnNlIGlzIGF1dG9tYXRpY2FsbHkgdXNlZCB0byBzZXQgdGhlIG1h Y2hpbmUncyBob3N0bmFtZS4gKEluIFJlZApIYXQvRmVkb3JhIExpbnV4ZXMsIHRoaXMgaGFwcGVu cyBpZiBIT1NUTkFNRSBpcyBub3QgaGFyZGNvZGVkIGluCi9ldGMvc3lzY29uZmlnL25ldHdvcmsu KQoKRmVlZGJhY2sgd2VsY29tZS4KCi0tRWQK ------=_Part_15144_14214682.1141976109230 Content-Type: text/x-patch; name=qemu-hostname.patch; charset=us-ascii Content-Transfer-Encoding: 7bit X-Attachment-Id: f_ekm70omp Content-Disposition: attachment; filename="qemu-hostname.patch" diff -BurN qemu-snapshot-2006-03-06_23.orig/slirp/bootp.c qemu-snapshot-2006-03-06_23/slirp/bootp.c --- qemu-snapshot-2006-03-06_23.orig/slirp/bootp.c 2005-06-05 17:11:42.000000000 +0000 +++ qemu-snapshot-2006-03-06_23/slirp/bootp.c 2006-03-10 07:11:19.000000000 +0000 @@ -228,6 +228,16 @@ val = htonl(LEASE_TIME); memcpy(q, &val, 4); q += 4; + + if (slirp_hostname && *slirp_hostname) { + val = strlen(slirp_hostname); + if (val > 32) + val = 32; + *q++ = RFC1533_HOSTNAME; + *q++ = val; + memcpy(q, slirp_hostname, val); + q += val; + } } *q++ = RFC1533_END; diff -BurN qemu-snapshot-2006-03-06_23.orig/slirp/libslirp.h qemu-snapshot-2006-03-06_23/slirp/libslirp.h --- qemu-snapshot-2006-03-06_23.orig/slirp/libslirp.h 2005-06-05 17:11:42.000000000 +0000 +++ qemu-snapshot-2006-03-06_23/slirp/libslirp.h 2006-03-10 06:47:32.000000000 +0000 @@ -32,6 +32,7 @@ int guest_port); extern const char *tftp_prefix; +extern const char *slirp_hostname; #ifdef __cplusplus } diff -BurN qemu-snapshot-2006-03-06_23.orig/slirp/slirp.c qemu-snapshot-2006-03-06_23/slirp/slirp.c --- qemu-snapshot-2006-03-06_23.orig/slirp/slirp.c 2005-09-03 10:45:09.000000000 +0000 +++ qemu-snapshot-2006-03-06_23/slirp/slirp.c 2006-03-10 06:46:28.000000000 +0000 @@ -25,6 +25,8 @@ /* XXX: suppress those select globals */ fd_set *global_readfds, *global_writefds, *global_xfds; +const char *slirp_hostname = NULL; + #ifdef _WIN32 static int get_dns_addr(struct in_addr *pdns_addr) diff -BurN qemu-snapshot-2006-03-06_23.orig/vl.c qemu-snapshot-2006-03-06_23/vl.c --- qemu-snapshot-2006-03-06_23.orig/vl.c 2006-02-20 00:33:36.000000000 +0000 +++ qemu-snapshot-2006-03-06_23/vl.c 2006-03-10 06:45:32.000000000 +0000 @@ -4183,6 +4183,7 @@ #endif "-redir [tcp|udp]:host-port:[guest-host]:guest-port\n" " redirect TCP or UDP connections from host to guest [-net user]\n" + "-hostname name set hostname in DHCP responses\n" #endif "\n" "Linux boot specific:\n" @@ -4267,6 +4268,7 @@ QEMU_OPTION_tftp, QEMU_OPTION_smb, QEMU_OPTION_redir, + QEMU_OPTION_hostname, QEMU_OPTION_kernel, QEMU_OPTION_append, @@ -4332,6 +4334,7 @@ { "smb", HAS_ARG, QEMU_OPTION_smb }, #endif { "redir", HAS_ARG, QEMU_OPTION_redir }, + { "hostname", HAS_ARG, QEMU_OPTION_hostname }, #endif { "kernel", HAS_ARG, QEMU_OPTION_kernel }, @@ -4785,6 +4788,9 @@ case QEMU_OPTION_redir: net_slirp_redir(optarg); break; + case QEMU_OPTION_hostname: + slirp_hostname = optarg; + break; #endif #ifdef HAS_AUDIO case QEMU_OPTION_audio_help: ------=_Part_15144_14214682.1141976109230--