include Config
-VER = 9.3.4
+VER = 9.1.4
THISAPP = dhcpcd-$(VER)
DL_FILE = $(THISAPP).tar.xz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = badb02dfc69fe9bbeec35a02efcdb4db
+$(DL_FILE)_MD5 = dd77711cf3232002bb075f5210269f88
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dhcpcd/01_Fix_Linux_i386_for_SECCOMP_as_it_just_uses_socketcall.patch
-
cd $(DIR_APP) && ./configure --prefix="" --sysconfdir=/var/ipfire/dhcpc \
--dbdir=/var/ipfire/dhcpc \
--libexecdir=/var/ipfire/dhcpc \
+++ /dev/null
-diff --git a/src/privsep-linux.c b/src/privsep-linux.c
-index 050a30cf..d31d720d 100644
---- a/src/privsep-linux.c
-+++ b/src/privsep-linux.c
-@@ -32,6 +32,7 @@
-
- #include <linux/audit.h>
- #include <linux/filter.h>
-+#include <linux/net.h>
- #include <linux/seccomp.h>
- #include <linux/sockios.h>
-
-@@ -304,6 +305,23 @@ static struct sock_filter ps_seccomp_filter[] = {
- #ifdef __NR_sendto
- SECCOMP_ALLOW(__NR_sendto),
- #endif
-+#ifdef __NR_socketcall
-+ /* i386 needs this and demonstrates why SECCOMP
-+ * is poor compared to OpenBSD pledge(2) and FreeBSD capsicum(4)
-+ * as this is soooo tied to the kernel API which changes per arch
-+ * and likely libc as well. */
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_ACCEPT),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_ACCEPT4),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_LISTEN),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_GETSOCKOPT), /* overflow */
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_RECV),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_RECVFROM),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_RECVMSG),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SEND),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SENDMSG),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SENDTO),
-+ SECCOMP_ALLOW_ARG(__NR_socketcall, 0, SYS_SHUTDOWN),
-+#endif
- #ifdef __NR_shutdown
- SECCOMP_ALLOW(__NR_shutdown),
- #endif