| Summary: | pdns_recursor rec_control function is broken when chroot is enabled | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Jefferson Noxon <jeff-gentoo> |
| Component: | New packages | Assignee: | Sven Wegener <swegener> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Jefferson Noxon
2007-06-08 19:58:15 UTC
I know that rec_control is broken. The main problem is that the recursor uses datagram sockets. When using stream sockets the recursor could pass the answer back the same way the request came in. I initially wrote the init script stop action with "rec_control quit" until I noticed that the chroot support breaks it. IMHO a chroot'ed daemon shouldn't need to open back a connection to the outside of the chroot. In an ideal world the recursor would only need an empty directory for chroot, hence the current uhm "historic" default is /var/empty. I updated the package. The chroot directory is now /var/lib/powerdns, statedir is /var/run/powerdns, being a symlink to /var/lib/powerdns/var/run/powerdns. Init script now uses rec_control quit to stop the recursor and also has a ping command. Thanks! I updated it once more. Our bootmisc init script will remove the symlink in /var/run during boot. I now made the state and chroot directory /var/lib/powerdns and /var/lib/powerdns/var/lib/powerdns a symlink to ../.. Not really clean, but that's the way it is. :( |