Support INSTALL_PREFIX for packagers.
[openssl.git] / crypto / evp / evp_pbe.c
index 1418921a04cde51df27db930b633aa68ca620335..848edddd8c9257e7393fac30ba838162ca94a5d4 100644 (file)
@@ -1,4 +1,4 @@
-/* p12_pbop.c */
+/* evp_pbe.c */
 /* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
  * project 1999.
  */
@@ -57,8 +57,8 @@
  */
 
 #include <stdio.h>
-#include "evp.h"
-#include "x509.h"
+#include <openssl/evp.h>
+#include <openssl/x509.h>
 #include "cryptlib.h"
 
 /* Password based encryption (PBE) functions */
@@ -74,7 +74,7 @@ EVP_MD *md;
 EVP_PBE_KEYGEN *keygen;
 } EVP_PBE_CTL;
 
-int EVP_PBE_CipherInit (ASN1_OBJECT *pbe_obj, unsigned char *pass, int passlen,
+int EVP_PBE_CipherInit (ASN1_OBJECT *pbe_obj, const char *pass, int passlen,
             unsigned char *salt, int saltlen, int iter, EVP_CIPHER_CTX *ctx,
             int en_de)
 {
@@ -83,8 +83,7 @@ int EVP_PBE_CipherInit (ASN1_OBJECT *pbe_obj, unsigned char *pass, int passlen,
        unsigned char key[EVP_MAX_KEY_LENGTH], iv[EVP_MAX_IV_LENGTH];
        int i;
        pbelu.pbe_nid = OBJ_obj2nid(pbe_obj);
-       if ((pbelu.pbe_nid != NID_undef) && pbe_algs) 
-                       i = sk_find (pbe_algs, (char *)&pbelu);
+       if (pbelu.pbe_nid != NID_undef) i = sk_find(pbe_algs, (char *)&pbelu);
        else i = -1;
 
        if (i == -1) {
@@ -109,15 +108,15 @@ int EVP_PBE_CipherInit (ASN1_OBJECT *pbe_obj, unsigned char *pass, int passlen,
 
 /* Setup a PBE algorithm but take most parameters from AlgorithmIdentifier */
 
-int EVP_PBE_ALGOR_CipherInit (X509_ALGOR *algor, unsigned char *pass,
-            int passlen, EVP_CIPHER_CTX *ctx, int en_de)
+int EVP_PBE_ALGOR_CipherInit (X509_ALGOR *algor, const char *pass,
+                             int passlen, EVP_CIPHER_CTX *ctx, int en_de)
 {
        PBEPARAM *pbe;
        int saltlen, iter;
        unsigned char *salt, *pbuf;
 
        /* Extract useful info from algor */
-       pbuf = (char *) algor->parameter->value.sequence->data;
+       pbuf = algor->parameter->value.sequence->data;
        if (!(pbe = d2i_PBEPARAM (NULL, &pbuf,
                         algor->parameter->value.sequence->length))) {
                EVPerr(EVP_F_EVP_PBE_ALGOR_CIPHERINIT,EVP_R_DECODE_ERROR);
@@ -167,4 +166,5 @@ int EVP_PBE_alg_add (int nid, EVP_CIPHER *cipher, EVP_MD *md,
 void EVP_PBE_cleanup(void)
 {
        sk_pop_free(pbe_algs, FreeFunc);
+       pbe_algs = NULL;
 }