Server side EVP_PKEY DH support
[openssl.git] / apps / passwd.c
index 70ecb874ef4137b1c4b6b1286a01b169d8f2d2fa..f0ab24358010acac348767f5ebf2cc88f3374254 100644 (file)
@@ -314,15 +314,15 @@ static char *md5crypt(const char *passwd, const char *magic, const char *salt)
     out_buf[0] = '$';
     out_buf[1] = 0;
     assert(strlen(magic) <= 4); /* "1" or "apr1" */
-    strncat(out_buf, magic, 4);
-    strncat(out_buf, "$", 1);
-    strncat(out_buf, salt, 8);
+    OPENSSL_strlcat(out_buf, magic, sizeof out_buf);
+    OPENSSL_strlcat(out_buf, "$", sizeof out_buf);
+    OPENSSL_strlcat(out_buf, salt, sizeof out_buf);
     assert(strlen(out_buf) <= 6 + 8); /* "$apr1$..salt.." */
     salt_out = out_buf + 2 + strlen(magic);
     salt_len = strlen(salt_out);
     assert(salt_len <= 8);
 
-    md = EVP_MD_CTX_create();
+    md = EVP_MD_CTX_new();
     if (md == NULL)
         return NULL;
     EVP_DigestInit_ex(md, EVP_md5(), NULL);
@@ -332,7 +332,7 @@ static char *md5crypt(const char *passwd, const char *magic, const char *salt)
     EVP_DigestUpdate(md, "$", 1);
     EVP_DigestUpdate(md, salt_out, salt_len);
 
-    md2 = EVP_MD_CTX_create();
+    md2 = EVP_MD_CTX_new();
     if (md2 == NULL)
         return NULL;
     EVP_DigestInit_ex(md2, EVP_md5(), NULL);
@@ -364,8 +364,8 @@ static char *md5crypt(const char *passwd, const char *magic, const char *salt)
                          (i & 1) ? sizeof buf : passwd_len);
         EVP_DigestFinal_ex(md2, buf, NULL);
     }
-    EVP_MD_CTX_destroy(md2);
-    EVP_MD_CTX_destroy(md);
+    EVP_MD_CTX_free(md2);
+    EVP_MD_CTX_free(md);
 
     {
         /* transform buf into output string */