mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
net/polipo: import 1.1.1 from packages
Signed-off-by: Gabriel Kerneis <gabriel@kerneis.info>
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2008-2011 OpenWrt.org
|
||||
|
||||
START=99
|
||||
|
||||
CFGFILE=/var/etc/polipo.conf
|
||||
|
||||
start() {
|
||||
config_load 'polipo'
|
||||
|
||||
config_get_bool enabled "general" 'enabled' '0'
|
||||
[ $enabled -gt 0 ] || return 1
|
||||
|
||||
mkdir -m 0755 -p /var/etc/
|
||||
echo '### AUTOGENERATED CONFIGURATION' > $CFGFILE
|
||||
echo '### DO NOT EDIT' >> $CFGFILE
|
||||
echo '### SEE /etc/config/polipo INSTEAD' >> $CFGFILE
|
||||
echo '' >> $CFGFILE
|
||||
|
||||
config_foreach polipo_config 'polipo'
|
||||
|
||||
# handle values that are disabled when not defined or empty
|
||||
echo "### VALUES THAT ARE DISABLED WHEN EMPTY" >> $CFGFILE
|
||||
polipo_atom "cache" "diskCacheRoot" '"' "1" >> $CFGFILE
|
||||
polipo_atom "general" "logFile" '"' "1" >> $CFGFILE
|
||||
polipo_atom "general" "localDocumentRoot" '"' "1" >> $CFGFILE
|
||||
|
||||
service_start /usr/sbin/polipo -c "$CFGFILE"
|
||||
}
|
||||
|
||||
stop() {
|
||||
service_stop /usr/sbin/polipo -c "$CFGFILE"
|
||||
}
|
||||
|
||||
polipo_config() {
|
||||
echo "### SECTION $1" >> $CFGFILE
|
||||
|
||||
string_options='authCredentials authRealm dnsNameServer forbiddenFile
|
||||
forbiddenUrl logFacility pidFile parentAuthCredentials parentProxy
|
||||
proxyAddress proxyName redirector socksParentProxy socksProxyType
|
||||
socksUserName uncachableFile'
|
||||
|
||||
number_options='bigBufferSize chunkCriticalMark chunkHighMark chunkLowMark
|
||||
diskCacheDirectoryPermissions diskCacheFilePermissions
|
||||
diskCacheTruncateSize diskCacheWriteoutOnClose forbiddenRedirectCode
|
||||
logFilePermissions logLevel maxDiskCacheEntrySize maxDiskEntries
|
||||
maxObjectsWhenIdle maxPipelineTrain maxSideBuffering maxWriteoutWhenIdle
|
||||
objectHashTableSize objectHighMark pmmFirstSize pmmSize proxyPort
|
||||
publicObjectLowMark redirectorRedirectCode replyUnpipelineSize
|
||||
serverMaxSlots serverSlots serverSlots1 maxAgeFraction'
|
||||
|
||||
time_options='clientTimeout diskCacheTruncateTime diskCacheUnlinkTime
|
||||
dnsGethostbynameTtl dnsMaxTimeout dnsNegativeTtl idleTime maxAge
|
||||
maxConnectionAge maxConnectionRequests maxExpiresAge maxNoModifiedAge
|
||||
replyUnpipelineTime serverExpireTime serverIdleTimeout serverTimeout
|
||||
smallRequestTime'
|
||||
|
||||
multistate_options='censorReferer dnsQueryIPv6 dnsUseGethostbyname
|
||||
dontTrustVaryETag expectContinue pipelineAdditionalRequests
|
||||
useTemporarySourceAddress relaxTransparency'
|
||||
|
||||
boolean_options='cacheIsShared daemonise disableConfiguration disableIndexing
|
||||
disableLocalInterface disableProxy disableServersList disableVia
|
||||
dontCacheCookies dontCacheRedirects logSyslog mindlesslyCacheVary
|
||||
preciseExpiry proxyOffline scrubLogs laxHttpParser'
|
||||
|
||||
string_list_options='allowedClients censoredHeaders'
|
||||
|
||||
number_list_options='allowedPorts tunnelAllowedPorts'
|
||||
|
||||
for option in $string_options; do
|
||||
polipo_atom "$1" "$option" '"' >> $CFGFILE
|
||||
done
|
||||
|
||||
for option in $number_options; do
|
||||
polipo_atom "$1" "$option" >> $CFGFILE
|
||||
done
|
||||
|
||||
for option in $time_options; do
|
||||
polipo_atom "$1" "$option" >> $CFGFILE
|
||||
done
|
||||
|
||||
for option in $multistate_options; do
|
||||
polipo_atom "$1" "$option" >> $CFGFILE
|
||||
done
|
||||
|
||||
for option in $boolean_options; do
|
||||
polipo_boolean "$1" "$option" >> $CFGFILE
|
||||
done
|
||||
|
||||
for option in $string_list_options; do
|
||||
polipo_list "$1" "$option" '"' >> $CFGFILE
|
||||
done
|
||||
|
||||
for option in $number_list_options; do
|
||||
polipo_list "$1" "$option" >> $CFGFILE
|
||||
done
|
||||
}
|
||||
|
||||
polipo_atom() {
|
||||
local SECTION=$1
|
||||
local OPTION=$2
|
||||
local QUOTE=$3
|
||||
local EMPTY_DISABLED=${4:-0}
|
||||
|
||||
config_get _value "$SECTION" "$OPTION"
|
||||
[ -n "$_value" -o "$EMPTY_DISABLED" -eq "1" ] && {
|
||||
echo "$OPTION = ${QUOTE}${_value}${QUOTE}"
|
||||
}
|
||||
}
|
||||
|
||||
polipo_boolean() {
|
||||
local SECTION=$1
|
||||
local OPTION=$2
|
||||
|
||||
config_get_bool _value "$SECTION" "$OPTION"
|
||||
[ -n "$_value" ] && {
|
||||
[ "$_value" -eq "1" ] && _value="true" || _value="false"
|
||||
echo "$OPTION = $_value"
|
||||
}
|
||||
}
|
||||
|
||||
polipo_list() {
|
||||
local SECTION=$1
|
||||
local OPTION=$2
|
||||
local QUOTE=$3
|
||||
|
||||
config_get _value "$SECTION" "$OPTION"
|
||||
|
||||
[ "$SECTION" = general ] && [ "$OPTION" = allowedClients ] && {
|
||||
case "$_value" in
|
||||
*127.0.0.1*) : ;;
|
||||
*) _value="127.0.0.1 $_value" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
[ -n "$_value" ] && {
|
||||
echo -n "$OPTION = "
|
||||
|
||||
local FIRST=1
|
||||
for entry in $_value; do
|
||||
[ "$FIRST" -ne "1" ] && echo -n ", " || FIRST=0
|
||||
|
||||
echo -n "${QUOTE}${entry}${QUOTE}"
|
||||
done
|
||||
|
||||
echo ''
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user