Package: tinyproxy
Version: 1.10.0-5
Severity: normal

Dear Maintainer,

after installing tinyproxy for the first time on Debian 11.1 (bullseye), I 
looked at the defaults or environment file /etc/default/tinyproxy. It contains 
the following comment:
> # If running under systemd, please make sure to uncomment
> # both variables below!
> #CONFIG="/etc/tinyproxy/tinyproxy.conf"
> #FLAGS="-c $CONFIG"

Ok, so I did just that and the result is that tinyproxy fails to start. The 
problem is that variables within variables are not expanded by systemd, so 
tinyproxy complains it cannot find the configuration file $CONFIG.

In addition, the file suggests to append more command arguments by appending 
the variable like so:
> FLAGS="$FLAGS ..."
That however will not work either for the same reason. So this entire 
defaults/environment file is broken for systemd.

I would suggest to change the systemd unit to execute:
ExecStart=/usr/bin/tinyproxy $CONFIG $FLAGS

and change the defaults file to something like this:
#CONFIG="-c /etc/tinyproxy/tinyproxy.conf"
#FLAGS="... extra options go here ..."

Even if both variables are commented out/unset or the environment file is not 
found, tinyproxy will start if there is a configuration file in the default 
location.
I'm still puzzled, however, about what extra options one would use in the FLAGS 
variable. tinyproxy doesn't have a lot of options according to the man page. 
The only useful options are "-c" and "-d" when tinyproxy is supposed to 
actually run. But "-d" won't work with the systemd service Type=forking 
directive. So, if someone wanted to use "-d" for debugging purposes they'd 
either have to change the systemd unit file (in which case they might as well 
just add the option there" or simply bypass systemd and start the executable 
directly. So the examples in /etc/default/tinyproxy might be simplified 
altogether...

Thanks and regards,

Timo


-- System Information:
Debian Release: 11.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-9-amd64 (SMP w/4 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages tinyproxy depends on:
ii  adduser        3.118
ii  logrotate      3.18.0-2
ii  lsb-base       11.1.0
ii  tinyproxy-bin  1.10.0-5

tinyproxy recommends no packages.

tinyproxy suggests no packages.

-- Configuration Files:
/etc/default/tinyproxy changed:
FLAGS="-c /etc/tinyproxy/tinyproxy.conf"

/etc/tinyproxy/tinyproxy.conf changed:
User tinyproxy
Group tinyproxy
Port 8443
Listen 192.168.122.10
Timeout 60
Syslog On
LogLevel Notice
PidFile "/run/tinyproxy/tinyproxy.pid"
MaxClients 3
MinSpareServers 1
MaxSpareServers 2
StartServers 1
MaxRequestsPerChild 0
Allow 192.168.218.10
ViaProxyName "tinyproxy"
Filter "/etc/tinyproxy/filter"
FilterDefaultDeny Yes
ConnectPort 443


-- no debconf information

Reply via email to