Lines Matching refs:salt
180 struct salt { struct
181 unsigned char *salt; argument
187 struct salt *salt_list; argument
192 static struct salt *find_by_salt(unsigned char *salt, size_t salt_len) in find_by_salt() argument
195 struct salt *p; in find_by_salt()
199 !memcmp(p->salt, salt, salt_len)) in find_by_salt()
204 static void add_salt(unsigned char *salt, size_t salt_len) in add_salt() argument
206 if (find_by_salt(salt, salt_len)) in add_salt()
210 salt_list = realloc(salt_list, max_salt * sizeof(struct salt)); in add_salt()
216 salt_list[num_salt].salt = salt; in add_salt()
224 memset(salt_list, 0, sizeof(struct salt) * max_salt); in clear_secrets()
347 static void set_policy(struct salt *set_salt, int pad, in set_policy()
350 struct salt *salt; in set_policy() local
370 salt = set_salt; in set_policy()
377 salt = find_by_salt(uu, sizeof(uu)); in set_policy()
378 if (!salt) { in set_policy()
389 memcpy(policy.master_key_descriptor, salt->key_desc, in set_policy()
397 strerror(errno), salt->key_ref_str, argv[x]); in set_policy()
401 salt->key_ref_str, argv[x]); in set_policy()
405 static void pbkdf2_sha512(const char *passphrase, struct salt *salt, in pbkdf2_sha512() argument
425 if (salt->salt_len > EXT4_MAX_SALT_SIZE) { in pbkdf2_sha512()
426 printf("Salt size is %zd; max is %d.\n", salt->salt_len, in pbkdf2_sha512()
432 memcpy(saltbuf, salt->salt, salt->salt_len); in pbkdf2_sha512()
530 static void generate_key_ref_str(struct salt *salt) in generate_key_ref_str() argument
536 ext2fs_sha512(salt->key, EXT4_MAX_KEY_SIZE, key_ref1); in generate_key_ref_str()
538 memcpy(salt->key_desc, key_ref2, EXT4_KEY_DESCRIPTOR_SIZE); in generate_key_ref_str()
540 sprintf(&salt->key_ref_str[x * 2], "%02x", in generate_key_ref_str()
541 salt->key_desc[x]); in generate_key_ref_str()
543 salt->key_ref_str[EXT4_KEY_REF_STR_BUF_SIZE - 1] = '\0'; in generate_key_ref_str()
546 static void insert_key_into_keyring(const char *keyring, struct salt *salt) in insert_key_into_keyring() argument
559 salt->key_ref_str); in insert_key_into_keyring()
565 salt->key_ref_str); in insert_key_into_keyring()
574 memcpy(key.raw, salt->key, EXT4_MAX_KEY_SIZE); in insert_key_into_keyring()
604 "%s\n", salt->key_ref_str, strerror(errno)); in insert_key_into_keyring()
610 salt->key_ref_str); in insert_key_into_keyring()
654 struct salt *salt; in do_add_key() local
699 for (j = 0, salt = salt_list; j < num_salt; j++, salt++) { in do_add_key()
700 pbkdf2_sha512(in_passphrase, salt, in do_add_key()
701 EXT4_PBKDF2_ITERATIONS, salt->key); in do_add_key()
702 generate_key_ref_str(salt); in do_add_key()
703 insert_key_into_keyring(keyring, salt); in do_add_key()
722 struct salt saltbuf; in do_set_policy()