[Pkg-cryptsetup-devel] Bug#304399: marked as done (cryptsetup: wrong parsing of options in cryptdisks)

Debian Bug Tracking System owner at bugs.debian.org
Fri Jan 27 23:48:17 UTC 2006


Your message dated Sat, 28 Jan 2006 00:42:04 +0100
with message-id <20060127234204.GE16437 at freesources.org>
and subject line fixed
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 12 Apr 2005 21:28:50 +0000
>From debdev at mennucci.sns.it Tue Apr 12 14:28:48 2005
Return-path: <debdev at mennucci.sns.it>
Received: from cibs10.sns.it (reed.sns.it) [192.167.206.30] 
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1DLSwB-0008FA-00; Tue, 12 Apr 2005 14:28:47 -0700
Received: from [192.167.206.31] (helo=sns.it)
	by reed.sns.it with esmtp (Exim 3.35 #1 (Debian))
	id 1DLT3M-0007Ec-00
	for <submit at bugs.debian.org>; Tue, 12 Apr 2005 23:36:12 +0200
X-Virus-Scanned: by cgpav
Received: from [82.51.137.166] (account a.mennucci HELO localhost)
  by sns.it (CommuniGate Pro SMTP 4.1.8)
  with ESMTP-TLS id 31854801 for submit at bugs.debian.org; Tue, 12 Apr 2005 23:32:53 +0200
Received: from debdev by localhost with local (Exim 4.50)
	id 1DLRTl-0002IZ-Ol
	for submit at bugs.debian.org; Tue, 12 Apr 2005 21:55:21 +0200
Date: Tue, 12 Apr 2005 21:55:21 +0200
From: A Mennucc <mennucc1 at debian.org>
To: Debian Bug Tracking System <submit at bugs.debian.org>
Subject: cryptsetup: wrong parsing of options in cryptdisks
Message-ID: <20050412195521.GA8375 at mennucci.sns.it>
Reply-To: mennucc1 at debian.org
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="ZfOjI3PrQbgiZnxM"
Content-Disposition: inline
X-Reportbug-Version: 3.8
Mail-Followup-To: mennucc1 at debian.org
User-Agent: Mutt/1.5.6+20040907i
Delivered-To: submit at bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-3.0 required=4.0 tests=BAYES_00 autolearn=no 
	version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 


--ZfOjI3PrQbgiZnxM
Content-Type: multipart/mixed; boundary="EeQfGwPcQSOJBaQU"
Content-Disposition: inline


--EeQfGwPcQSOJBaQU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: cryptsetup
Version: 20050111-3
Severity: normal

hi

I had mentioned this bug in bug 290626:
there is an error in the parsing of the options in crypttab:
 if an option does not have a value, the variable VALUE should be empty,
but it is not.

Since I want to be precise, I want to explain the problem here.

Here is how you can check the bug. Save the attachments in /tmp . Then=20
$ cd /tmp
$ cp /etc/init.d/cryptdisks /tmp
$ patch < cryptdisks-test.diff
$ ./cryptdisks start
(it will run on crypttab-test ).

The output will be
vvvvvvvvvvvvvvvvv
/sbin/dmsetup mknodes
Starting crypto disks: A(starting)...
PARAM size VALUE 1
PARAM cipher VALUE blah
/sbin/cryptsetup -s 1 -c blah create A /dev/A
 B(starting)...
PARAM size VALUE size
PARAM cipher VALUE cipher
/sbin/cryptsetup -s size -c cipher create B /dev/B
=2E
^^^^^^^^^^^^^^^^^^^^^^^^^^^


As you see, the VALUE variable is not empty, even when an option is=20
not provided. Moreover, when the option is not given, cryptdisks
should print  " - no value for size option, skipping" , and it does not.

I provide the specific patch for this problem. With this patch,
the output is
vvvvvvvvvvvvvvvvvvvvvvvvvv
$ ./cryptdisks start
/sbin/dmsetup mknodes
Starting crypto disks: A(starting)...
PARAM size VALUE 1
PARAM cipher VALUE blah
/sbin/cryptsetup -s 1 -c blah create A /dev/A
 B(starting)...
PARAM size VALUE
 - no value for size option, skipping
PARAM cipher VALUE
 - no value for cipher option, skipping
=2E
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

(The patch for 290626 will include this one - it would not work
without)

a.

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (650, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-k7
Locale: LANG=3DC, LC_CTYPE=3DC (charmap=3DANSI_X3.4-1968)

Versions of packages cryptsetup depends on:
ii  dmsetup                     2:1.01.00-4  The Linux Kernel Device Mapper=
 use
ii  libc6                       2.3.2.ds1-20 GNU C Library: Shared librarie=
s an
ii  libdevmapper1.01            2:1.01.00-4  The Linux Kernel Device Mapper=
 use
ii  libgcrypt11                 1.2.0-4      LGPL Crypto library - runtime =
libr
ii  libgpg-error0               1.0-1        library for common error value=
s an
ii  libpopt0                    1.7-5        lib for parsing cmdline parame=
ters

-- no debconf information

--=20
Andrea Mennucc
 "E' un mondo difficile. Che vita intensa!" (Tonino Carotone)

--EeQfGwPcQSOJBaQU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="cryptdisks-test.diff"
Content-Transfer-Encoding: quoted-printable

--- /etc/init.d/cryptdisks	2005-03-08 17:50:44.000000000 +0100
+++ cryptdisks-test	2005-04-12 20:30:08.437383408 +0200
@@ -3,14 +3,14 @@
 # cryptodisks	Now that all block devices should be available, setup
 #		encrypted block devices
=20
-CRYPTCMD=3D/sbin/cryptsetup
-DEVMAPCMD=3D/sbin/dmsetup
-TABFILE=3D/etc/crypttab
+CRYPTCMD=3D"echo /sbin/cryptsetup"
+DEVMAPCMD=3D"echo /sbin/dmsetup"
+TABFILE=3Dcrypttab.test
 MAPPER=3D/dev/mapper
=20
-test -x $CRYPTCMD  || exit 0
-test -x $DEVMAPCMD || exit 0
-test -f $TABFILE   || exit 0            =20
+#test -x $CRYPTCMD  || exit 0
+#test -x $DEVMAPCMD || exit 0
+#test -f $TABFILE   || exit 0            =20
=20
 [ -r /etc/default/cryptdisks ] && . /etc/default/cryptdisks
=20
@@ -67,7 +67,7 @@
 				opt=3D${opt##,}
 				PARAM=3D`echo $ARG | sed "s/=3D.*//"`
 				VALUE=3D${ARG##$PARAM=3D}
-			=09
+				echo PARAM $PARAM VALUE $VALUE
 				case "$PARAM" in=20
 					readonly)
 						PARAM=3D-r

--EeQfGwPcQSOJBaQU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="crypttab.test"

# <target device> <source device> <key file> <options>
A /dev/A  none size=1,cipher=blah
B /dev/B  none size,cipher



--EeQfGwPcQSOJBaQU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="cryptdisks-value-ok.diff"
Content-Transfer-Encoding: quoted-printable

--- /etc/init.d/cryptdisks	2005-03-08 17:50:44.000000000 +0100
+++ cryptdisks-value-ok	2005-04-12 21:43:19.741803664 +0200
@@ -62,12 +62,19 @@
 			# Parse the options field, convert to cryptsetup parameters
                         # and contruct the command line
 			while test "x$opt" !=3D "x" ; do
-				ARG=3D`echo $opt | sed "s/,.*//"`
+				ARG=3D${opt/,*}
 				opt=3D${opt##$ARG}
 				opt=3D${opt##,}
-				PARAM=3D`echo $ARG | sed "s/=3D.*//"`
-				VALUE=3D${ARG##$PARAM=3D}
-			=09
+                                case $ARG in
+                                   *=3D*)
+                                       PARAM=3D${ARG/=3D*}
+                                       VALUE=3D${ARG##$PARAM=3D}
+                                       ;;
+                                   *)
+                                       PARAM=3D$ARG
+                                       VALUE=3D""
+				       ;;
+                                esac
 				case "$PARAM" in=20
 					readonly)
 						PARAM=3D-r

--EeQfGwPcQSOJBaQU--

--ZfOjI3PrQbgiZnxM
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCXCep9B/tjjP8QKQRApskAJ9tY5rJHl/TzE0h3QhtR79xfLFBTgCgnfkY
denPEpDD9ASo4D+RYJ4J2KI=
=SnfX
-----END PGP SIGNATURE-----

--ZfOjI3PrQbgiZnxM--

---------------------------------------
Received: (at 304399-done) by bugs.debian.org; 27 Jan 2006 23:42:02 +0000
>From jonas at freesources.org Fri Jan 27 15:42:02 2006
Return-path: <jonas at freesources.org>
Received: from [62.75.133.58] (helo=diana50.kidns.de)
	by spohr.debian.org with esmtp (Exim 4.50)
	id 1F2dE9-0001FS-UF
	for 304399-done at bugs.debian.org; Fri, 27 Jan 2006 15:42:02 -0800
Received: from dslb-084-058-128-193.pools.arcor-ip.net ([84.58.128.193] helo=resivo.wgnet.de)
	by diana50.kidns.de with esmtpsa (TLS-1.0:RSA_AES_256_CBC_SHA:32)
	(Exim 4.50)
	id 1F2dDw-0002bQ-PB
	for 304399-done at bugs.debian.org; Sat, 28 Jan 2006 00:41:48 +0100
Received: from jonas by resivo.wgnet.de with local (Exim 4.60)
	(envelope-from <jonas at freesources.org>)
	id 1F2dEC-0004sC-9k
	for 304399-done at bugs.debian.org; Sat, 28 Jan 2006 00:42:04 +0100
Date: Sat, 28 Jan 2006 00:42:04 +0100
From: Jonas Meurer <jonas at freesources.org>
To: 304399-done at bugs.debian.org
Message-ID: <20060127234204.GE16437 at freesources.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.11
X-SA-Exim-Connect-IP: 84.58.128.193
X-SA-Exim-Mail-From: jonas at freesources.org
Subject: fixed
X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100)
X-SA-Exim-Scanned: Yes (on diana50.kidns.de)
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-2.0 required=4.0 tests=BAYES_00,ONEWORD autolearn=no 
	version=2.60-bugs.debian.org_2005_01_02

Hello,

this bug has been fixed in 2:1.0.1-12

...
 jonas



More information about the Pkg-cryptsetup-devel mailing list