Allow to omit keyfile number for the first keyfile.

This commit is contained in:
pjd 2015-07-02 10:55:32 +00:00
parent 35e3a77a90
commit 7d4cefa995
2 changed files with 15 additions and 1 deletions

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd June 18, 2014
.Dd June 2, 2015
.Dt GELI 8
.Os
.Sh NAME
@ -893,6 +893,13 @@ geli_da1s3a_keyfile0_type="da1s3a:geli_keyfile0"
geli_da1s3a_keyfile0_name="/boot/keys/da1s3a.key"
.Ed
.Pp
If there is only one keyfile, the index might be omitted:
.Bd -literal -offset indent
geli_da1s3a_keyfile_load="YES"
geli_da1s3a_keyfile_type="da1s3a:geli_keyfile"
geli_da1s3a_keyfile_name="/boot/keys/da1s3a.key"
.Ed
.Pp
Not only configure encryption, but also data integrity verification using
.Nm HMAC/SHA256 .
.Bd -literal -offset indent

View File

@ -998,6 +998,13 @@ g_eli_keyfiles_load(struct hmac_ctx *ctx, const char *provider)
for (i = 0; ; i++) {
snprintf(name, sizeof(name), "%s:geli_keyfile%d", provider, i);
keyfile = preload_search_by_type(name);
if (keyfile == NULL && i == 0) {
/*
* If there is only one keyfile, allow simpler name.
*/
snprintf(name, sizeof(name), "%s:geli_keyfile", provider);
keyfile = preload_search_by_type(name);
}
if (keyfile == NULL)
return (i); /* Return number of loaded keyfiles. */
data = preload_fetch_addr(keyfile);