Fixes CVE-2014-7913: The print_option function in dhcp-common.c in dhcpcd
through 6.10.2 misinterprets the return value of the snprintf function, which
allows remote DHCP servers to execute arbitrary code or cause a denial of
service (memory corruption) via a crafted message.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The default is $PREFIX/libexec which ends up in an ugly and non-standard
/libexec dir in the target.
Move it to $PREFIX/lib/dhcpcd which is far more nicer and suitable.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Patch upstream so drop it.
Also use main dhcpcd.c file as license info (it's in the header).
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This reverts commit 6b1f66643d.
It turns out to not really fix the build errors after all, so revert it.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that IPv6 is mandatory remove package dependencies and conditionals
for it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit doesn't touch infra packages.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Drop the custom/manual install cmds and do a normal make install.
This gets dhcpcd-hooks installed which are useful for many accesory
setup functions like dns, ntp server, and so on.
Also install dhcpcd to /sbin since it's expected by debian ifupdown,
For busybox ifupdown when external dhcp clients are enabled (not in the
default config we ship) will search the path.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
dhcpcd is using $(BR2_GCC_TARGET_ARCH) as the value of its --target
option. However, depending on the architecture, this value might be
empty.
After inspecting the dhcpcd configure script, it turns out that in
fact the --target option has the following semantic:
--target=TARGET configure for building compilers for TARGET [HOST]
So it is very much like the --target option of regular,
autoconf-based, configure scripts. Since dhcpcd is not a compiler,
passing --target is pointless. Moreover, as long as --os=linux is
passed, passing --host or --target is completely ignored by the
configure script.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
change remaining occurrences of _OPT into _OPTS.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Does extra escaping to cover for vulnerable bash versions.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Issue and CVE req: http://seclists.org/oss-sec/2014/q3/261
Patch upstreamed in a subtly different way.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
GNU/Linux distributions usually install dhcpcd in /usr/sbin.
NetworkManager will look for it in this directory.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now has proper support for nommu and non-IPv6.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
dhcpcd fails to build on non-MMU platforms, even with the
--disable-fork option:
bind.o: In function `_daemonise':
bind.c:(.text+0x62): undefined reference to `_fork'
collect2: ld returned 1 exit status
Therefore, we make dhcpcd depend on MMU support, and remove the
non-MMU condition in the .mk file. More recent versions of dhcpcd do
support non-MMU properly, but this commit intends to be only a fix.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Dhcpcd is an RFC2131 compliant DHCP client.
[Peter: needs ipv6, fix whitespace/file header]
Signed-off-by: John Stile <john@stilen.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>