From 9c5253ffecb602b3eeb9b9fd0f42f8e757fd3ed8 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 21 Aug 2019 10:40:04 +0200 Subject: [PATCH 1/2] cryptsetup: minor coding style clean-ups --- src/cryptsetup/cryptsetup.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index dd1504dc9d..f993a5f66b 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -253,10 +253,10 @@ static int parse_options(const char *options) { } /* sanity-check options */ - if (arg_type != NULL && !streq(arg_type, CRYPT_PLAIN)) { - if (arg_offset) + if (arg_type && !streq(arg_type, CRYPT_PLAIN)) { + if (arg_offset != 0) log_warning("offset= ignored with type %s", arg_type); - if (arg_skip) + if (arg_skip != 0) log_warning("skip= ignored with type %s", arg_type); } @@ -462,11 +462,13 @@ static int attach_tcrypt( return 0; } -static int attach_luks_or_plain(struct crypt_device *cd, - const char *name, - const char *key_file, - char **passwords, - uint32_t flags) { +static int attach_luks_or_plain( + struct crypt_device *cd, + const char *name, + const char *key_file, + char **passwords, + uint32_t flags) { + int r = 0; bool pass_volume_key = false; @@ -538,6 +540,7 @@ static int attach_luks_or_plain(struct crypt_device *cd, } if (r < 0) return log_error_errno(r, "Failed to activate with key file '%s': %m", key_file); + } else { char **p; @@ -650,7 +653,7 @@ static int run(int argc, char *argv[]) { } /* A delicious drop of snake oil */ - mlockall(MCL_FUTURE); + (void) mlockall(MCL_FUTURE); if (arg_header) { log_debug("LUKS header: %s", arg_header); @@ -723,11 +726,7 @@ static int run(int argc, char *argv[]) { if (streq_ptr(arg_type, CRYPT_TCRYPT)) r = attach_tcrypt(cd, argv[2], key_file, passwords, flags); else - r = attach_luks_or_plain(cd, - argv[2], - key_file, - passwords, - flags); + r = attach_luks_or_plain(cd, argv[2], key_file, passwords, flags); if (r >= 0) break; if (r != -EAGAIN) From 9120aa820b30ecdcfb7473708eaf420cc439bff5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 21 Aug 2019 10:45:42 +0200 Subject: [PATCH 2/2] cryptsetup: use STR_IN_SET() where appropriate Note that this slightly changes behaviour: "none" is only allowed as option, if it's the only option specified, but not in combination with other options. I think this makes more sense, since it's the choice when no options shall be specified. --- src/cryptsetup/cryptsetup.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index f993a5f66b..553b1afb47 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -228,7 +228,7 @@ static int parse_one_option(const char *option) { if (r < 0) return log_error_errno(r, "Failed to parse %s: %m", option); - } else if (!streq(option, "none")) + } else log_warning("Encountered unknown /etc/crypttab option '%s', ignoring.", option); return 0; @@ -635,18 +635,14 @@ static int run(int argc, char *argv[]) { if (argc < 4) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "attach requires at least two arguments."); - if (argc >= 5 && - argv[4][0] && - !streq(argv[4], "-") && - !streq(argv[4], "none")) { - - if (!path_is_absolute(argv[4])) - log_warning("Password file path '%s' is not absolute. Ignoring.", argv[4]); - else + if (argc >= 5 && !STR_IN_SET(argv[4], "", "-", "none")) { + if (path_is_absolute(argv[4])) key_file = argv[4]; + else + log_warning("Password file path '%s' is not absolute. Ignoring.", argv[4]); } - if (argc >= 6 && argv[5][0] && !streq(argv[5], "-")) { + if (argc >= 6 && !STR_IN_SET(argv[5], "", "-", "none")) { r = parse_options(argv[5]); if (r < 0) return r;