[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#772596: asking for pre-approval: unblock: cryptsetup/2:1.6.6-4



Control: tags -1 -moreinfo

Hi,

I finally uploaded the packages to unstable today, please consider to
unblock them for jessie. I added one more bugfix that I consider
important for jessie: The fix for #768407 - which is a regression
introduced by the systemd functions in askpass.c.

Full changelog follows, debdiff attached.

Cheers,
 jonas

cryptsetup (2:1.6.6-4) unstable; urgency=medium

  [ Simon McVittie ]
  * debian/initramfs/cryptroot-script: decrypt /usr as well as / so that
    split-/usr will work with initramfs-tools (>= 0.118). (closes: #767832)

  [ Jonas Meurer ]
  * debian/cryptdisks.funcctions: check for cryptdisks-udev initscript
before
    actually invoking 'status' on it. It's only useful in ubuntu+upstart
    environment anyway. (closes: #764564)
  * debian/askpas.c: fix systemd_read() to really strip trailing newline
from
    input. Thanks to Quentin Lefebvre for report and patch. (closes:
#768407)

 -- Jonas Meurer <mejo@debian.org>  Wed, 17 Dec 2014 14:24:41 +0100



diff -Nru cryptsetup-1.6.6/debian/askpass.c cryptsetup-1.6.6/debian/askpass.c
--- cryptsetup-1.6.6/debian/askpass.c	2014-08-19 22:57:14.000000000 +0200
+++ cryptsetup-1.6.6/debian/askpass.c	2014-12-17 14:24:39.000000000 +0100
@@ -195,13 +195,13 @@
 {
 	debug("In systemd_read\n");
 	if (fifo_common_read(fd, &systemdbuf, &systemdused, &systemdsize)) {
-		*buf = systemdbuf;
-		*size = systemdused;
 		/* systemd likes to include the terminating newline */
-		if (systemdused > 1 && systemdbuf[systemdused - 1] == '\n') {
+		if (systemdused >= 1 && systemdbuf[systemdused - 1] == '\n') {
 			systemdbuf[systemdused - 1] = '\0';
 			systemdused--;
 		}
+		*buf = systemdbuf;
+		*size = systemdused;
 		return true;
 	}
 
diff -Nru cryptsetup-1.6.6/debian/changelog cryptsetup-1.6.6/debian/changelog
--- cryptsetup-1.6.6/debian/changelog	2014-10-22 19:28:59.000000000 +0200
+++ cryptsetup-1.6.6/debian/changelog	2014-12-17 14:28:42.000000000 +0100
@@ -1,3 +1,18 @@
+cryptsetup (2:1.6.6-4) unstable; urgency=medium
+
+  [ Simon McVittie ]
+  * debian/initramfs/cryptroot-script: decrypt /usr as well as / so that
+    split-/usr will work with initramfs-tools (>= 0.118). (closes: #767832)
+
+  [ Jonas Meurer ]
+  * debian/cryptdisks.funcctions: check for cryptdisks-udev initscript before
+    actually invoking 'status' on it. It's only useful in ubuntu+upstart
+    environment anyway. (closes: #764564)
+  * debian/askpas.c: fix systemd_read() to really strip trailing newline from
+    input. Thanks to Quentin Lefebvre for report and patch. (closes: #768407)
+
+ -- Jonas Meurer <mejo@debian.org>  Wed, 17 Dec 2014 14:24:41 +0100
+
 cryptsetup (2:1.6.6-3) unstable; urgency=medium
 
   * debian/initramfs/cryptroot-script: fix environment variable $CRYPTTAB_TRIED
diff -Nru cryptsetup-1.6.6/debian/cryptdisks.functions cryptsetup-1.6.6/debian/cryptdisks.functions
--- cryptsetup-1.6.6/debian/cryptdisks.functions	2014-09-21 15:09:03.000000000 +0200
+++ cryptsetup-1.6.6/debian/cryptdisks.functions	2014-12-08 22:58:47.000000000 +0100
@@ -750,8 +750,7 @@
 		# will just be a no-op, but we don't want to defer to the
 		# other job entirely because this is the fallback for fixing
 		# up any ordering-dependent decrypting.
-		while status cryptdisks-udev DEVNAME="$dev_match" 2>&1 | grep -q 'start'
-		do
+		invoke-rc.d --quiet cryptdisks-udev status && while status cryptdisks-udev DEVNAME="$dev_match" 2>&1 | grep -q 'start'; do
 			sleep 1
 		done
 		handle_crypttab_line_start "$dst" "$src" "$key" "$opts" <&3 || log_action_end_msg $?
diff -Nru cryptsetup-1.6.6/debian/initramfs/cryptroot-hook cryptsetup-1.6.6/debian/initramfs/cryptroot-hook
--- cryptsetup-1.6.6/debian/initramfs/cryptroot-hook	2014-10-02 13:20:55.000000000 +0200
+++ cryptsetup-1.6.6/debian/initramfs/cryptroot-hook	2014-12-08 21:59:51.000000000 +0100
@@ -16,8 +16,9 @@
 
 . /usr/share/initramfs-tools/hook-functions
 
-get_root_devices() {
+get_fs_devices() {
 	local device mount type options dump pass
+	local wantmount="$1"
 
 	if [ ! -r /etc/fstab ]; then
 		return 1
@@ -25,7 +26,7 @@
 
 	grep -s '^[^#]' /etc/fstab | \
 	while read device mount type options dump pass; do
-		if [ "$mount" = "/" ]; then
+		if [ "$mount" = "$wantmount" ]; then
 			local devices
 			if [ "$type" = "btrfs" ]; then
 				for dev in $(btrfs filesystem show $(canonical_device "$device" --no-simplify) 2>/dev/null | sed -r -e 's/.*devid .+ path (.+)/\1/;tx;d;:x') ; do
@@ -611,6 +612,7 @@
 
 setup="no"
 rootdevs=""
+usrdevs=""
 resumedevs=""
 
 # Include cryptsetup modules, regardless of _this_ machine
@@ -621,16 +623,17 @@
 
 # Find the root and resume device(s)
 if [ -r /etc/crypttab ]; then
-	rootdevs=$(get_root_devices)
+	rootdevs=$(get_fs_devices /)
 	if [ -z "$rootdevs" ]; then
 		echo "cryptsetup: WARNING: could not determine root device from /etc/fstab" >&2
 	fi
+	usrdevs=$(get_fs_devices /usr)
 	resumedevs=$(get_resume_devices)
 	initramfsdevs=$(get_initramfs_devices)
 fi
 
 # Load the config opts and modules for each device
-for dev in $rootdevs $resumedevs $initramfsdevs; do
+for dev in $rootdevs $usrdevs $resumedevs $initramfsdevs; do
 	if ! modules=$(add_device "$dev"); then
 		echo "cryptsetup: FAILURE: could not determine configuration for $dev" >&2
 		continue

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: