squid: initial import from old-packages

Signed-off-by: Luka Perkov <luka@openwrt.org>
This commit is contained in:
Luka Perkov 2015-01-04 22:52:05 +01:00
parent b206a14bd8
commit 3df768771f
6 changed files with 311 additions and 0 deletions

132
net/squid/Makefile Normal file
View File

@ -0,0 +1,132 @@
#
# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=squid
PKG_VERSION:=3.4.10
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Luka Perkov <luka@openwrt.org>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://www.squid-cache.org/Versions/v3/3.4/
PKG_MD5SUM:=3136edfe9bc2458e725671b0d2455702
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/squid/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
URL:=http://www.squid-cache.org/
endef
define Package/squid
$(call Package/squid/Default)
MENU:=1
DEPENDS:=+libopenssl +libpthread +librt +libltdl +libstdcpp
TITLE:=full-featured Web proxy cache
endef
define Package/squid/description
Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more.
It reduces bandwidth and improves response times by caching and reusing
frequently-requested web pages.
endef
define Package/squid-mod-cachemgr
$(call Package/squid/Default)
DEPENDS:=squid
TITLE:=Web based proxy manager and reporting tool
endef
CONFIGURE_ARGS += \
--config-cache \
--datadir=/usr/share/squid \
--libexecdir=/usr/lib/squid \
--sysconfdir=/etc/squid \
--enable-shared \
--disable-static \
--enable-icmp \
--enable-delay-pools \
--enable-icap-client \
--enable-kill-parent-hack \
--disable-snmp \
--enable-ssl \
--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 \
--disable-translation \
--disable-auto-locale \
--with-dl \
--with-pthreads \
--without-expat \
--without-libxml2 \
--without-nettle \
--with-openssl=$(STAGING_DIR)/usr \
--enable-epoll \
--with-maxfd=4096 \
--disable-external-acl-helpers \
--disable-auth-negotiate \
--disable-auth-ntlm \
--disable-auth-digest \
--disable-auth-basic \
--disable-arch-native \
--with-krb5-config=no \
--without-libcap
CONFIGURE_VARS += \
ac_cv_header_linux_netfilter_ipv4_h=yes \
ac_cv_epoll_works=yes \
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/lib \
all
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(PKG_INSTALL_DIR)" \
install
endef
define Package/squid/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/squid $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/squid.config $(1)/etc/config/squid
$(INSTALL_DIR) $(1)/etc/squid
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/squid/mime.conf $(1)/etc/squid/
$(INSTALL_CONF) ./files/squid.conf $(1)/etc/squid/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) ./files/squid.init $(1)/etc/init.d/squid
$(INSTALL_DIR) $(1)/usr/share/squid/icons/
$(CP) $(PKG_INSTALL_DIR)/usr/share/squid/icons/* $(1)/usr/share/squid/icons/
$(INSTALL_DIR) $(1)/usr/share/squid/errors/templates/
$(CP) $(PKG_INSTALL_DIR)/usr/share/squid/errors/templates/* $(1)/usr/share/squid/errors/templates/
endef
define Package/squid-mod-cachemgr/install
$(INSTALL_DIR) $(1)/www/cgi-bin/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/squid/cachemgr.cgi $(1)/www/cgi-bin/
endef
$(eval $(call BuildPackage,squid))
$(eval $(call BuildPackage,squid-mod-cachemgr))

View File

@ -0,0 +1,44 @@
acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10
acl ssl_ports port 443
acl safe_ports port 80
acl safe_ports port 21
acl safe_ports port 443
acl safe_ports port 70
acl safe_ports port 210
acl safe_ports port 1025-65535
acl safe_ports port 280
acl safe_ports port 488
acl safe_ports port 591
acl safe_ports port 777
acl connect method connect
http_access deny !safe_ports
http_access deny connect !ssl_ports
http_access allow localhost manager
http_access deny manager
http_access deny to_localhost
http_access allow localnet
http_access allow localhost
http_access deny all
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
access_log none
cache_log /dev/null
cache_store_log /dev/null
logfile_rotate 0
logfile_daemon /dev/null

View File

@ -0,0 +1,5 @@
config squid 'squid'
option config_file '/etc/squid/squid.conf'
option http_port '3128'
option coredump_dir '/tmp/squid'
option visible_hostname 'OpenWrt'

View File

@ -0,0 +1,52 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org
START=90
STOP=10
USE_PROCD=1
PROG=/usr/sbin/squid
CONFIGFILE="/tmp/squid/squid.conf"
validate_squid_section() {
uci_validate_section squid squid "${1}" \
'config_file:string' \
'http_port:port:3128' \
'coredump_dir:string' \
'visible_hostname:string:OpenWrt' \
'pinger_enable:string:off'
}
start_service() {
local config_file http_port coredump_dir visible_hostname pinger_enable
validate_squid_section squid || {
echo "validation failed"
return 1
}
mkdir -p $(dirname $CONFIGFILE)
cat $config_file > $CONFIGFILE
echo http_port $http_port >> $CONFIGFILE
echo coredump_dir $coredump_dir >> $CONFIGFILE
echo visible_hostname $visible_hostname >> $CONFIGFILE
echo pinger_enable $pinger_enable >> $CONFIGFILE
procd_open_instance
procd_set_param command $PROG -s -f $CONFIGFILE -N
procd_set_param file $CONFIGFILE
procd_set_param respawn
procd_close_instance
}
stop_service()
{
${PROG} -f $CONFIGFILE -N -k shutdown 2>/dev/null
}
service_triggers()
{
procd_add_reload_trigger "squid"
procd_add_validation validate_squid_section
}

View File

@ -0,0 +1,49 @@
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -7742,7 +7742,7 @@ cache_cf.o: cf_parser.cci
# cf_gen builds the configuration files.
cf_gen$(EXEEXT): $(cf_gen_SOURCES) $(cf_gen_DEPENDENCIES) cf_gen_defines.cci
- $(HOSTCXX) -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
+ g++ -o $@ $(srcdir)/cf_gen.cc -I$(srcdir) -I$(top_builddir)/include/ -I$(top_builddir)/src
# squid.conf.default is built by cf_gen when making cf_parser.cci
squid.conf.default squid.conf.documented: cf_parser.cci
--- a/configure
+++ b/configure
@@ -22223,7 +22223,7 @@ $as_echo_n "checking whether the SSL_get
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
+_as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -22271,7 +22271,7 @@ $as_echo_n "checking whether the workaro
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
+_as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -24921,7 +24921,7 @@ else
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
+_as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -24946,7 +24946,7 @@ else
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
+_as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext

View File

@ -0,0 +1,29 @@
--- a/src/mime.conf.default
+++ b/src/mime.conf.default
@@ -1,19 +1,3 @@
-# This file associates filename extensions (for servers or services
-# that don't automatically include them - like ftp) with a mime type
-# and a graphical icon.
-#
-#
-# This file has the format :
-# regex content-type icon content-encoding transfer-mode
-#-----------------------------------------------------------------------------------
-#
-#
-# Content-Encodings are taken from section 3.1 of RFC2068 (HTTP/1.1)
-#
-#
-#
-# regexp content-type icon encoding mode actions
-#--------------------------------------------------------------------------------------------------------
\.gif$ image/gif silk/image.png - image +download
\.mime$ www/mime silk/page_white_text.png - ascii +download
^internal-dirup$ - silk/arrow_up.png - -
@@ -190,6 +174,4 @@
\.xml$ text/xml silk/page_world.png - ascii +download
\.xsl$ text/xml silk/layout.png - ascii +download
\.xyz$ chemical/x-xyz silk/chart_line.png - image +download
-
-# the default
. text/plain silk/bullet_red.png - image +download +view