Merge change 6177 into donut

* changes:
  Two small checks in keymgmt.
This commit is contained in:
Android (Google) Code Review
2009-07-03 08:51:59 -07:00
3 changed files with 10 additions and 1 deletions

View File

@@ -185,6 +185,7 @@ static int change_passwd(char *data)
p = strtok_r(NULL, delimiter, &context);
}
if (count != 2) return -1;
if (strlen(new_pass) < MIN_PASSWD_LENGTH) return -1;
if ((ret = get_master_key(old_pass, master_key)) == 0) {
ret = store_master_key(new_pass, master_key);
retry_count = 0;
@@ -259,6 +260,11 @@ int list_keys(const char *namespace, char reply[BUFFER_MAX])
DIR *d;
struct dirent *de;
if (state != UNLOCKED) {
LOGE("Can not list key with current state %d\n", state);
return -1;
}
if (!namespace || ((d = opendir("."))) == NULL) {
LOGE("cannot open keystore dir or namespace is null\n");
return -1;
@@ -287,6 +293,7 @@ int passwd(char *data)
{
if (state == UNINITIALIZED) {
if (strchr(data, ' ')) return -1;
if (strlen(data) < MIN_PASSWD_LENGTH) return -1;
return create_master_key(data);
}
return change_passwd(data);

View File

@@ -27,7 +27,8 @@
#define AES_KEY_LEN 128
#define USER_KEY_LEN (AES_KEY_LEN/8)
#define IV_LEN USER_KEY_LEN
#define MAX_RETRY_COUNT 6
#define MAX_RETRY_COUNT 6
#define MIN_PASSWD_LENGTH 8
#define gen_key(passwd, key, len) \
PKCS5_PBKDF2_HMAC_SHA1(passwd, strlen(passwd), \

View File

@@ -224,6 +224,7 @@ static void do_reset_keystore(LPC_MARSHAL *cmd, LPC_MARSHAL *reply)
}
reply->retcode = reset_keystore();
}
static void execute(LPC_MARSHAL *cmd, LPC_MARSHAL *reply)
{
uint32_t cmd_max = sizeof(cmds)/sizeof(struct cmdinfo);