summaryrefslogtreecommitdiffstats
path: root/services/net
Commit message (Collapse)AuthorAgeFilesLines
* DHCP: parsing robustness fixes.Lorenzo Colitti2015-03-171-105/+123
| | | | | | | 1. Check the length of the fixed-length portions of the packet. 2. Catch BufferUnderflowException while parsing options. Change-Id: If907f49f02a04a4a3360f46a3192e94ab099af0e
* DHCP: Add a Java DHCP client.Lorenzo Colitti2015-03-171-0/+807
| | | | | | | | | The behaviour of the client is intended to mirror the behaviour of the current DhcpStateMachine + dhcpcd combination, except it does not store leases across network changes. Bug: 19704592 Change-Id: I110b58003da2d8293059d48a0181e16f7f7f145c
* DHCP: protocol changes.Lorenzo Colitti2015-03-173-18/+91
| | | | | | | | | | | | | | 1. Define and add parsing code for MTU, max message size, T1, T2. 2. Add common TLVs (message size, hostname, vendor ID) to all packets sent by the client. 3. Don't include requested IP and server ID in renew messages, since the RFC says MUST NOT. 4. Don't hardcode the broadcast flag to true in DISCOVER packets, use what the caller passed in. 5. Make some methods static. Bug: 19704592 Change-Id: I42a0997e468b12e19cad9b403b98fe266e6cea73
* DHCP: glue code.Lorenzo Colitti2015-03-161-3/+58
| | | | | | | | | | | | | 1. Add a method to make a DhcpResults object from a DHCP packet. 2. Add a method to fetch the client MAC from the packet. This is needed to check that the message is for us (lots of DHCP messages are broadcast). 3. Add a length argument to the method that parses DHCP packets, so the caller can use the same MTU-sized array all the time instead of having to pass in a new array for every packet. Bug: 19704592 Change-Id: I58223f5ec90fb5c762bc2934649e02f9122018b2
* DHCP: Ethernet/IP packet header changes.Lorenzo Colitti2015-03-161-7/+31
| | | | | | | | 1. Support L2_ENCAP when building packets as well as when parsing. 2. Skip IP options when parsing DHCP packets. Bug: 19704592 Change-Id: Ic27a45790ed1cf7cf5b82d63b6c0b64c909a570f
* DHCP: Minor cleanups to the packet code.Lorenzo Colitti2015-03-169-234/+83
| | | | | | | | | | | 1. Delete the DhcpStateMachine, since we don't plan to use it. 2. Make all InetAddresses Inet4Addresses, since that's what they are. In order to do this, define INADDR_ANY and INADDR_BROADCAST, constants, since Inet4Address.{ANY,ALL} are not Inet4Addresses but InetAddresses. Bug: 19704592 Change-Id: I5a0499be889076992a60aaad0bd8be5ea66bd560
* DHCP: Move the packet code to frameworks/base/services.Lorenzo Colitti2015-03-1610-0/+1559
There's no need for it to be in frameworks/base/core, since it will only be used by services. Bug: 19704592 Change-Id: I2f5277eca848b7000ca46db575e8602eacb5c8bd