* 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
This commit is contained in:
Axel Dörfler
2006-12-13 11:58:54 +00:00
parent 71c8e7e84a
commit 5782c5a3e2
+15
View File
@@ -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;