cryptsetup: various coding style improvements

No functional changes.
This commit is contained in:
Lennart Poettering 2016-12-16 13:15:31 +01:00
parent a93c4776de
commit 5f4bfe56f3
2 changed files with 61 additions and 59 deletions

View file

@ -102,18 +102,17 @@ static int create_disk(
if (!f) if (!f)
return log_error_errno(errno, "Failed to create unit file %s: %m", p); return log_error_errno(errno, "Failed to create unit file %s: %m", p);
fputs( fputs("# Automatically generated by systemd-cryptsetup-generator\n\n"
"# Automatically generated by systemd-cryptsetup-generator\n\n" "[Unit]\n"
"[Unit]\n" "Description=Cryptography Setup for %I\n"
"Description=Cryptography Setup for %I\n" "Documentation=man:crypttab(5) man:systemd-cryptsetup-generator(8) man:systemd-cryptsetup@.service(8)\n"
"Documentation=man:crypttab(5) man:systemd-cryptsetup-generator(8) man:systemd-cryptsetup@.service(8)\n" "SourcePath=/etc/crypttab\n"
"SourcePath=/etc/crypttab\n" "DefaultDependencies=no\n"
"DefaultDependencies=no\n" "Conflicts=umount.target\n"
"Conflicts=umount.target\n" "BindsTo=dev-mapper-%i.device\n"
"BindsTo=dev-mapper-%i.device\n" "IgnoreOnIsolate=true\n"
"IgnoreOnIsolate=true\n" "After=cryptsetup-pre.target\n",
"After=cryptsetup-pre.target\n", f);
f);
if (!nofail) if (!nofail)
fprintf(f, fprintf(f,
@ -357,7 +356,6 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat
uuid_value = NULL; uuid_value = NULL;
} else } else
log_warning("Failed to parse luks name switch %s. Ignoring.", value); log_warning("Failed to parse luks name switch %s. Ignoring.", value);
} }
return 0; return 0;
@ -466,7 +464,7 @@ static int add_proc_cmdline_devices(void) {
} }
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
int r = EXIT_FAILURE; int r;
if (argc > 1 && argc != 4) { if (argc > 1 && argc != 4) {
log_error("This program takes three or no arguments."); log_error("This program takes three or no arguments.");
@ -483,32 +481,36 @@ int main(int argc, char *argv[]) {
umask(0022); umask(0022);
arg_disks = hashmap_new(&string_hash_ops); arg_disks = hashmap_new(&string_hash_ops);
if (!arg_disks) if (!arg_disks) {
goto cleanup; r = log_oom();
goto finish;
}
r = proc_cmdline_parse(parse_proc_cmdline_item, NULL, PROC_CMDLINE_STRIP_RD_PREFIX); r = proc_cmdline_parse(parse_proc_cmdline_item, NULL, PROC_CMDLINE_STRIP_RD_PREFIX);
if (r < 0) { if (r < 0) {
log_warning_errno(r, "Failed to parse kernel command line, ignoring: %m"); log_warning_errno(r, "Failed to parse kernel command line: %m");
r = EXIT_FAILURE; goto finish;
} }
if (!arg_enabled) { if (!arg_enabled) {
r = EXIT_SUCCESS; r = 0;
goto cleanup; goto finish;
} }
if (add_crypttab_devices() < 0) r = add_crypttab_devices();
goto cleanup; if (r < 0)
goto finish;
if (add_proc_cmdline_devices() < 0) r = add_proc_cmdline_devices();
goto cleanup; if (r < 0)
goto finish;
r = EXIT_SUCCESS; r = 0;
cleanup: finish:
free_arg_disks(); free_arg_disks();
free(arg_default_options); free(arg_default_options);
free(arg_default_keyfile); free(arg_default_keyfile);
return r; return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
} }

View file

@ -593,17 +593,18 @@ static int help(void) {
} }
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
int r = EXIT_FAILURE;
struct crypt_device *cd = NULL; struct crypt_device *cd = NULL;
int r;
if (argc <= 1) { if (argc <= 1) {
help(); r = help();
return EXIT_SUCCESS; goto finish;
} }
if (argc < 3) { if (argc < 3) {
log_error("This program requires at least two arguments."); log_error("This program requires at least two arguments.");
return EXIT_FAILURE; r = -EINVAL;
goto finish;
} }
log_set_target(LOG_TARGET_AUTO); log_set_target(LOG_TARGET_AUTO);
@ -614,7 +615,6 @@ int main(int argc, char *argv[]) {
if (streq(argv[1], "attach")) { if (streq(argv[1], "attach")) {
uint32_t flags = 0; uint32_t flags = 0;
int k;
unsigned tries; unsigned tries;
usec_t until; usec_t until;
crypt_status_info status; crypt_status_info status;
@ -648,11 +648,11 @@ int main(int argc, char *argv[]) {
if (arg_header) { if (arg_header) {
log_debug("LUKS header: %s", arg_header); log_debug("LUKS header: %s", arg_header);
k = crypt_init(&cd, arg_header); r = crypt_init(&cd, arg_header);
} else } else
k = crypt_init(&cd, argv[3]); r = crypt_init(&cd, argv[3]);
if (k != 0) { if (r < 0) {
log_error_errno(k, "crypt_init() failed: %m"); log_error_errno(r, "crypt_init() failed: %m");
goto finish; goto finish;
} }
@ -661,7 +661,7 @@ int main(int argc, char *argv[]) {
status = crypt_status(cd, argv[2]); status = crypt_status(cd, argv[2]);
if (status == CRYPT_ACTIVE || status == CRYPT_BUSY) { if (status == CRYPT_ACTIVE || status == CRYPT_BUSY) {
log_info("Volume %s already active.", argv[2]); log_info("Volume %s already active.", argv[2]);
r = EXIT_SUCCESS; r = 0;
goto finish; goto finish;
} }
@ -691,29 +691,30 @@ int main(int argc, char *argv[]) {
_cleanup_strv_free_erase_ char **passwords = NULL; _cleanup_strv_free_erase_ char **passwords = NULL;
if (!key_file) { if (!key_file) {
k = get_password(argv[2], argv[3], until, tries == 0 && !arg_verify, &passwords); r = get_password(argv[2], argv[3], until, tries == 0 && !arg_verify, &passwords);
if (k == -EAGAIN) if (r == -EAGAIN)
continue; continue;
else if (k < 0) if (r < 0)
goto finish; goto finish;
} }
if (streq_ptr(arg_type, CRYPT_TCRYPT)) if (streq_ptr(arg_type, CRYPT_TCRYPT))
k = attach_tcrypt(cd, argv[2], key_file, passwords, flags); r = attach_tcrypt(cd, argv[2], key_file, passwords, flags);
else else
k = attach_luks_or_plain(cd, r = attach_luks_or_plain(cd,
argv[2], argv[2],
key_file, key_file,
arg_header ? argv[3] : NULL, arg_header ? argv[3] : NULL,
passwords, passwords,
flags); flags);
if (k >= 0) if (r >= 0)
break; break;
else if (k == -EAGAIN) { if (r == -EAGAIN) {
key_file = NULL; key_file = NULL;
continue; continue;
} else if (k != -EPERM) { }
log_error_errno(k, "Failed to activate: %m"); if (r != -EPERM) {
log_error_errno(r, "Failed to activate: %m");
goto finish; goto finish;
} }
@ -722,28 +723,28 @@ int main(int argc, char *argv[]) {
if (arg_tries != 0 && tries >= arg_tries) { if (arg_tries != 0 && tries >= arg_tries) {
log_error("Too many attempts; giving up."); log_error("Too many attempts; giving up.");
r = EXIT_FAILURE; r = -EPERM;
goto finish; goto finish;
} }
} else if (streq(argv[1], "detach")) { } else if (streq(argv[1], "detach")) {
int k;
k = crypt_init_by_name(&cd, argv[2]); r = crypt_init_by_name(&cd, argv[2]);
if (k == -ENODEV) { if (r == -ENODEV) {
log_info("Volume %s already inactive.", argv[2]); log_info("Volume %s already inactive.", argv[2]);
r = EXIT_SUCCESS; r = 0;
goto finish; goto finish;
} else if (k) { }
log_error_errno(k, "crypt_init_by_name() failed: %m"); if (r < 0) {
log_error_errno(r, "crypt_init_by_name() failed: %m");
goto finish; goto finish;
} }
crypt_set_log_callback(cd, log_glue, NULL); crypt_set_log_callback(cd, log_glue, NULL);
k = crypt_deactivate(cd, argv[2]); r = crypt_deactivate(cd, argv[2]);
if (k < 0) { if (r < 0) {
log_error_errno(k, "Failed to deactivate: %m"); log_error_errno(r, "Failed to deactivate: %m");
goto finish; goto finish;
} }
@ -752,10 +753,9 @@ int main(int argc, char *argv[]) {
goto finish; goto finish;
} }
r = EXIT_SUCCESS; r = 0;
finish: finish:
if (cd) if (cd)
crypt_free(cd); crypt_free(cd);
@ -764,5 +764,5 @@ finish:
free(arg_header); free(arg_header);
strv_free(arg_tcrypt_keyfiles); strv_free(arg_tcrypt_keyfiles);
return r; return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
} }