update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,17 @@
The openssl get_certificate working test isn't cross compile friendly.
Just assume it works ok since we're using a modern OpenSSL version.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura squid-3.5.1.orig/configure.ac squid-3.5.1/configure.ac
--- squid-3.5.1.orig/configure.ac 2015-01-27 11:09:15.035711981 -0300
+++ squid-3.5.1/configure.ac 2015-01-27 11:09:25.829084482 -0300
@@ -1342,7 +1342,7 @@
AC_DEFINE(USE_OPENSSL,1,[OpenSSL support is available])
# check for other specific broken implementations
- SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS
+ #SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS
SQUID_CHECK_OPENSSL_CONST_SSL_METHOD
SQUID_CHECK_OPENSSL_TXTDB
SQUID_CHECK_OPENSSL_HELLO_OVERWRITE_HACK

View File

@@ -0,0 +1,28 @@
ipc/Kid.cc: add missing include of time.h
Function time() comes from <time.h>, so add the necessary include.
This fixes compilation on some configurations, for example
http://autobuild.buildroot.net/results/b33/b33e1f41e50b6e7ac3e30806b9a617d451bc27b4/
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Upstream-status: submitted (http://bugs.squid-cache.org/show_bug.cgi?id=3967)
---
src/ipc/Kid.cc | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/src/ipc/Kid.cc b/src/ipc/Kid.cc
--- a/src/ipc/Kid.cc
+++ b/src/ipc/Kid.cc
@@ -11,6 +11,10 @@
#include <sys/wait.h>
#endif
+#if HAVE_TIME_H
+#include <time.h>
+#endif
+
int TheProcessKind = pkOther;
Kid::Kid():

View File

@@ -0,0 +1,35 @@
From eb2db98a676321b814fc4a51c4fb7928a8bb45d9 Mon Sep 17 00:00:00 2001
From: Amos Jeffries <yadij@users.noreply.github.com>
Date: Fri, 19 Jan 2018 13:54:14 +1300
Subject: [PATCH] ESI: make sure endofName never exceeds tagEnd (#130)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
src/esi/CustomParser.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/esi/CustomParser.cc b/src/esi/CustomParser.cc
index d86d2d309..db634d921 100644
--- a/src/esi/CustomParser.cc
+++ b/src/esi/CustomParser.cc
@@ -121,7 +121,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool
char * endofName = strpbrk(const_cast<char *>(tag), w_space);
- if (endofName > tagEnd)
+ if (!endofName || endofName > tagEnd)
endofName = const_cast<char *>(tagEnd);
*endofName = '\0';
@@ -214,7 +214,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool
char * endofName = strpbrk(const_cast<char *>(tag), w_space);
- if (endofName > tagEnd)
+ if (!endofName || endofName > tagEnd)
endofName = const_cast<char *>(tagEnd);
*endofName = '\0';
--
2.11.0

View File

@@ -0,0 +1,31 @@
From 8232b83d3fa47a1399f155cb829db829369fbae9 Mon Sep 17 00:00:00 2001
From: squidadm <squidadm@users.noreply.github.com>
Date: Sun, 21 Jan 2018 08:07:08 +1300
Subject: [PATCH] Fix indirect IP logging for transactions without a client
connection (#129) (#136)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
src/client_side_request.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/client_side_request.cc b/src/client_side_request.cc
index be124f355..203f89d46 100644
--- a/src/client_side_request.cc
+++ b/src/client_side_request.cc
@@ -488,9 +488,9 @@ clientFollowXForwardedForCheck(allow_t answer, void *data)
* Ensure that the access log shows the indirect client
* instead of the direct client.
*/
- ConnStateData *conn = http->getConn();
- conn->log_addr = request->indirect_client_addr;
- http->al->cache.caddr = conn->log_addr;
+ http->al->cache.caddr = request->indirect_client_addr;
+ if (ConnStateData *conn = http->getConn())
+ conn->log_addr = request->indirect_client_addr;
}
request->x_forwarded_for_iterator.clean();
request->flags.done_follow_x_forwarded_for = true;
--
2.11.0

View File

@@ -0,0 +1,14 @@
comment "squid needs a toolchain w/ C++"
depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP
config BR2_PACKAGE_SQUID
bool "squid"
depends on BR2_INSTALL_LIBSTDCPP
# needs fork()
depends on BR2_USE_MMU
select BR2_PACKAGE_LIBCAP
help
Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more.
http://www.squid-cache.org/

View File

@@ -0,0 +1,40 @@
#!/bin/sh
[ -x /usr/sbin/squid ] || exit 0
[ -f /etc/squid.conf ] || exit 0
case "$1" in
start)
printf "Starting squid: "
if [ ! -d /var/log/squid ]; then
mkdir -p /var/log/squid
chown squid:squid /var/log/squid
fi
start-stop-daemon -S -x /usr/sbin/squid
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping squid: "
/usr/sbin/squid -k shutdown
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
reload)
printf "Reloading squid configuration: "
/usr/sbin/squid -k reconfigure
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
restart)
printf "Restarting squid: "
/usr/sbin/squid -k restart
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
*)
echo "Usage: $0 {start|stop|reload|restart}"
exit 1
esac
exit 0

View File

@@ -0,0 +1,5 @@
# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.xz.asc
md5 39ef8199675d48a314b540f92c00c545 squid-3.5.27.tar.xz
sha1 1e69c96d13cd49844da3bcf33a0b428fbe7b6f77 squid-3.5.27.tar.xz
# Locally calculated
sha256 58f5d05257af1fb964fde20e134d660fac9afa86b6fd8c70d63ead63068378fa COPYING

View File

@@ -0,0 +1,98 @@
################################################################################
#
# squid
#
################################################################################
SQUID_VERSION_MAJOR = 3.5
SQUID_VERSION = $(SQUID_VERSION_MAJOR).27
SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz
SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR)
SQUID_LICENSE = GPLv2+
SQUID_LICENSE_FILES = COPYING
# For 0001-assume-get-certificate-ok.patch
SQUID_AUTORECONF = YES
SQUID_DEPENDENCIES = libcap host-libcap host-pkgconf \
$(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack)
SQUID_CONF_ENV = \
ac_cv_epoll_works=yes \
ac_cv_func_setresuid=yes \
ac_cv_func_va_copy=yes \
ac_cv_func___va_copy=yes \
ac_cv_func_strnstr=no \
ac_cv_have_squid=yes \
BUILDCXX="$(HOSTCXX)" \
BUILDCXXFLAGS="$(HOST_CXXFLAGS)"
SQUID_CONF_OPTS = \
--enable-async-io=8 \
$(if $(BR2_TOOLCHAIN_USES_MUSL),--disable-linux-netfilter,--enable-linux-netfilter) \
--enable-removal-policies="lru,heap" \
--with-filedescriptors=1024 \
--disable-ident-lookups \
--without-mit-krb5 \
--enable-auth-basic="fake getpwnam" \
--enable-auth-digest="file" \
--enable-auth-negotiate="wrapper" \
--enable-auth-ntlm="fake" \
--disable-strict-error-checking \
--enable-external-acl-helpers="file_userip" \
--with-logdir=/var/log/squid/ \
--with-pidfile=/var/run/squid.pid \
--with-swapdir=/var/cache/squid/ \
--with-default-user=squid
# Atomics in Squid use __sync built-ins on 4 and 8 bytes. However, the
# configure script tests them using AC_TRY_RUN, so we have to give
# some hints.
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4)$(BR2_TOOLCHAIN_HAS_SYNC_8),yy)
SQUID_CONF_ENV += squid_cv_gnu_atomics=yes
else
SQUID_CONF_ENV += squid_cv_gnu_atomics=no
endif
# On uClibc librt needs libpthread
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_TOOLCHAIN_USES_UCLIBC),yy)
SQUID_CONF_ENV += ac_cv_search_shm_open="-lrt -lpthread"
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
SQUID_CONF_OPTS += --with-openssl
SQUID_DEPENDENCIES += openssl
else
SQUID_CONF_OPTS += --without-openssl
endif
ifeq ($(BR2_PACKAGE_GNUTLS),y)
SQUID_CONF_OPTS += --with-gnutls
SQUID_DEPENDENCIES += gnutls
else
SQUID_CONF_OPTS += --without-gnutls
endif
define SQUID_CLEANUP_TARGET
rm -f $(addprefix $(TARGET_DIR)/usr/bin/, \
RunCache RunAccel)
rm -f $(addprefix $(TARGET_DIR)/etc/, \
cachemgr.conf mime.conf.default squid.conf.default)
endef
SQUID_POST_INSTALL_TARGET_HOOKS += SQUID_CLEANUP_TARGET
define SQUID_USERS
squid -1 squid -1 * - - - Squid proxy cache
endef
define SQUID_INSTALL_INIT_SYSV
$(INSTALL) -m 755 -D package/squid/S97squid \
$(TARGET_DIR)/etc/init.d/S97squid
endef
define SQUID_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/tools/systemd/squid.service \
$(TARGET_DIR)/usr/lib/systemd/system/squid.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -sf ../../../..//usr/lib/systemd/system/squid.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/squid.service
endef
$(eval $(autotools-package))