From 5782c5a3e2e44bd675eac5092875a5de8f7da7c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 13 Dec 2006 11:58:54 +0000 Subject: [PATCH] * Added support for setting the broadcast address as well (option 28). * Now prints out the domain name as suggested by DHCP (option 15). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19486 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/net/DHCPClient.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/servers/net/DHCPClient.cpp b/src/servers/net/DHCPClient.cpp index da8f5bb8a4..36c648f962 100644 --- a/src/servers/net/DHCPClient.cpp +++ b/src/servers/net/DHCPClient.cpp @@ -43,6 +43,7 @@ enum message_option { OPTION_ROUTER_ADDRESS = 3, OPTION_DOMAIN_NAME_SERVER = 6, OPTION_HOST_NAME = 12, + OPTION_DOMAIN_NAME = 15, OPTION_DATAGRAM_SIZE = 22, OPTION_MTU = 26, OPTION_BROADCAST_ADDRESS = 28, @@ -544,6 +545,9 @@ DHCPClient::_ParseOptions(dhcp_message& message, BMessage& address) case OPTION_SUBNET_MASK: address.AddString("mask", _ToString(data)); break; + case OPTION_BROADCAST_ADDRESS: + address.AddString("broadcast", _ToString(data)); + break; case OPTION_DOMAIN_NAME_SERVER: { // TODO: for now, we write it just out to /etc/resolv.conf @@ -571,11 +575,22 @@ DHCPClient::_ParseOptions(dhcp_message& message, BMessage& address) break; case OPTION_HOST_NAME: + { char name[256]; memcpy(name, data, size); name[size] = '\0'; printf("DHCP host name: \"%s\"\n", name); break; + } + + case OPTION_DOMAIN_NAME: + { + char name[256]; + memcpy(name, data, size); + name[size] = '\0'; + printf("DHCP domain name: \"%s\"\n", name); + break; + } case OPTION_MESSAGE_TYPE: break;