|  | @@ -28,6 +28,28 @@
 | 
	
		
			
			| 28 | 28 |  # You should have received a copy of the GNU Affero General Public License
 | 
	
		
			
			| 29 | 29 |  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
	
		
			
			| 30 | 30 |  
 | 
	
		
			
			|  | 31 | +function gpg_delete_key {
 | 
	
		
			
			|  | 32 | +    key_username=$1
 | 
	
		
			
			|  | 33 | +    key_id=$2
 | 
	
		
			
			|  | 34 | +
 | 
	
		
			
			|  | 35 | +    su -c "gpg --batch --quiet --homedir=/home/$key_username/.gnupg --delete-secret-key $key_id" - $key_username
 | 
	
		
			
			|  | 36 | +    su -c "gpg --batch --quiet --homedir=/home/$key_username/.gnupg --delete-key $key_id" - $key_username
 | 
	
		
			
			|  | 37 | +}
 | 
	
		
			
			|  | 38 | +
 | 
	
		
			
			|  | 39 | +function gpg_set_permissions {
 | 
	
		
			
			|  | 40 | +    key_username=$1
 | 
	
		
			
			|  | 41 | +
 | 
	
		
			
			|  | 42 | +    if [[ "$key_username" != 'root' ]]; then
 | 
	
		
			
			|  | 43 | +        chmod 700 /home/$key_username/.gnupg
 | 
	
		
			
			|  | 44 | +        chmod -R 600 /home/$key_username/.gnupg/*
 | 
	
		
			
			|  | 45 | +        chown -R $key_username:$key_username /home/$key_username/.gnupg
 | 
	
		
			
			|  | 46 | +    else
 | 
	
		
			
			|  | 47 | +        chmod 700 /root/.gnupg
 | 
	
		
			
			|  | 48 | +        chmod -R 600 /root/.gnupg/*
 | 
	
		
			
			|  | 49 | +        chown -R $key_username:$key_username /root/.gnupg
 | 
	
		
			
			|  | 50 | +    fi
 | 
	
		
			
			|  | 51 | +}
 | 
	
		
			
			|  | 52 | +
 | 
	
		
			
			| 31 | 53 |  function reconstruct_key {
 | 
	
		
			
			| 32 | 54 |      if [ ! -d /home/$MY_USERNAME/.gnupg_fragments ]; then
 | 
	
		
			
			| 33 | 55 |          return
 | 
	
	
		
			
			|  | @@ -143,18 +165,14 @@ function interactive_gpg_from_usb {
 | 
	
		
			
			| 143 | 165 |                  chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg_old
 | 
	
		
			
			| 144 | 166 |              fi
 | 
	
		
			
			| 145 | 167 |              echo $'Removing old gpg keys'
 | 
	
		
			
			| 146 |  | -            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_BACKUP_ID"
 | 
	
		
			
			| 147 |  | -            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-key "$CURR_GPG_ID"
 | 
	
		
			
			| 148 |  | -            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_BACKUP_ID"
 | 
	
		
			
			| 149 |  | -            gpg --batch --quiet --homedir=$HOME_DIR/.gnupg --delete-secret-key "$CURR_GPG_ID"
 | 
	
		
			
			|  | 168 | +            gpg_delete_key $MY_USERNAME $CURR_GPG_BACKUP_ID
 | 
	
		
			
			|  | 169 | +            gpg_delete_key $MY_USERNAME $CURR_GPG_ID
 | 
	
		
			
			| 150 | 170 |              echo $'Importing master keys'
 | 
	
		
			
			| 151 | 171 |              gpg --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.mastergpgkey
 | 
	
		
			
			| 152 | 172 |              echo "$BACKUP_DUMMY_PASSWORD" | gpg --batch --passphrase-fd 0 --homedir=$HOME_DIR/.gnupg --allow-secret-key-import --import $USB_MOUNT/.backupgpgkey
 | 
	
		
			
			| 153 | 173 |              if [ -d $HOME_DIR/.gnupg ]; then
 | 
	
		
			
			| 154 | 174 |                  echo $'Setting permissions'
 | 
	
		
			
			| 155 |  | -                chmod 700 $HOME_DIR/.gnupg
 | 
	
		
			
			| 156 |  | -                chmod -R 600 $HOME_DIR/.gnupg/*
 | 
	
		
			
			| 157 |  | -                chown -R $MY_USERNAME:$MY_USERNAME $HOME_DIR/.gnupg
 | 
	
		
			
			|  | 175 | +                gpg_set_permissions $MY_USERNAME
 | 
	
		
			
			| 158 | 176 |              fi
 | 
	
		
			
			| 159 | 177 |              GPG_LOADING="no"
 | 
	
		
			
			| 160 | 178 |              dialog --title $"Recover Encryption Keys" \
 |