package cryptsetup
reopen 589029
thanks

On Wed, Jul 21, 2010 at 09:33:13AM +0000, Debian Bug Tracking System wrote:
> Source-Version: 2:1.1.3-2
>    * introduce new variable $DEFAULT_LOUD. now the 'loud' option in crypttab
>      affects only the device in question. thanks to Mario 'BitKoenig' Holbe.
>    * introduce new crypttab option 'quiet' which overwrites and unsets the
>      'loud' option. thanks to Mario 'BitKoenig' Holbe. (closes: #589029)

This doesn't work yet:

# grep ^md9 /etc/crypttab
md9     /dev/md9        md1     luks,keyscript=decrypt_derived,quiet
# /etc/init.d/cryptdisks start
Starting remaining crypto disks...md1 (running)...md2 (running)...md3 
(running)...md4 (running)...md5 (running)...md6 (running)...md71 
(running)...md72 (running)...md73 (running)...md74 (running)...md8 
(running)...md9 (skipped, device /dev/md9 does not exist)...failed.
done.

The reason for this is the dependency of the warning on the INITSTATE.
The first patch attached (01_cryptsetup-1.1.3-loud.patch) fixes this:
it initializes DEFAULT_LOUD in the init-scripts and depends the warning
on LOUD only.

There are 3 more patches attached with mainly cosmetic changes which I
stumbled upon while doing the fix and tests :) They apply
subsequentially in their numbered order.
Whether you like to apply them or not is IMHO just a matter of taste.

02_cryptsetup-1.1.3-cosmetics.patch is just cosmetics to
cryptdisks.functions:
* the LOUD initialization in the beginning doesn't harm but doesn't have
  any effect as well, it's the only initialization of an options
  variable outside parse_opts()
* the QUIET variable ist just never used
* if INITSTATE is empty, it does also not equal to "manual"

03_cryptsetup-1.1.3-isolate.patch isolates the initialization of
DEFAULT_LOUD to cryptdisks.functions. This simplifies the interface to
cryptdisks.functions, but requires to set the INITSTATE before sourcing
the file.

04_cryptsetup-1.1.3-quiet.patch disables the quiet mount option for
cryptdisks_start/stop. I like the idea, but ymmv.


regards
   Mario
-- 
*axiom* welcher sensorische input bewirkte die output-aktion,
        den irc-chatter mit dem nick "dus" des irc-servers
        mittels eines kills zu verweisen?
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks-early.init cryptsetup-1.1.3/debian/cryptdisks-early.init
--- cryptsetup-1.1.3.orig/debian/cryptdisks-early.init	2010-06-27 01:03:36.000000000 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks-early.init	2010-07-22 09:24:56.664716922 +0200
@@ -19,7 +19,7 @@
 . /lib/cryptsetup/cryptdisks.functions
 
 INITSTATE="early"
-LOUD=""
+DEFAULT_LOUD=""
 
 case "$CRYPTDISKS_ENABLE" in
 [Nn]*)
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks.functions cryptsetup-1.1.3/debian/cryptdisks.functions
--- cryptsetup-1.1.3.orig/debian/cryptdisks.functions	2010-07-21 10:23:24.000000000 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks.functions	2010-07-22 10:32:53.336716604 +0200
@@ -549,7 +549,7 @@
 
 	# Make sure source device exists
 	if [ ! -r "$src" ]; then
-		if [ "$LOUD" = "yes" ] || [ "$INITSTATE" != "early" ]; then
+		if [ "$LOUD" = "yes" ]; then
 			device_msg "$dst" "skipped, device $src does not exist"
 			return 1
 		fi
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks.init cryptsetup-1.1.3/debian/cryptdisks.init
--- cryptsetup-1.1.3.orig/debian/cryptdisks.init	2010-06-26 14:53:56.000000000 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks.init	2010-07-22 09:24:47.744716322 +0200
@@ -19,7 +19,7 @@
 . /lib/cryptsetup/cryptdisks.functions
 
 INITSTATE="remaining"
-LOUD="yes"
+DEFAULT_LOUD="yes"
 
 case "$CRYPTDISKS_ENABLE" in
 [Nn]*)
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks.functions cryptsetup-1.1.3/debian/cryptdisks.functions
--- cryptsetup-1.1.3.orig/debian/cryptdisks.functions	2010-07-22 10:32:53.336716604 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks.functions	2010-07-22 09:30:35.749216508 +0200
@@ -21,8 +21,6 @@
 
 MOUNT="$CRYPTDISKS_MOUNT"
 
-LOUD=""
-
 # Parses the option field from the crypttab file
 parse_opts () {
 	local opts opt IFS PARAM VALUE
@@ -41,7 +39,6 @@
 	IGNORE=""
 	CRYPTTAB_OPTIONS=""
 	LOUD="$DEFAULT_LOUD"
-	QUIET=""
 
 	# Parse the options field, convert to cryptsetup parameters
 	# and construct the command line
@@ -152,7 +149,7 @@
 			fi
 			;;
 		noauto)
-			if [ -n "$INITSTATE" ] && [ "$INITSTATE" != "manual" ]; then
+			if [ "$INITSTATE" != "manual" ]; then
 				IGNORE="yes"
 			fi
 			;;
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks-early.init cryptsetup-1.1.3/debian/cryptdisks-early.init
--- cryptsetup-1.1.3.orig/debian/cryptdisks-early.init	2010-07-22 09:24:56.664716922 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks-early.init	2010-07-22 10:45:55.101716705 +0200
@@ -16,10 +16,9 @@
 
 set -e
 
-. /lib/cryptsetup/cryptdisks.functions
-
 INITSTATE="early"
-DEFAULT_LOUD=""
+
+. /lib/cryptsetup/cryptdisks.functions
 
 case "$CRYPTDISKS_ENABLE" in
 [Nn]*)
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks.functions cryptsetup-1.1.3/debian/cryptdisks.functions
--- cryptsetup-1.1.3.orig/debian/cryptdisks.functions	2010-07-22 09:30:35.749216508 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks.functions	2010-07-22 10:44:48.321519855 +0200
@@ -21,6 +21,9 @@
 
 MOUNT="$CRYPTDISKS_MOUNT"
 
+DEFAULT_LOUD="yes"
+[ "$INITSTATE" = "early" ] && DEFAULT_LOUD=""
+
 # Parses the option field from the crypttab file
 parse_opts () {
 	local opts opt IFS PARAM VALUE
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks.init cryptsetup-1.1.3/debian/cryptdisks.init
--- cryptsetup-1.1.3.orig/debian/cryptdisks.init	2010-07-22 09:24:47.744716322 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks.init	2010-07-22 10:46:00.825216301 +0200
@@ -16,10 +16,9 @@
 
 set -e 
 
-. /lib/cryptsetup/cryptdisks.functions
-
 INITSTATE="remaining"
-DEFAULT_LOUD="yes"
+
+. /lib/cryptsetup/cryptdisks.functions
 
 case "$CRYPTDISKS_ENABLE" in
 [Nn]*)
diff -urN cryptsetup-1.1.3.orig/debian/scripts/cryptdisks_start cryptsetup-1.1.3/debian/scripts/cryptdisks_start
--- cryptsetup-1.1.3.orig/debian/scripts/cryptdisks_start	2010-07-21 10:16:49.000000000 +0200
+++ cryptsetup-1.1.3/debian/scripts/cryptdisks_start	2010-07-22 10:45:41.528716067 +0200
@@ -16,10 +16,9 @@
 	exit 1
 fi
 
-. /lib/cryptsetup/cryptdisks.functions
-
 INITSTATE="manual"
-DEFAULT_LOUD="yes"
+
+. /lib/cryptsetup/cryptdisks.functions
 
 if [ -x "/usr/bin/id" ] && [ "$(/usr/bin/id -u)"  != "0" ]; then
 	log_warning_msg "$0 needs root privileges"
diff -urN cryptsetup-1.1.3.orig/debian/scripts/cryptdisks_stop cryptsetup-1.1.3/debian/scripts/cryptdisks_stop
--- cryptsetup-1.1.3.orig/debian/scripts/cryptdisks_stop	2010-07-21 10:16:57.000000000 +0200
+++ cryptsetup-1.1.3/debian/scripts/cryptdisks_stop	2010-07-22 10:45:29.476716407 +0200
@@ -17,10 +17,9 @@
 	exit 1
 fi
 
-. /lib/cryptsetup/cryptdisks.functions
-
 INITSTATE="manual"
-DEFAULT_LOUD="yes"
+
+. /lib/cryptsetup/cryptdisks.functions
 
 if [ -x "/usr/bin/id" ] && [ "$(/usr/bin/id -u)"  != "0" ]; then
 	log_warning_msg "$0 needs root privileges"
diff -urN cryptsetup-1.1.3.orig/debian/cryptdisks.functions cryptsetup-1.1.3/debian/cryptdisks.functions
--- cryptsetup-1.1.3.orig/debian/cryptdisks.functions	2010-07-22 10:50:31.309154627 +0200
+++ cryptsetup-1.1.3/debian/cryptdisks.functions	2010-07-22 10:49:31.613024639 +0200
@@ -160,7 +160,7 @@
 			LOUD="yes"
 			;;
 		quiet)
-			LOUD=""
+			[ "$INITSTATE" = "manual" ] || LOUD=""
 			;;
 		keyscript)
 			if [ -n "$KEYSCRIPT" ]; then

Attachment: signature.asc
Description: Digital signature

Reply via email to