]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cryptsetup: Treat key file errors as a failed password attempt v239-29
authorRyan Gonzalez <kirbyfan64@users.noreply.github.com>
Sat, 23 Feb 2019 05:45:03 +0000 (23:45 -0600)
committerThe Plumber <50238977+systemd-rhel-bot@users.noreply.github.com>
Fri, 20 Mar 2020 09:05:21 +0000 (10:05 +0100)
6f177c7dc092eb68762b4533d41b14244adb2a73 caused key file errors to immediately fail, which would make it hard to correct an issue due to e.g. a crypttab typo or a damaged key file.

Closes #11723.

(cherry picked from commit c20db3887569e0c0d9c0e2845c5286e7edf0133a)

Related: #1763155

src/cryptsetup/cryptsetup.c

index 33c215eaa1304f2d089a70cdde62590613ea8105..11162eb72294c0b51c2fee0cc30eebb62a2cf5a1 100644 (file)
@@ -558,6 +558,10 @@ static int attach_luks_or_plain(struct crypt_device *cd,
                         log_error_errno(r, "Failed to activate with key file '%s'. (Key data incorrect?)", key_file);
                         return -EAGAIN; /* Log actual error, but return EAGAIN */
                 }
+                if (r == -EINVAL) {
+                        log_error_errno(r, "Failed to activate with key file '%s'. (Key file missing?)", key_file);
+                        return -EAGAIN; /* Log actual error, but return EAGAIN */
+                }
                 if (r < 0)
                         return log_error_errno(r, "Failed to activate with key file '%s': %m", key_file);
         } else {