summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES4
-rwxr-xr-xConfigure2
-rw-r--r--apps/ca.c27
-rw-r--r--apps/ciphers.c3
-rw-r--r--apps/dgst.c4
-rw-r--r--apps/dsa.c2
-rw-r--r--apps/enc.c2
-rw-r--r--apps/req.c2
-rw-r--r--apps/rsa.c2
-rw-r--r--apps/s_apps.h2
-rw-r--r--apps/s_cb.c2
-rw-r--r--apps/s_server.c2
-rw-r--r--apps/x509.c13
-rw-r--r--crypto/asn1/a_object.c19
-rw-r--r--crypto/asn1/a_set.c4
-rw-r--r--crypto/asn1/a_sign.c2
-rw-r--r--crypto/asn1/a_verify.c4
-rw-r--r--crypto/asn1/asn1.h4
-rw-r--r--crypto/asn1/asn1_lib.c2
-rw-r--r--crypto/asn1/asn1_par.c7
-rw-r--r--crypto/asn1/f_enum.c2
-rw-r--r--crypto/asn1/f_int.c2
-rw-r--r--crypto/asn1/f_string.c2
-rw-r--r--crypto/asn1/n_pkey.c4
-rw-r--r--crypto/asn1/t_pkey.c10
-rw-r--r--crypto/asn1/t_req.c3
-rw-r--r--crypto/asn1/t_x509.c13
-rw-r--r--crypto/asn1/x_x509.c4
-rw-r--r--crypto/bf/bf_ecb.c4
-rw-r--r--crypto/bf/blowfish.h4
-rw-r--r--crypto/bio/b_dump.c2
-rw-r--r--crypto/bio/b_sock.c13
-rw-r--r--crypto/bio/bio.h29
-rw-r--r--crypto/bio/bio_cb.c2
-rw-r--r--crypto/bio/bio_lib.c4
-rw-r--r--crypto/bio/bss_conn.c4
-rw-r--r--crypto/bio/bss_log.c4
-rw-r--r--crypto/bn/bn_lib.c2
-rw-r--r--crypto/bn/bn_print.c2
-rw-r--r--crypto/buffer/buffer.c2
-rw-r--r--crypto/buffer/buffer.h2
-rw-r--r--crypto/comp/comp.h2
-rw-r--r--crypto/conf/conf.c4
-rw-r--r--crypto/cryptlib.c26
-rw-r--r--crypto/crypto.h31
-rw-r--r--crypto/cversion.c2
-rw-r--r--crypto/des/des.org2
-rw-r--r--crypto/des/des_enc.c17
-rw-r--r--crypto/des/des_locl.org48
-rw-r--r--crypto/des/ecb_enc.c8
-rw-r--r--crypto/des/fcrypt_b.c2
-rw-r--r--crypto/des/pcbc_enc.c9
-rw-r--r--crypto/des/qud_cksm.c4
-rw-r--r--crypto/des/set_key.c4
-rw-r--r--crypto/des/supp.c4
-rw-r--r--crypto/dh/dh_lib.c2
-rw-r--r--crypto/dsa/dsa_lib.c2
-rw-r--r--crypto/err/err.c30
-rw-r--r--crypto/err/err.h24
-rw-r--r--crypto/err/err_prn.c4
-rw-r--r--crypto/evp/bio_enc.c6
-rw-r--r--crypto/evp/bio_md.c4
-rw-r--r--crypto/evp/bio_ok.c4
-rw-r--r--crypto/evp/digest.c4
-rw-r--r--crypto/evp/e_cbc_r2.c4
-rw-r--r--crypto/evp/evp.h37
-rw-r--r--crypto/evp/evp_enc.c8
-rw-r--r--crypto/evp/evp_key.c4
-rw-r--r--crypto/evp/names.c18
-rw-r--r--crypto/hmac/hmac.c2
-rw-r--r--crypto/hmac/hmac.h4
-rw-r--r--crypto/idea/i_ecb.c4
-rw-r--r--crypto/idea/idea.org4
-rw-r--r--crypto/lhash/lhash.c4
-rw-r--r--crypto/lhash/lhash.h2
-rw-r--r--crypto/md2/md2.org4
-rw-r--r--crypto/md2/md2_dgst.c4
-rw-r--r--crypto/mem.c8
-rw-r--r--crypto/objects/o_names.c10
-rw-r--r--crypto/objects/obj_dat.c10
-rw-r--r--crypto/objects/obj_lib.c17
-rw-r--r--crypto/objects/objects.h20
-rw-r--r--crypto/pem/pem_all.c6
-rw-r--r--crypto/pem/pem_info.c2
-rw-r--r--crypto/pem/pem_lib.c26
-rw-r--r--crypto/pkcs12/p12_key.c4
-rw-r--r--crypto/pkcs12/p12_mutl.c2
-rw-r--r--crypto/pkcs12/pkcs12.h4
-rw-r--r--crypto/pkcs7/pk7_doit.c10
-rw-r--r--crypto/rand/md_rand.c4
-rw-r--r--crypto/rc2/rc2_ecb.c2
-rw-r--r--crypto/rc4/rc4.org4
-rw-r--r--crypto/rc4/rc4_skey.c4
-rw-r--r--crypto/rsa/rsa.h2
-rw-r--r--crypto/rsa/rsa_lib.c2
-rw-r--r--crypto/stack/stack.c2
-rw-r--r--crypto/txt_db/txt_db.c2
-rw-r--r--crypto/x509/by_dir.c8
-rw-r--r--crypto/x509/by_file.c4
-rw-r--r--crypto/x509/x509.h24
-rw-r--r--crypto/x509/x509_def.c12
-rw-r--r--crypto/x509/x509_obj.c16
-rw-r--r--crypto/x509/x509_txt.c2
-rw-r--r--crypto/x509/x509_vfy.c2
-rw-r--r--crypto/x509/x509_vfy.h6
-rw-r--r--crypto/x509/x_all.c8
-rw-r--r--crypto/x509v3/v3_conf.c4
-rw-r--r--crypto/x509v3/v3_utl.c12
-rw-r--r--crypto/x509v3/x509v3.h12
-rw-r--r--ssl/s2_clnt.c4
-rw-r--r--ssl/s2_enc.c4
-rw-r--r--ssl/s2_lib.c2
-rw-r--r--ssl/s2_pkt.c2
-rw-r--r--ssl/s2_srvr.c4
-rw-r--r--ssl/s3_enc.c24
-rw-r--r--ssl/s3_lib.c6
-rw-r--r--ssl/s3_pkt.c15
-rw-r--r--ssl/ssl.h16
-rw-r--r--ssl/ssl2.h2
-rw-r--r--ssl/ssl3.h8
-rw-r--r--ssl/ssl_ciph.c14
-rw-r--r--ssl/ssl_lib.c5
-rw-r--r--ssl/ssl_locl.h8
-rw-r--r--ssl/t1_enc.c14
124 files changed, 496 insertions, 448 deletions
diff --git a/CHANGES b/CHANGES
index de8b1cdd2e..748f9b0411 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,10 @@
Changes between 0.9.2b and 0.9.3
+ *) A lot of constification, and fix a bug in X509_NAME_oneline() that could
+ return a const string when you are expecting an allocated buffer.
+ [Ben Laurie]
+
*) Add support for ASN1 types UTF8String and VISIBLESTRING.
[Steve Henson]
diff --git a/Configure b/Configure
index 72753f943a..98ff3eceaa 100755
--- a/Configure
+++ b/Configure
@@ -83,7 +83,7 @@ my %table=(
"purify", "purify gcc:-g -DPURIFY -Wall:-lsocket -lnsl::::",
"debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCRYPTO_MDEBUG -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror:-lefence::::",
"debug-ben", "gcc:-DBN_DEBUG -DREF_CHECK -DCRYPTO_MDEBUG -O2 -Wall -Wshadow -Werror -pipe:::::",
-"debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCRYPTO_MDEBUG -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe:::::",
+"debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe:::::",
"debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
"dist", "cc:-O -DNOPROTO::::",
diff --git a/apps/ca.c b/apps/ca.c
index 7a8dcbfdb3..4225158dfa 100644
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -168,17 +168,20 @@ static int index_name_cmp(char **a,char **b);
static BIGNUM *load_serial(char *serialfile);
static int save_serial(char *serialfile, BIGNUM *serial);
static int certify(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
- EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,char *startdate,
- int days, int batch, char *ext_sect, LHASH *conf,int verbose);
+ const EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,
+ char *startdate,int days,int batch,char *ext_sect,
+ LHASH *conf,int verbose);
static int certify_cert(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
- EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,char *startdate,
- int days,int batch,char *ext_sect, LHASH *conf,int verbose);
+ const EVP_MD *dgst,STACK *policy,TXT_DB *db,
+ BIGNUM *serial,char *startdate,int days,int batch,
+ char *ext_sect, LHASH *conf,int verbose);
static int certify_spkac(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
- EVP_MD *dgst,STACK *policy,TXT_DB *db,BIGNUM *serial,char *startdate,
- int days,char *ext_sect,LHASH *conf,int verbose);
+ const EVP_MD *dgst,STACK *policy,TXT_DB *db,
+ BIGNUM *serial,char *startdate,int days,
+ char *ext_sect,LHASH *conf,int verbose);
static int fix_data(int nid, int *type);
static void write_new_certificate(BIO *bp, X509 *x, int output_der);
-static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, EVP_MD *dgst,
+static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
STACK *policy, TXT_DB *db, BIGNUM *serial, char *startdate,
int days, int batch, int verbose, X509_REQ *req, char *ext_sect,
LHASH *conf);
@@ -257,7 +260,7 @@ char **argv;
char **pp,*p,*f;
int i,j;
long l;
- EVP_MD *dgst=NULL;
+ const EVP_MD *dgst=NULL;
STACK *attribs=NULL;
STACK *cert_sk=NULL;
BIO *hex=NULL;
@@ -1303,7 +1306,7 @@ X509 **xret;
char *infile;
EVP_PKEY *pkey;
X509 *x509;
-EVP_MD *dgst;
+const EVP_MD *dgst;
STACK *policy;
TXT_DB *db;
BIGNUM *serial;
@@ -1374,7 +1377,7 @@ X509 **xret;
char *infile;
EVP_PKEY *pkey;
X509 *x509;
-EVP_MD *dgst;
+const EVP_MD *dgst;
STACK *policy;
TXT_DB *db;
BIGNUM *serial;
@@ -1448,7 +1451,7 @@ static int do_body(xret,pkey,x509,dgst,policy,db,serial,startdate,days,
X509 **xret;
EVP_PKEY *pkey;
X509 *x509;
-EVP_MD *dgst;
+const EVP_MD *dgst;
STACK *policy;
TXT_DB *db;
BIGNUM *serial;
@@ -1921,7 +1924,7 @@ X509 **xret;
char *infile;
EVP_PKEY *pkey;
X509 *x509;
-EVP_MD *dgst;
+const EVP_MD *dgst;
STACK *policy;
TXT_DB *db;
BIGNUM *serial;
diff --git a/apps/ciphers.c b/apps/ciphers.c
index a62c5b0e8a..146527790e 100644
--- a/apps/ciphers.c
+++ b/apps/ciphers.c
@@ -83,7 +83,8 @@ char **argv;
{
int ret=1,i;
int verbose=0;
- char **pp,*p;
+ char **pp;
+ const char *p;
int badops=0;
SSL_CTX *ctx=NULL;
SSL *ssl=NULL;
diff --git a/apps/dgst.c b/apps/dgst.c
index 86d60c53da..eb7462d0b1 100644
--- a/apps/dgst.c
+++ b/apps/dgst.c
@@ -85,10 +85,10 @@ char **argv;
{
unsigned char *buf=NULL;
int i,err=0;
- EVP_MD *md=NULL,*m;
+ const EVP_MD *md=NULL,*m;
BIO *in=NULL,*inp;
BIO *bmd=NULL;
- char *name;
+ const char *name;
#define PROG_NAME_SIZE 16
char pname[PROG_NAME_SIZE];
int separator=0;
diff --git a/apps/dsa.c b/apps/dsa.c
index f58ff35c7f..1f57c46005 100644
--- a/apps/dsa.c
+++ b/apps/dsa.c
@@ -89,7 +89,7 @@ char **argv;
int ret=1;
DSA *dsa=NULL;
int i,badops=0;
- EVP_CIPHER *enc=NULL;
+ const EVP_CIPHER *enc=NULL;
BIO *in=NULL,*out=NULL;
int informat,outformat,text=0,noout=0;
char *infile,*outfile,*prog;
diff --git a/apps/enc.c b/apps/enc.c
index c00d520b44..00cc336177 100644
--- a/apps/enc.c
+++ b/apps/enc.c
@@ -97,7 +97,7 @@ char **argv;
char *hkey=NULL,*hiv=NULL;
int enc=1,printkey=0,i,base64=0;
int debug=0,olb64=0;
- EVP_CIPHER *cipher=NULL,*c;
+ const EVP_CIPHER *cipher=NULL,*c;
char *inf=NULL,*outf=NULL;
BIO *in=NULL,*out=NULL,*b64=NULL,*benc=NULL,*rbio=NULL,*wbio=NULL;
#define PROG_NAME_SIZE 16
diff --git a/apps/req.c b/apps/req.c
index 136cdc7d01..0cfed93878 100644
--- a/apps/req.c
+++ b/apps/req.c
@@ -157,7 +157,7 @@ char **argv;
EVP_CIPHER *cipher=NULL;
int modulus=0;
char *p;
- EVP_MD *md_alg=NULL,*digest=EVP_md5();
+ const EVP_MD *md_alg=NULL,*digest=EVP_md5();
#ifndef MONOLITH
MS_STATIC char config_name[256];
#endif
diff --git a/apps/rsa.c b/apps/rsa.