Fix escaping code for string printing. If *any* escaping is enabled we
[oweals/openssl.git] / crypto / des / set_key.c
index 683916e71b010de076820c7bec701ce3a3e52893..c0806d593c1fcf09e8b2456fdba380d13830eaad 100644 (file)
  * 1.0 First working version
  */
 #include "des_locl.h"
+#ifdef OPENSSL_FIPS
+#include <openssl/fips.h>
+#endif
+
 
 OPENSSL_IMPLEMENT_GLOBAL(int,DES_check_key);   /* defaults to false */
 
@@ -87,7 +91,7 @@ static const unsigned char odd_parity[256]={
 
 void DES_set_odd_parity(DES_cblock *key)
        {
-       int i;
+       unsigned int i;
 
        for (i=0; i<DES_KEY_SZ; i++)
                (*key)[i]=odd_parity[(*key)[i]];
@@ -95,7 +99,7 @@ void DES_set_odd_parity(DES_cblock *key)
 
 int DES_check_key_parity(const_DES_cblock *key)
        {
-       int i;
+       unsigned int i;
 
        for (i=0; i<DES_KEY_SZ; i++)
                {
@@ -115,7 +119,7 @@ int DES_check_key_parity(const_DES_cblock *key)
  * (and actual cblock values).
  */
 #define NUM_WEAK_KEY   16
-static DES_cblock weak_keys[NUM_WEAK_KEY]={
+static const DES_cblock weak_keys[NUM_WEAK_KEY]={
        /* weak keys */
        {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},
        {0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
@@ -342,13 +346,17 @@ void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule)
        register DES_LONG *k;
        register int i;
 
-#if OPENBSD_DEV_CRYPTO
+#ifdef OPENBSD_DEV_CRYPTO
        memcpy(schedule->key,key,sizeof schedule->key);
        schedule->session=NULL;
 #endif
        k = &schedule->ks->deslong[0];
        in = &(*key)[0];
 
+#ifdef OPENSSL_FIPS
+       FIPS_selftest_check();
+#endif
+
        c2l(in,c);
        c2l(in,d);
 
@@ -405,3 +413,4 @@ void des_fixup_key_parity(des_cblock *key)
        des_set_odd_parity(key);
        }
 */
+