| Commit message (Collapse) | Author | Age |
| |
|
|
| |
It helps to use the correct buffer to store the control message ....
|
| |
|
|
|
| |
Even with DHCP6 turned off for the interface.
As long as it was activated by another interface this is fine.
|
| |
|
|
|
|
| |
linkmtu will vanish from nd_ifinfo along with other things.
Also, there is not need to pre-fetch ifinfo because flags are no
longer updated when setting ifinfo back again.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* make_option_mask: use `nd_` prefix for nd options
The prefix for neighbor discovery options was partially changed to
`nd6_` in d5700a48edf7006369f766d225e70bbca3d8055c. However
set_option_space continued to use `nd_`. This prevented either
`nd6_prefix_information` or `nd_prefix_information` from being parsed
since the former was in the wrong option space, and the latter did not
have the prefix removed.
* manual: fix nd_ and dhcp6_ option prefixes
|
| | |
|
| | |
|
| |
|
|
| |
This was caused by the recent change to pass back the frame header.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Newer is always at the end, mirrors master branch.
|
| | |
|
| |
|
|
|
|
| |
This allows downstream implementions to inject their own data
into the log message and/or supply new logging targets whilst
preserving macros such as __FILE__ and __LINE__.
|
| |
|
|
| |
This just clarifies the former fix
|
| | |
|
| | |
|
| |
|
|
|
| |
Just to appease Arch LTS users (packages are built with newer
headers than what kernel supports).
|
| | |
|
| |
|
|
| |
Rather than being clever and getting it wrong.
|
| | |
|
| |
|
|
|
| |
Most of the time this will be dictated by the RA, but let our
config decide as well.
|
| |
|
|
| |
Also removed the TIMEOUT states which makes things easier to read.
|
| |
|
|
|
|
|
|
|
|
| |
When we lose carrier, mark all RAs as willexpire and add
the timeout to expire to it's own queue.
On receipt of a matching RA, clear the willexpire flag.
When the above timeout occours, set doexpire on all
RA's with withexpire and then call the general expirera function.
This is needed because expirera can be called at any point.
|
| |
|
|
| |
Allows for easier maintainance.
|
| |
|
|
| |
While here, include fcntl.h in if.c for older environments.
|
| |
|
|
| |
Frameless does exist.
|
| |
|
|
|
| |
Define frame header lengths and frame size maximums.
Use this to calculate required buffer sizes.
|
| |
|
|
|
| |
Also important as we now need to store the frame header in the
initial buffer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
For DHCP, we then just skip over the frame header.
For ARP, we extract the frame source and destination addresses
so we can log the source in the event of a conflict.
This is important as a user has found a router which sets the ARP
source and destination hardware addresses to all zeros but unicasts
the ARP straight to our hardware address.
https://serverfault.com/questions/297425/ip-address-conflict-with-mac-address-000000000000
https://discussions.flightaware.com/t/piaware-wont-reconnect-to-wifi-network-if-it-drops-off/59789
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
For example, we deleted existing IPv4LL addresses that dhcpcd
doesn't directly control when we obtained a DHCP lease.
|
| | |
|
| |
|
|
| |
As the astate could be freed on dropping the DHCP state.
|
| | |
|
| |
|
|
|
| |
This is important because the address could be added and quickly
deleted and RTM_NEWADDR arrvives after deletion.
|
| |
|
|
| |
Cater for various prefix lengths when using temporay addresses.
|
| |
|
|
| |
This is apparently a thing. Unsure why, but heh ho.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The RA times are provided in milliseconds, but commit
569051c8aa8fc297eb8edb7bd228e0fd353d30c1 (dhcpcd-8.1.3~18) “Linux:
prefer ms RA times” incorrectly scaled them by an extra factor of 1000
before writing them to retrans_time_ms and base_reachable_time_ms.
Instead, write the values in milliseconds directly to the *_ms files.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
|
| | |
|
| |
|
|
|
|
| |
When passing PARSE_STRING_NULL we expect to store the string
NULL terminated. As such, allocate space for it an ensure we have
space for it.
|
| | |
|