Home | History | Annotate | Download | only in mmc_security
      1 #!/bin/bash
      2 #********************************************************************************#
      3 #* 										*#
      4 #* Copyright (c) 2005 Instituto Nokia de Tecnologia - INdT - Manaus Brazil 	*#
      5 #* 										*#
      6 #* This program is free software; you can redistribute it and#or modify 	*#
      7 #* it under the terms of the GNU General Public License as published by 	*#
      8 #* the Free Software Foundation; either version 2 of the License, or 		*#
      9 #* (at your option) any later version. 						*#
     10 #* 										*#
     11 #* This program is distributed in the hope that it will be useful, 		*#
     12 #* but WITHOUT ANY WARRANTY; without even the implied warranty of 		*#
     13 #* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 			*#
     14 #* the GNU General Public License for more details. 				*#
     15 #* 										*#
     16 #* You should have received a copy of the GNU General Public License 		*#
     17 #* along with this program; if not, write to the Free Software 			*#
     18 #* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 	*#
     19 #* 										*#
     20 #********************************************************************************#
     21 
     22 #********************************************************************************#
     23 #* 										*#
     24 #* File: remove_password.sh 							*#
     25 #* 										*#
     26 #* Description: used to remove the password from a card previously unlocked. 	*#
     27 #* 										*#
     28 #* 										*#
     29 #* Total Tests: 1 								*#
     30 #* 										*#
     31 #* Author: Anderson Briglia <anderson.briglia (at] indt.org.br> 			*#
     32 #* Anderson Lizardo <anderson.lizardo (at] indt.org.br> 				*#
     33 #* Carlos Eduardo Aguiar <carlos.aguiar (at] indt.org.br> 				*#
     34 #* 										*#
     35 #* 										*#
     36 #* 										*#
     37 #********************************************************************************#
     38 remove_password()
     39 {
     40 	export TST_TOTAL=1  # Total number of test cases in this file.
     41 	# Set up LTPTMP (temporary directory used by the tests).
     42 	LTPTMP=${TMP}       # Temporary directory to create files, etc.
     43 	export TCID="remove_password" # Test case identifier
     44 	export TST_COUNT=0  # Set up is initialized as test 0
     45 	RC=0                # Exit values of system commands used
     46 
     47 	echo "=== Remove MMC Password ==="
     48 	keyid=$(keyctl request mmc "mmc:key")
     49 	if [ -z "$keyid" ]; then
     50 		echo "*** No protected and unlocked MMC was found. The password cannot be removed."
     51 		exit 1
     52 	fi
     53 
     54 	echo remove > /sys/bus/mmc/devices/mmc0\:*/lockable || \
     55 	{ echo "*** Password reset failed."; exit 1 ;}
     56 
     57 	# Clear session keyring
     58 	# FIXME: It assumes we have only the MMC key there
     59 	keyctl clear -3
     60 
     61 	echo "Password removed."
     62 }
     63 
     64 remove_password || exit $RC
     65