From 60000cebb5c0fdc6b9e9d9ff55258c5d73eb5110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Sun, 17 Apr 2011 17:58:01 +0200 Subject: [PATCH] Nettle: Support new DES API in Nettle 2.1. --- src/post_modules/Nettle/cipher.cmod | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/post_modules/Nettle/cipher.cmod b/src/post_modules/Nettle/cipher.cmod index 7e099d1368..b908825032 100644 --- a/src/post_modules/Nettle/cipher.cmod +++ b/src/post_modules/Nettle/cipher.cmod @@ -571,6 +571,12 @@ pike_des_set_key(void *c, if (!des_set_key(ctx, (const uint8_t *)key)) { +#ifndef DES_WEAK_KEY + /* Nettle 2.1 and later. */ + if (!force) + Pike_error("DES_INFO: Key is weak.\n"); +#else + /* Nettle 2.0 and earlier. */ switch (ctx->status) { case DES_WEAK_KEY: @@ -588,6 +594,7 @@ pike_des_set_key(void *c, default: Pike_error("DES_INFO: Unexpected error, please send a bug report.\n"); } +#endif } } @@ -746,6 +753,13 @@ pike_des3_set_key(void *c, * individual keys by ourself. */ for (i = 0; i<3; i++, key += DES_KEY_SIZE) if (!des_set_key(&ctx->des[i], (const uint8_t *)key)) + { +#ifndef DES_WEAK_KEY + /* Nettle 2.1 and later. */ + if (!force) + Pike_error("DES3_INFO: Key is weak.\n"); +#else + /* Nettle 2.0 and earlier. */ switch (ctx->des[i].status) { case DES_WEAK_KEY: @@ -762,6 +776,8 @@ pike_des3_set_key(void *c, Pike_error("DES3_INFO: Key has bad parity.\n"); default: Pike_error("DES3_INFO: Unexpected error, please send a bug report.\n"); + } +#endif } } #define pike_des3_set_encrypt_key pike_des3_set_key -- GitLab