Update luci-rpc's getHostHints method to return two string arrays for
each host, `ipaddrs` and `ip6addrs`, each containing the host's IPv4
and IPv6 addresses, respectively. Each array is sorted by a priority
derived from the source from which the address was discovered. The
current address sources and their priority is as follows (a
higher (larger) priority is listed first):
- neighbor table entries: 10
- /etc/ethers entries: 50
- DHCP leasefile: 100
- RRDNS queries: 100
- getifaddrs(): 200
- UCI static leases: 200
The existing `ipv4` and `ipv6` string fields for each host in
`getHostHints` has been removed. Downstream users of getHostHints
still need to be updated.
Fixes: #4838
Signed-off-by: Niels Widger <niels@qacafe.com>
[squash commits, reformat fixes tag]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit a5195e7825cbbc3942ca6e571ae0020c1cf080c4)
Fix parsing of DUID-LLT's in duid2ea. Unlike DUID-LL's, DUID-LLT's have a 32-bit time field between the hardware type and link-layer address fields, see RFC 3315 Sections 9.2 and 9.4:
https://tools.ietf.org/html/rfc3315#section-9.2https://tools.ietf.org/html/rfc3315#section-9.4
therefore, the link-layer address starts at offset 16 instead of 8.
Signed-off-by: Niels Widger <niels@qacafe.com>
(cherry picked from commit 8920a2bf71e544fada3de824126a5c8f1c596b63)
Recent versions ship a version suffixed libiwinfo.so, therefor we cannot
rely on a fixed path name anymore. Use globbing to find matching libraries
and load the first one we find.
Fixes: #4718
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Usage of killall is replaced with init script. This is cleaner solution
as it does not consider some implementation detail but rather passes
that on to init script implementation.
IPKG_INSTROOT was added to prevent execution when not running in current
root. It is invalid to request reload if install-root is not current
root. In this case it can be considered harmless but it is invalid
nonetheless.
Last change is removal of `exit 0`. This caused skip of default
postinst. Execution of default postinst does no harm and is more
standard considering possible future expansion of it.
Signed-off-by: Karel Kočí <karel.koci@nic.cz>
For DHCPv6, the second entry of a lease is the IAID. The parsing code
expects a MAC instead of a IAID.
Reported-by: Hartmut Birr <e9hack@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Checking the return value of uci_lookup_ptr() is not enough to ensure that
the requested optiomn has actually been found.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>