Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 932744 - net-proxy/squid - init script incorrectly determines pidfile when chroot is enabled
Summary: net-proxy/squid - init script incorrectly determines pidfile when chroot is e...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Hank Leininger
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-05-25 18:14 UTC by Hank Leininger
Modified: 2024-05-26 11:29 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hank Leininger 2024-05-25 18:14:58 UTC
net-proxy/squid/files/squid.initd-r6 attempts to derive the pidfile path from reading the service's config file:

squid.initd-r6: local PIDFILE=$(cat ${CONFFILES} 2>/dev/null 3>/dev/null | awk '/^[ \t]*pid_filename[ \t]+/ { print $2 }')
...
squid.initd-r6: [ -z ${PIDFILE} ] && PIDFILE=/run/squid.pid
...

However, if squid.conf enables chroot ("chroot /var/chroot/squid" or whatnot), then that pid_filename will be relative to the chroot top. We don't account for that so we are looking in the wrong place.

Calling reload, rotate functions just calls squid -k ... and it reads the config correctly and does the right thing. stop() starts out doing the right thing too (calls squid -k shutdown), but then when we loop waiting for squid to exit (cleanup can take a while), we are watching for the pidfile in the wrong place and quit waiting immediately.

I think this bug has been present ever since pid_filename extraction was added in 2009.