include $(TOPDIR)/rules.mk
PKG_NAME:=squid
-PKG_VERSION:=3.5.5
+PKG_VERSION:=3.5.6
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://www.squid-cache.org/Versions/v3/3.5/
-PKG_MD5SUM:=9a323a97753143ddd935aed58a0193ae
+PKG_MD5SUM:=93e18bd257857e35bb634ddb8a348563
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
define Package/squid
$(call Package/squid/Default)
MENU:=1
- DEPENDS:=+libopenssl +libpthread +librt +libltdl +libstdcpp +libgnutls
+ DEPENDS:=+libopenssl +libpthread +librt +libltdl +libstdcpp
TITLE:=full-featured Web proxy cache
endef
--enable-kill-parent-hack \
--disable-snmp \
--enable-ssl \
+ --enable-ssl-crtd \
--enable-cache-digests \
- --enable-auth \
- --enable-auth-basic \
- --enable-auth-ntlm \
- --enable-auth-negotiate \
- --enable-auth-digest \
--enable-linux-netfilter \
--disable-unlinkd \
--enable-x-accelerator-vary \
--with-pthreads \
--without-expat \
--without-libxml2 \
+ --without-gnutls \
--without-nettle \
--with-openssl=$(STAGING_DIR)/usr \
--enable-epoll \
CONFIGURE_VARS += \
ac_cv_header_linux_netfilter_ipv4_h=yes \
- ac_cv_epoll_works=yes
+ ac_cv_epoll_works=yes \
+ squid_cv_gnu_atomics=no
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/lib all
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/squid $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/usr/lib/squid
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/squid/ssl_crtd $(1)/usr/lib/squid
+
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/squid.config $(1)/etc/config/squid
access_log none
cache_log /dev/null
-cache_store_log /dev/null
+cache_store_log stdio:/dev/null
logfile_rotate 0
logfile_daemon /dev/null
option http_port '3128'
option coredump_dir '/tmp/squid'
option visible_hostname 'OpenWrt'
+ #option http_port_options 'intercept'
+ #option ssldb '/tmp/squid/ssldb'
+ #option ssldb_options '-M 4MB'
uci_validate_section squid squid "${1}" \
'config_file:string' \
'http_port:port:3128' \
+ 'http_port_options:string' \
+ 'ssldb:string' \
+ 'ssldb_options:string' \
'coredump_dir:string' \
'visible_hostname:string:OpenWrt' \
'pinger_enable:string:off'
}
start_service() {
- local config_file http_port coredump_dir visible_hostname pinger_enable
+ local config_file http_port http_port_options ssldb ssldb_options coredump_dir visible_hostname pinger_enable
validate_squid_section squid || {
echo "validation failed"
config_dir=$(dirname $CONFIGFILE)
[ -d $config_dir ] || mkdir -p $config_dir && chown nobody:nogroup $config_dir
[ -d $coredump_dir ] || mkdir -p $coredump_dir && chown nobody:nogroup $coredump_dir
+ [ "$ssldb" ] && ( [ -f "$ssldb"/size ] || /usr/lib/squid/ssl_crtd -c -s $ssldb && chown -R nobody:nogroup $ssldb )
cat $config_file > $CONFIGFILE
- echo http_port $http_port >> $CONFIGFILE
+ echo http_port $http_port $http_port_options >> $CONFIGFILE
echo coredump_dir $coredump_dir >> $CONFIGFILE
echo visible_hostname $visible_hostname >> $CONFIGFILE
echo pinger_enable $pinger_enable >> $CONFIGFILE
+ [ "$ssldb" ] && echo sslcrtd_program /usr/lib/squid/ssl_crtd -s $ssldb $ssldb_options >> $CONFIGFILE
+ $PROG -s -f $CONFIGFILE -N -z 2>/dev/null
procd_open_instance
procd_set_param command $PROG -s -f $CONFIGFILE -N