History log of /system/connectivity/dhcp_client/dhcpv4.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
81edb0d3347ec35fa7a3a044a5c5359402b0e91c 30-Jan-2016 Ningyuan Wang <nywang@google.com> DHCPV4: use c++11 random number generator

This uses c++11 random number generator to replace the old
c-style random number generator.
In addition, this deletes the function DHCPMessage::
GenerateTransactionID(). Both the DHCP transaction id and
IP transaction id will be generated by the random engine in
DHCPV4.

Bug: 25642025
TEST=compile and unittest

Change-Id: Ie23600f08f5dab8b373bf19eac7b25c112e1a1c8
/system/connectivity/dhcp_client/dhcpv4.cc
bea780a2646f6c5292ad008eab383d61937d1995 27-Jan-2016 Ningyuan Wang <nywang@google.com> DHCPV4: receive packet from socket buffer

This adds the framework code for packet handling in DHCPV4.
This also adds the code for validating IP and UDP headers.

Bug: 25642025
TEST=compile and unittest

Change-Id: I889a22c1fc94189f902bbb5434394b2636817c1a
/system/connectivity/dhcp_client/dhcpv4.cc
2e8b937f0f6b5c2c3bf86661581a85e2e97892b9 25-Jan-2016 Ningyuan Wang <nywang@google.com> DHCPV4: make and send dhcp packet

This adds two functions.
One is MakeRawPacket(), extracting payload from DHCPMessage
object and filling the IP and UDP headers.

Another is SendRawPacket(), sending the dhcp packet through
raw socket.

Bug: 25642025
TEST=compile and unittest

Change-Id: Ib9efca5d96b768757d26e70119564b98e819bb34
/system/connectivity/dhcp_client/dhcpv4.cc
63aa9b57adbfb4f526d32d33e03bd7f0bdc408b7 19-Jan-2016 Ningyuan Wang <nywang@google.com> dhcp_client: use ByteString for hardware address

Since the hardware address of network device may contain
0 in the middle, using std::string could be ambiguous.
We change the type from std::string to shill::ByteString
to fix that.

Bug: 25642025
TEST=compile and unittests
Change-Id: I301cd9c351e02e7509bfbb4772c9cfbd5b00a668
/system/connectivity/dhcp_client/dhcpv4.cc
679654b4a871034b59ceadb98d113ac8cab120d6 09-Jan-2016 Ningyuan Wang <nywang@google.com> dhcp client: add checksum computing function for class DHCPMessages

When using raw sockets for communicating with the DHCP
server, we need to fill the IP and UDP headers. Adding
checksum function allows us to fill the checksum field
in headers.

Bug: 25642025
TEST=compile and unittests
Change-Id: Icab3433ccb2b1fffbf1fb4ce60362d1b94588235
/system/connectivity/dhcp_client/dhcpv4.cc
48f820401db6feb592b3629a106c14cc599160ed 04-Jan-2016 Ningyuan Wang <nywang@google.com> dhcp client: add class DHCPMessage

Add class DHCPMessage for dhcp_client.
This is the class wrapping raw dhcp messages and
providing message processing functions.

Bug: 25642025
TEST=compile

Change-Id: Idf5be4f3f33df492ed7d145c2f65872d284cdcc9
/system/connectivity/dhcp_client/dhcpv4.cc
288ccd023284cb6a212136639a988bda1d05468e 17-Dec-2015 Ningyuan Wang <nywang@google.com> dhcp client: add socket to DHCPV4 class

The socket is used for sending and receiving DHCP messages.
We need to use raw socket before the IP is set up, so a
socket filter is needed for packet filtering.

Bug: 25642025
TEST=compile
Change-Id: Ia6da0f8954f99685a68ad1d58c887c76aed99399
/system/connectivity/dhcp_client/dhcpv4.cc
b52786a07dad9f47c3fc695427666b7954362c1d 10-Dec-2015 Ningyuan Wang <nywang@google.com> dhcp client: add class DHCPV4

Add class DHCPV4 for dhcp_client.
This is the class that executes the DHCP ipv4 state machine logic.

Bug: 25642025
TEST=compile

Change-Id: Ia173d3f79bf12b12feb1c7dd60d58385e085e31e
/system/connectivity/dhcp_client/dhcpv4.cc