Remove user_hash_algo

Use always hash algo from signature like kernel does.

Signed-off-by: Dmitry Kasatkin <d.kasatkin@samsung.com>
This commit is contained in:
Dmitry Kasatkin 2014-01-24 15:27:49 +02:00
parent 86d8772653
commit e92cbe4756
3 changed files with 6 additions and 11 deletions

View File

@ -1590,7 +1590,6 @@ int main(int argc, char *argv[])
break; break;
case 'a': case 'a':
params.hash_algo = optarg; params.hash_algo = optarg;
params.user_hash_algo = 1;
break; break;
case 'p': case 'p':
keypass = optarg; keypass = optarg;

View File

@ -491,16 +491,13 @@ int ima_verify_signature(const char *file, unsigned char *sig, int siglen)
return -1; return -1;
} }
/* If user specified an hash algo on command line, let it override */ sig_hash_algo = get_hash_algo_from_sig(sig + 1);
if (!params.user_hash_algo) { if (sig_hash_algo < 0) {
sig_hash_algo = get_hash_algo_from_sig(sig + 1); log_err("Invalid signature\n");
if (sig_hash_algo < 0) { return -1;
log_err("Invalid signature\n");
return -1;
}
/* Use hash algorithm as retrieved from signature */
params.hash_algo = pkey_hash_algo[sig_hash_algo];
} }
/* Use hash algorithm as retrieved from signature */
params.hash_algo = pkey_hash_algo[sig_hash_algo];
hashlen = ima_calc_hash(file, hash); hashlen = ima_calc_hash(file, hash);
if (hashlen <= 1) if (hashlen <= 1)

View File

@ -128,7 +128,6 @@ typedef int (*verify_hash_fn_t)(const unsigned char *hash, int size, unsigned ch
struct libevm_params { struct libevm_params {
int verbose; int verbose;
const char *hash_algo; const char *hash_algo;
int user_hash_algo;
int x509; int x509;
char *keyfile; char *keyfile;
verify_hash_fn_t verify_hash; verify_hash_fn_t verify_hash;