| 
				
			 | 
			
			
				@@ -35,10 +35,11 @@ KEY_FRAGMENTS=3 
			 | 
		
	
		
			
			| 
				35
			 | 
			
				35
			 | 
			
			
				 FRAGMENTS_DIR=$USB_MOUNT/.gnupg_fragments 
			 | 
		
	
		
			
			| 
				36
			 | 
			
				36
			 | 
			
			
				 MY_USERNAME=$USER 
			 | 
		
	
		
			
			| 
				37
			 | 
			
				37
			 | 
			
			
				 MASTER_DRIVE="no" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				38
			 | 
			
			
				+FORMAT="no" 
			 | 
		
	
		
			
			| 
				38
			 | 
			
				39
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				39
			 | 
			
				40
			 | 
			
			
				 function show_help { 
			 | 
		
	
		
			
			| 
				40
			 | 
			
				41
			 | 
			
			
				     echo '' 
			 | 
		
	
		
			
			| 
				41
			 | 
			
				
			 | 
			
			
				-    echo 'freedombone-keydrive -u [username] -d [device, eg. sdb] --master [yes/no] -n [no of fragments]' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+    echo 'freedombone-keydrive -u [username] -d [device, eg. sdb] --master [yes/no] -n [no of fragments] --format [yes/no]' 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				43
			 | 
			
			
				     echo '' 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				44
			 | 
			
			
				     exit 0 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				45
			 | 
			
			
				 } 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -67,6 +68,10 @@ case $key in 
			 | 
		
	
		
			
			| 
				67
			 | 
			
				68
			 | 
			
			
				     shift 
			 | 
		
	
		
			
			| 
				68
			 | 
			
				69
			 | 
			
			
				     KEY_FRAGMENTS=$1 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				70
			 | 
			
			
				     ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+    -f|--format) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+    shift 
			 | 
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				+    FORMAT="yes" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				74
			 | 
			
			
				+    ;; 
			 | 
		
	
		
			
			| 
				70
			 | 
			
				75
			 | 
			
			
				     *) 
			 | 
		
	
		
			
			| 
				71
			 | 
			
				76
			 | 
			
			
				     # unknown option 
			 | 
		
	
		
			
			| 
				72
			 | 
			
				77
			 | 
			
			
				     ;; 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -97,6 +102,29 @@ if [ -f /dev/mapper/encrypted_usb ]; then 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				102
			 | 
			
			
				   rm -rf /dev/mapper/encrypted_usb 
			 | 
		
	
		
			
			| 
				98
			 | 
			
				103
			 | 
			
			
				 fi 
			 | 
		
	
		
			
			| 
				99
			 | 
			
				104
			 | 
			
			
				 cryptsetup luksClose encrypted_usb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+# optionally format the drive 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+if [[ $FORMAT == "yes" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				+  echo "Formatting ${USB_DRIVE::-1} as LUKS" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				109
			 | 
			
			
				+  cryptsetup -y -v luksFormat ${USB_DRIVE::-1} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				110
			 | 
			
			
				+  if [ ! "$?" = "0" ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				111
			 | 
			
			
				+      exit 36823 
			 | 
		
	
		
			
			| 
				
			 | 
			
				112
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				113
			 | 
			
			
				+  cryptsetup luksOpen ${USB_DRIVE::-1} encrypted_usb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				114
			 | 
			
			
				+  if [ ! "$?" = "0" ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				115
			 | 
			
			
				+      exit 37232 
			 | 
		
	
		
			
			| 
				
			 | 
			
				116
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				117
			 | 
			
			
				+  mkfs.ext4 /dev/mapper/encrypted_usb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				118
			 | 
			
			
				+  if [ ! "$?" = "0" ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				119
			 | 
			
			
				+      exit 73218 
			 | 
		
	
		
			
			| 
				
			 | 
			
				120
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				121
			 | 
			
			
				+  cryptsetup luksClose encrypted_usb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				122
			 | 
			
			
				+  if [ -f /dev/mapper/encrypted_usb ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				123
			 | 
			
			
				+      rm -rf /dev/mapper/encrypted_usb 
			 | 
		
	
		
			
			| 
				
			 | 
			
				124
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				125
			 | 
			
			
				+  echo 'Format completed' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				126
			 | 
			
			
				+fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				127
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				100
			 | 
			
				128
			 | 
			
			
				 cryptsetup luksOpen $USB_DRIVE encrypted_usb 
			 | 
		
	
		
			
			| 
				101
			 | 
			
				129
			 | 
			
			
				 if [ "$?" = "0" ]; then 
			 | 
		
	
		
			
			| 
				102
			 | 
			
				130
			 | 
			
			
				   USB_DRIVE=/dev/mapper/encrypted_usb 
			 |