landscape-client should sanitize environment and close file descriptors on startup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Landscape Client |
Fix Released
|
High
|
Christopher Armstrong | ||
Landscape Server |
Fix Released
|
High
|
Christopher Armstrong | ||
landscape-client (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jaunty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
We came across a situation in ls3 where the parent landscape-client environment had a DEBIAN_HAS_FRONTEND variable set. This came from a previous upgrade where landscape-client itself was upgraded and restarted, inheriting this variable from dpkg.
landscape-client should clean these variables on startup as they can mess up with subsequent package activities. In the ls3 case, dpkg got stuck. This was suggested:
<cjwatson> andreas: I think I would probably recommend iterating over the environment and unsetting anything that starts with DEBIAN_ or DEBCONF_
<cjwatson> if you want to be more selective, then DEBCONF_* plus DEBIAN_FRONTEND, DEBIAN_
Oops, and don't forget LANDSCAPE_
Changed in landscape-client: | |
importance: | Undecided → High |
Changed in landscape: | |
importance: | Undecided → High |
milestone: | none → mountainview-pre-8 |
description: | updated |
Changed in landscape-client: | |
milestone: | none → 1.0.29 |
Changed in landscape: | |
status: | Fix Committed → Fix Released |
Changed in landscape: | |
milestone: | mountainview-pre-8 → mountainview |
status: | Fix Released → Fix Committed |
Changed in landscape: | |
status: | Fix Committed → Fix Released |
Changed in landscape-client: | |
status: | Fix Committed → Fix Released |
closing the FDs is proving to be a bit tricky, and now I'm wondering if it's really necessary. Surely shells don't allow their FDs (other than STDIO) to be inherited by the children? How exactly could the debconf FD get into the landscape-client process?