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 <m...@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 <m...@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 via email to