Package: debconf
Version: 1.4.30.13
Severity: normal

Hello,
/bin/sh on this system is dash, which shows this behavior:
----------
foo='\\Nblah' ; echo "$foo
\Nblah
----------

Please note the missing second backslash.

/usr/share/debconf/confmodule uses "echo" to pass values to debconf,
mangling \\ by this. I've stumbled upon this in exim4, with this code
used for debugging:

printf '%s\n' "Original ${dc_other_hostnames}" | logger
db_set exim4/dc_other_hostnames "${dc_other_hostnames}"
db_get exim4/dc_other_hostnames
printf '%s\n' "Debconf-db ${RET}" | logger        

This results in this output in syslog:
Apr 24 14:38:58 argenau logger: Original downhill.aus.cc:\\Nbar\\N
Apr 24 14:38:58 argenau logger: Debconf-db downhill.aus.cc:\Nbar\N

To test my guesswork I verified that this crude change indeed fixed
the problem:

--- /usr/share/debconf/confmodule       2005-04-24 14:42:33.202193496 +0200
+++ /tmp/confmodule     2005-04-24 14:42:26.746174960 +0200
@@ -30,7 +30,7 @@
 # Commands.
 
 _db_cmd () {
-       echo "$@" >&3
+       /bin/echo "$@" >&3

I _think_ the correct way to fix this is:
-       echo "$@" >&3
+       printf '%s\n' "$*" >&3

           thanks, cu andreas

PS: Thanks to Sam Hocevar and Lars Wirzenius for helping me on IRC
with this.

Versions of packages debconf depends on:
ii  debconf-i18n                  1.4.30.13  full internationalization support 
ii  perl-base                     5.8.4-8    The Pathologically Eclectic Rubbis

-- debconf information excluded
-- 
"See, I told you they'd listen to Reason," [SPOILER] Svfurlr fnlf,
fuhggvat qbja gur juveyvat tha.
Neal Stephenson in "Snow Crash"
                                           http://downhill.aus.cc/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to