b745ca9d2d2d127870e6245c50417fc778080e6a |
|
08-Jan-2016 |
Samuel Tan <samueltan@google.com> |
[PATCH] UPSTREAM: Ensure that option length fits inside data length less option size Ensure that option length fits inside data length less option size. Thanks to Nico Golde for the report. Fixes CVE-2016-1504 http://roy.marples.name/projects/dhcpcd/ci/595883e2a431f65d?sbs=1 BUG: 26461547 Change-Id: I8bbb01eda998a0d7e552dcd4bf22db14c796d90e
/external/dhcpcd-6.8.2/dhcp.c
|
e942e091ac1efb0ee1916add2b12f64fdfd59476 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Add DBus RPC support Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Add-DBus-RPC-support.patch. Porting the DBus support from version 5.1.4 and allow it to be configurable through the package configuration. Removed the unused and incomplete implemention for DBus method GetInterfaces and GetStatus. Also: update the default lease file name to tailor around the expectation of shill ("dhcpcd-%dev.lease). Also: update the config file to meet shill's expectation. BUG: 22956197 Change-Id: Ic729dffc6b14fed0b27ed0731c11ef609434e03c Review URL: http://codereview.chromium.org/2428004 Review URL: http://codereview.chromium.org/2851022 Review URL: http://codereview.chromium.org/2851023 Review URL: http://codereview.chromium.org/2865017 Review URL: http://codereview.chromium.org/2965010 Review URL: http://codereview.chromium.org/2957010 Review URL: http://codereview.chromium.org/3060016 Reviewed-on: http://gerrit.chromium.org/gerrit/2228 Reviewed-on: https://gerrit.chromium.org/gerrit/22597 Reviewed-on: https://gerrit.chromium.org/gerrit/36716 Reviewed-on: https://gerrit.chromium.org/gerrit/38183 Reviewed-on: https://gerrit.chromium.org/gerrit/59967 Reviewed-on: https://chromium-review.googlesource.com/178462 Reviewed-on: https://chromium-review.googlesource.com/185086 Reviewed-on: https://chromium-review.googlesource.com/195269 Reviewed-on: https://chromium-review.googlesource.com/259072
/external/dhcpcd-6.8.2/dhcp.c
|
24aa62eefd9284fb94820093f6088607d42c4249 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Improve debugability Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Improve-debugability.patch. Increase log level for certain log messages and add more log messages to improve debugability. BUG: 22956197 Change-Id: Idec6362a13d946831c8f0837a4cfe31c2671665e Reviewed-on: https://gerrit.chromium.org/gerrit/42622 Reviewed-on: https://chromium-review.googlesource.com/185511 Reviewed-on: https://chromium-review.googlesource.com/186593 Reviewed-on: https://chromium-review.googlesource.com/206143 Reviewed-on: https://gerrit.chromium.org/gerrit/24835
/external/dhcpcd-6.8.2/dhcp.c
|
47d708b8f4e037f6f224f71ea5864c90184b4ffb |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] UPSTREAM: Fix ARP checking Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-UPSTREAM-Fix-ARP- checking.patch. Fix ARP checking logic and the usage of IN_IFF_TENTATIVE compiler flag around ARP checking. Upstream patch link: http://roy.marples.name/projects/dhcpcd/info/fad4fae29d5d7dc9 http://roy.marples.name/projects/dhcpcd/info/9dcdaf2d1ef4a44d BUG: 22956197 Change-Id: I1ba5c5d56a104cadf4566367408abb068b7e1268 Reviewed-on: https://chromium-review.googlesource.com/272614
/external/dhcpcd-6.8.2/dhcp.c
|
23ff6edd8b4ec796a32d36a3eca8a8d8c785b565 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Add RPC support for DHCPv4 client Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Add-RPC-support-for- DHCPv4-client.patch. Define a RPC interface for the daemon to interact with other applications (command execution and status update), and integrate it with the DHCPv4 client. Default to stub implementation for now until new RPC mechanism is implemented and enabled. Also add a new compiler flag "PASSIVE_MODE" which will be enabled when a RPC mechanism is enabled (e.g. DBus). This compiler flag will prevent the daemon from modifying system configurations (e.g. routing table, interface address). The idea is that when RPC is enabled, the daemon will provide configurations through RPC, and the remote application will be the one responsible for modifying system configurations. Integration with DHCPv6 client will be added in the future. BUG: 22956197 Change-Id: I7147d13e2cfab5c209c1ab862f33ef9d1b1dddaf Reviewed-on: https://chromium-review.googlesource.com/208835 Review URL: http://codereview.chromium.org/3061018
/external/dhcpcd-6.8.2/dhcp.c
|
11464a5b08c94f30b5e7b59731e972b8c5bd4099 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Stop ARP probes when conflict is detected Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Stop-ARP-probes-when- conflict-is-detected.patch. Currently, an ARP state is create for each IP when performing duplicate address detection. However, when duplicate address is detected, the ARP state for that IP doesn't get cleanup, causing the ARP request to be sent continuously with a random timeout. All ARP states would eventually get cleanup when a duplicate address detection succeed. So clean up the ARP state when duplicate address is detected to avoid generating unnecessary traffics and causing any problems with the dhcp state machine. BUG: 22956197 Change-Id: I0e6a2f14eb3871872dee409b6b0c87ec19c58bed Reviewed-on: https://chromium-review.googlesource.com/272614
/external/dhcpcd-6.8.2/dhcp.c
|
9177c6fae9fb7aecf0a0d378050788ba609a5a41 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Merge in DHCP options from the orignal offer Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Merge-in-DHCP-options- from-the-original-offer.patch. We've found that some APs respond to DHCP REQUEST messages with a subset of the DHCP options that were present in the original DHCP negotiation. Copy such options out of the stored lease and carry them forward whenever a lease renewal succeeds. BUG: 22956197 Change-Id: I9fa006535a67cdb3e25f7d02a8a81d051033922e Reviewed-on: https://chromium-review.googlesource.com/195270
/external/dhcpcd-6.8.2/dhcp.c
|
9ae79b8946de6ac1e295417875f2ac7316dd0f80 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Fix OOB read in dhcpcd. Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Fix-OOB-read-in-dhcpcd.patch. Should have done this sooner, but hey, late is better than never. Based on https://googleplex-android-review.git.corp.google.com/#/c/588010/. BUG: 22956197 Change-Id: I241cacc7c131237acbf1f8f011f1444e907eaebb Reviewed-on: https://chromium-review.googlesource.com/242880
/external/dhcpcd-6.8.2/dhcp.c
|
5158c9dfe576a285663b4ba16828fd6e9b35779c |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Track and validate disputed addresses Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Track-and-validate- disputed-addresses.patch. Keep track of whether we have received a NAK response. If we accept an ACK shortly after a NAK, although we accept this address, it must be more carefully evaluated by using the "ARP for self" method. If this method succeeds, the system should proceed as normal (either doing a gateway ARP or sending the success notification via D-Bus). Moreover, if the "ARP self" method fails, it will DECLINE the lease and restart the DHCP process. When examining any messages from the DHCP server in this restarted session, ignore the first OFFER if it is for the previously declined IP address. In scenarios where there may be more than one conflicting DHCP server on the network, this allows the possibility to accept a more viable offer. BUG: 22956197 Change-Id: I3f2e6cfbaf9c14ce09218e817e2dd35517d78f85 Reviewed-on: https://chromium-review.googlesource.com/208273
/external/dhcpcd-6.8.2/dhcp.c
|
b2d21e6cab5a0167e9e4d0698795b38f6c790ab3 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Accept an ACK after a NAK Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Accept-an-ACK-after-a- NAK.patch. When a NAK is received, wait for a response interval before acting on it. In doing so, this allows for networks that may have duelling DHCP servers which both consider themselves authoritative on a network. Since other DHCP clients also act in a similar manner, issues of this sort end up undetected and network administrators thus consider this situation nominal. BUG: 22956197 Change-Id: I8cceb03f8296abb4ee6bbdc87c222ae9234b3f5f Reviewed-on: https://chromium-review.googlesource.com/208207
/external/dhcpcd-6.8.2/dhcp.c
|
4eb4220b0441f724353b049e4deab95be99698d5 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Be more permissive on NAKs Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Be-more-permissive-on- NAKs.patch. Previously, we'd reject NAKs that did not include a server ID. Since we'd only check that a server ID was present, but did not validate it against any stored state, the test is merely pedantic. Moreover, some DHCP servers (e.g. OpenBSD 4.6) send NAK messages without a server ID. [1] To improve compatibility with real-world DHCP servers, drop the check for the presence of a server ID. BUG: 22956197 Change-Id: I11515205b89affde5bc61eb95e6615db450d6176 Reviewed-on: https://chromium-review.googlesource.com/194972
/external/dhcpcd-6.8.2/dhcp.c
|
dd90b01b5502dc66e00ea6a4d00ebdf77ea1eddc |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Fix dhcpcd running as a regular user. Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Fix-dhcpcd-running-as-a- regular-user.patch. Update the lease file permission to 0600 to prevent other users from reading the lease file. Moreover, also soften the log message shown when not running as root, since by using Linux capabilities dhcpcd can run fine as a regular user. BUG: 22956197 Change-Id: Ib6f4ae4a892c6f5697cd03e79e3aa018b80712fe Reviewed-on: https://gerrit.chromium.org/gerrit/22644
/external/dhcpcd-6.8.2/dhcp.c
|
f20514bf582d08567217a3b06171bab5a11458ea |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] dhcpcd: Teach DHCP client to do unicast-ARP for gateway Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Teach-DHCP-client-to-do- unicast-ARP-for-gatew.patch. Implement RFC-4436 ("Detecting Network Attachment in IPv4 (DNAv4)"). Keep track of the MAC address of the default gateway in a file as a part of the arpgw change ("-R" option), and append this info to the end of the saved lease. Implement a separate command line option ("-P") which will use the MAC address stored in the lease to do a unicast ARP to the default gateway saved in the lease. If this succeeds, notify listeners that this succeeded, along with the contents of the lease, but do not stop the normal DHCP process. This returns immediate, fast feedback that our lease will likely work, but continues the DHCP process so we know for sure. BUG: 22956197 Change-Id: I4a494ff227b8bddac78e53c6354ebfa904bf384d Reviewed-on: https://gerrit.chromium.org/gerrit/22643
/external/dhcpcd-6.8.2/dhcp.c
|
1c4088e958ed0fded0040bcb1d67b73159acfe8c |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
[PATCH] Optionally ARP for gateway IP address Cherry-picked from https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Optionally-ARP-for-gateway- IP-address.patch. If the "arpgw" option is enabled in the config, we ARP for the gateway provided in the DHCP response as part of the process of testing our lease. If this fails (ARP times out) we DECLINE our lease in the hope that a new lease will work better. This can allow us to work around issues with infrastructures where IP address / MAC pairs are placed on a "dummy" VLAN under certain conditions. Requesting a different IP can sometimes help resolve this. The code is setup so that for each dhcpcd instance, the "arpgw" function is allowed to only fail once. This is to protect ourselves from mistakenly diagnosing a bad system, or from looping endlessly if the system is truly hosed. BUG: 22956197 Change-Id: I0f49882e85b2cac08dd3bd0046cacf564f8b4749 Reviewed-on: http://gerrit.chromium.org/gerrit/3080 Reviewed-on: http://gerrit.chromium.org/gerrit/3531
/external/dhcpcd-6.8.2/dhcp.c
|
d7ed851d6fc26c5e7db96971dbe6b44342b97727 |
|
14-Aug-2015 |
Samuel Tan <samueltan@google.com> |
Import dhcpcd 6.8.2 This is a simple import of dhcpcd 6.8.2. SRC URI: http://roy.marples.name/downloads/dhcpcd/dhcpcd-6.8.2.tar.bz2 SHA1 Hash: 134a7c06bffc20789fedd5c0d259145d2dc4f058 (on the private dhcpcd repo 'trunk') BUG: 22956197 Change-Id: I701af1d1532725b1058640fcb7ddeab1c24a797e
/external/dhcpcd-6.8.2/dhcp.c
|