From f5c5e021608d488a0afc165265e0b14cec5de125 Mon Sep 17 00:00:00 2001
From: erdgeist <erdgeist@erdgeist.org>
Date: Mon, 8 Oct 2007 02:04:59 +0000
Subject: We need all image parameters, even when the image already existed

---
 ezjail-admin | 49 ++++++++++++++++++++++++++++---------------------
 1 file changed, 28 insertions(+), 21 deletions(-)

diff --git a/ezjail-admin b/ezjail-admin
index c9d6af7..d248126 100755
--- a/ezjail-admin
+++ b/ezjail-admin
@@ -373,33 +373,40 @@ create)
       ezjail_devicelink="${ezjail_rootdir}.device"
 
       [ $? -eq 0 ] || detach_images || exerr "Error: Could not attach image device. (Command failed was 'mdconfig -a -t vnode -f ${ezjail_image}')"
-      case ${ezjail_imagetype} in
-        bde|eli)
-          # parse imageparams, generate attachparams
-          ezjail_attachblocking="YES"
-          if [ "${ezjail_imageparams}" ]; then
-            ezjail_attachparams=`echo $0 _parse_g${ezjail_imagetype}_attach_args_ ${ezjail_imageparams} | /bin/sh`
-            [ 5 -eq $? ] && exerr "processing of ezjail_imageparams failed"
-            [ 3 -eq $? ] && unset ezjail_attachblocking
-          fi
-          case ${ezjail_imagetype} in
-            bde) init_cmd="gbde init /dev/${ezjail_imagedevice} ${ezjail_imageparams}"
-                 attach_cmd="gbde attach /dev/${ezjail_imagedevice} ${ezjail_attachparams}";;
-            eli) init_cmd="geli init ${ezjail_imageparams} /dev/${ezjail_imagedevice}"
-                 attach_cmd="geli attach ${ezjail_attachparams} /dev/${ezjail_imagedevice}";;
-          esac
+    fi
+
+    case ${ezjail_imagetype} in
+      bde|eli)
+        # parse imageparams, generate attachparams
+        ezjail_attachblocking="YES"
+        if [ "${ezjail_imageparams}" ]; then
+          ezjail_attachparams=`echo $0 _parse_g${ezjail_imagetype}_attach_args_ ${ezjail_imageparams} | /bin/sh`
+          [ 5 -eq $? ] && exerr "processing of ezjail_imageparams failed"
+          [ 3 -eq $? ] && unset ezjail_attachblocking
+        fi
+        case ${ezjail_imagetype} in
+          bde) init_cmd="gbde init /dev/${ezjail_imagedevice} ${ezjail_imageparams}"
+               attach_cmd="gbde attach /dev/${ezjail_imagedevice} ${ezjail_attachparams}";;
+          eli) init_cmd="geli init ${ezjail_imageparams} /dev/${ezjail_imagedevice}"
+               attach_cmd="geli attach ${ezjail_attachparams} /dev/${ezjail_imagedevice}";;
+        esac
+
+        if [ -z "${ezjail_exists} ]; then
           [ "${ezjail_attachblocking}" ] && echo "Initialising crypto device. You will be asked to enter a new passphrase twice... "
           ( echo ${init_cmd} | /bin/sh ) || detach_images || exerr "Error: Could not initialise crypto image."
 
           [ "${ezjail_attachblocking}" ] && echo "Attaching crypto device. You will be asked to enter the new passphrase... "
           ( echo ${attach_cmd} | /bin/sh ) || detach_images || exerr "Error: Could not attach crypto image."
-          ezjail_device="${ezjail_imagedevice}.${ezjail_imagetype}"
-          ;;
-        simple)
-          ezjail_device=${ezjail_imagedevice}
-          ;;
-      esac
+        fi
+
+        ezjail_device="${ezjail_imagedevice}.${ezjail_imagetype}"
+        ;;
+      simple)
+        ezjail_device=${ezjail_imagedevice}
+        ;;
+    esac
 
+    if [ -z "${ezjail_exists} ]; then
       # Format memory image
       newfs -U "/dev/${ezjail_device}" || detach_images || exerr "Error: Could not newfs /dev/${ezjail_device}."
       # Create mount point and mount
-- 
cgit v1.2.3