1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2008-2011 OpenWrt.org
6 CFGFILE=/var/etc/polipo.conf
11 config_get_bool enabled "general" 'enabled' '0'
12 [ $enabled -gt 0 ] || return 1
14 mkdir -m 0755 -p /var/etc/
15 echo '### AUTOGENERATED CONFIGURATION' > $CFGFILE
16 echo '### DO NOT EDIT' >> $CFGFILE
17 echo '### SEE /etc/config/polipo INSTEAD' >> $CFGFILE
20 config_foreach polipo_config 'polipo'
22 # handle values that are disabled when not defined or empty
23 echo "### VALUES THAT ARE DISABLED WHEN EMPTY" >> $CFGFILE
24 polipo_atom "cache" "diskCacheRoot" '"' "1" >> $CFGFILE
25 polipo_atom "general" "logFile" '"' "1" >> $CFGFILE
26 polipo_atom "general" "localDocumentRoot" '"' "1" >> $CFGFILE
28 service_start /usr/sbin/polipo -c "$CFGFILE"
32 service_stop /usr/sbin/polipo -c "$CFGFILE"
36 echo "### SECTION $1" >> $CFGFILE
38 string_options='authCredentials authRealm dnsNameServer forbiddenFile
39 forbiddenUrl logFacility pidFile parentAuthCredentials parentProxy
40 proxyAddress proxyName redirector socksParentProxy socksProxyType
41 socksUserName uncachableFile'
43 number_options='bigBufferSize chunkCriticalMark chunkHighMark chunkLowMark
44 diskCacheDirectoryPermissions diskCacheFilePermissions
45 diskCacheTruncateSize diskCacheWriteoutOnClose forbiddenRedirectCode
46 logFilePermissions logLevel maxDiskCacheEntrySize maxDiskEntries
47 maxObjectsWhenIdle maxPipelineTrain maxSideBuffering maxWriteoutWhenIdle
48 objectHashTableSize objectHighMark pmmFirstSize pmmSize proxyPort
49 publicObjectLowMark redirectorRedirectCode replyUnpipelineSize
50 serverMaxSlots serverSlots serverSlots1 maxAgeFraction'
52 time_options='clientTimeout diskCacheTruncateTime diskCacheUnlinkTime
53 dnsGethostbynameTtl dnsMaxTimeout dnsNegativeTtl idleTime maxAge
54 maxConnectionAge maxConnectionRequests maxExpiresAge maxNoModifiedAge
55 replyUnpipelineTime serverExpireTime serverIdleTimeout serverTimeout
58 multistate_options='censorReferer dnsQueryIPv6 dnsUseGethostbyname
59 dontTrustVaryETag expectContinue pipelineAdditionalRequests
60 useTemporarySourceAddress'
62 boolean_options='cacheIsShared daemonise disableConfiguration disableIndexing
63 disableLocalInterface disableProxy disableServersList disableVia
64 dontCacheCookies dontCacheRedirects logSyslog mindlesslyCacheVary
65 preciseExpiry proxyOffline scrubLogs laxHttpParser'
67 string_list_options='allowedClients censoredHeaders'
69 number_list_options='allowedPorts tunnelAllowedPorts'
71 for option in $string_options; do
72 polipo_atom "$1" "$option" '"' >> $CFGFILE
75 for option in $number_options; do
76 polipo_atom "$1" "$option" >> $CFGFILE
79 for option in $time_options; do
80 polipo_atom "$1" "$option" >> $CFGFILE
83 for option in $multistate_options; do
84 polipo_atom "$1" "$option" >> $CFGFILE
87 for option in $boolean_options; do
88 polipo_boolean "$1" "$option" >> $CFGFILE
91 for option in $string_list_options; do
92 polipo_list "$1" "$option" '"' >> $CFGFILE
95 for option in $number_list_options; do
96 polipo_list "$1" "$option" >> $CFGFILE
104 local EMPTY_DISABLED=${4:-0}
106 config_get _value "$SECTION" "$OPTION"
107 [ -n "$_value" -o "$EMPTY_DISABLED" -eq "1" ] && {
108 echo "$OPTION = ${QUOTE}${_value}${QUOTE}"
116 config_get_bool _value "$SECTION" "$OPTION"
117 [ -n "$_value" ] && {
118 [ "$_value" -eq "1" ] && _value="true" || _value="false"
119 echo "$OPTION = $_value"
128 config_get _value "$SECTION" "$OPTION"
130 [ "$SECTION" = general ] && [ "$OPTION" = allowedClients ] && {
133 *) _value="127.0.0.1 $_value" ;;
137 [ -n "$_value" ] && {
141 for entry in $_value; do
142 [ "$FIRST" -ne "1" ] && echo -n ", " || FIRST=0
144 echo -n "${QUOTE}${entry}${QUOTE}"