* Petter Reinholdtsen <p...@hungry.com> [Don Feb 25, 2010 at 07:01:43 +0100]:
> I suspect this issue was solved when portmap version 6.0.0-2, but am
> unsure if it is true.  Please test and see if the issue is solved.

Nope it's not fully solved yet.

Executing "dpkg-reconfigure portmap" in interactive mode and
answering "Should portmap be bound to the loopback address?" with
"yes" results in OPTIONS="-i 127.0.0.1" in /etc/default/portmap as
expected.

But executing:

  echo "portmap portmap/loopback boolean false" | debconf-set-selections
  dpkg-reconfigure --frontend=noninteractive portmap

then results again in OPTIONS="-i 127.0.0.1" in /etc/default/portmap.

Demonstration:

,---- [ broken reconfigure ]
| # echo "portmap portmap/loopback boolean true" | debconf-set-selections
| # debconf-get-selections   | grep 'portmap.*boolean'
| portmap portmap/loopback        boolean true
| # dpkg-reconfigure --frontend=noninteractive portmap
| Stopping portmap daemon....
| Starting portmap daemon....
| # debconf-get-selections   | grep 'portmap.*boolean'
| portmap portmap/loopback        boolean false
`----

And the other way arround:

,---- [ broken reconfigure ]
| # echo "portmap portmap/loopback boolean false" | debconf-set-selections
| # debconf-get-selections   | grep 'portmap.*boolean'
| portmap portmap/loopback        boolean false
| # dpkg-reconfigure --frontend=noninteractive portmap
| Stopping portmap daemon....
| Starting portmap daemon....
| # debconf-get-selections   | grep 'portmap.*boolean'
| portmap portmap/loopback        boolean true
`----

So the portmap/loopback value is just being toggled, no matter
what's configured in debconf database.

The problem is located in /var/lib/dpkg/info/portmap.config:

,---- [ debugging mode ]
| # export DEBCONF_DEBUG=developer
| # dpkg-reconfigure --frontend=noninteractive portmap
| Stopping portmap daemon....
| debconf (developer): starting /var/lib/dpkg/info/portmap.config reconfigure 
6.0.0-2
| debconf (developer): <-- SET portmap/loopback true
| debconf (developer): --> 0 value set
| debconf (developer): <-- INPUT medium portmap/loopback
| debconf (developer): --> 30 question skipped
| debconf (developer): <-- GO
| debconf (developer): --> 0 ok
| debconf (developer): starting /var/lib/dpkg/info/portmap.postinst configure 
6.0.0-2
| debconf (developer): <-- GET portmap/loopback
| debconf (developer): --> 0 true
| debconf (developer): <-- STOP
| Starting portmap daemon....
`----

So the config script uses the value from /etc/default/portmap
and then just overrides the value in debconf database instead
of querying debconf before.

regards,
-mika-

Attachment: signature.asc
Description: Digital signature

Reply via email to