diff options
author | 2013-01-12 11:22:04 +0000 | |
---|---|---|
committer | 2013-01-12 11:22:04 +0000 | |
commit | 522320a8dab4a2785a6e98ba9e0f350c98353ba7 (patch) | |
tree | e0a39d5fa6b1fb79271b35c5bf024a4f52edcc34 | |
parent | Change boot commandline parsing to only force lowercase of the device name (diff) | |
download | wireguard-openbsd-522320a8dab4a2785a6e98ba9e0f350c98353ba7.tar.xz wireguard-openbsd-522320a8dab4a2785a6e98ba9e0f350c98353ba7.zip |
improve error message for integrity failure in AES-GCM modes; ok markus@
-rw-r--r-- | usr.bin/ssh/cipher.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/usr.bin/ssh/cipher.c b/usr.bin/ssh/cipher.c index e916bc84746..c449564ca0f 100644 --- a/usr.bin/ssh/cipher.c +++ b/usr.bin/ssh/cipher.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cipher.c,v 1.85 2013/01/08 18:49:04 markus Exp $ */ +/* $OpenBSD: cipher.c,v 1.86 2013/01/12 11:22:04 djm Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -320,8 +320,12 @@ cipher_crypt(CipherContext *cc, u_char *dest, const u_char *src, fatal("%s: EVP_Cipher failed", __func__); if (authlen) { /* compute tag (on encrypt) or verify tag (on decrypt) */ - if (EVP_Cipher(&cc->evp, NULL, NULL, 0) < 0) - fatal("%s: EVP_Cipher(finish) failed", __func__); + if (EVP_Cipher(&cc->evp, NULL, NULL, 0) < 0) { + if (cc->encrypt) + fatal("%s: EVP_Cipher(final) failed", __func__); + else + fatal("Decryption integrity check failed"); + } if (cc->encrypt && !EVP_CIPHER_CTX_ctrl(&cc->evp, EVP_CTRL_GCM_GET_TAG, authlen, dest + aadlen + len)) |