Changes between 0.9.2b and 0.9.3
+ *) Fix lots of warnings.
+ [Richard Levitte <levitte@stacken.kth.se>]
+
+ *) In add_cert_dir() in crypto/x509/by_dir.c, break out of the loop if
+ the directory spec didn't end with a LIST_SEPARATOR_CHAR.
+ [Richard Levitte <levitte@stacken.kth.se>]
+
*) Fix problems with sizeof(long) == 8.
[Andy Polyakov <appro@fy.chalmers.se>]
#include <sys/types.h>
#include <sys/stat.h>
#include "apps.h"
+#include "conf.h"
#include "bio.h"
#include "err.h"
#include "bn.h"
#include "x509v3.h"
#include "objects.h"
#include "pem.h"
-#include "conf.h"
#ifndef W_OK
#include <sys/file.h>
*/
#include <stdio.h>
+#include <string.h>
#include "pem.h"
#include "err.h"
#include "apps.h"
static int make_REQ(X509_REQ *req, EVP_PKEY *pkey, int attribs)
{
int ret=0,i;
- unsigned char *p,*q;
+ char *p,*q;
X509_REQ_INFO *ri;
char buf[100];
int nid,min,max;
int nbio_sock_error(int sock)
{
- int j,i,size;
+ int j,i;
+ unsigned int size;
size=sizeof(int);
i=getsockopt(sock,SOL_SOCKET,SO_ERROR,(char *)&j,&size);
int ret,i;
struct hostent *h1,*h2;
static struct sockaddr_in from;
- int len;
+ unsigned int len;
/* struct linger ling; */
if (!sock_init()) return(0);
int BIO_sock_error(int sock)
{
- int j,i,size;
+ int j,i;
+ unsigned int size;
size=sizeof(int);
static struct sockaddr_in from;
unsigned long l;
unsigned short port;
- int len;
+ unsigned int len;
char *p;
memset((char *)&from,0,sizeof(from));
#include <stdio.h>
#include <stdlib.h>
#include "conf.h"
+#include "err.h"
main()
{
/* Changed the following text constant to binary so it will work on ebcdic
* machines :-) */
/* static char cbc_data[40]="7654321 Now is the time for \0001"; */
-static char cbc_data[40]={
+static unsigned char cbc_data[40]={
0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x20,
0x4E,0x6F,0x77,0x20,0x69,0x73,0x20,0x74,
0x68,0x65,0x20,0x74,0x69,0x6D,0x65,0x20,
/* extra unencrypted data
* for when a block of 100 comes in but is des_read one byte at
* a time. */
- static char *unnet=NULL;
+ static unsigned char *unnet=NULL;
static int unnet_start=0;
static int unnet_left=0;
- static char *tmpbuf=NULL;
+ static unsigned char *tmpbuf=NULL;
int i;
long num=0,rnum;
unsigned char *p;
if (tmpbuf == NULL)
{
- tmpbuf=(char *)Malloc(BSIZE);
+ tmpbuf=(unsigned char *)Malloc(BSIZE);
if (tmpbuf == NULL) return(-1);
}
if (net == NULL)
}
if (unnet == NULL)
{
- unnet=(char *)Malloc(BSIZE);
+ unnet=(unsigned char *)Malloc(BSIZE);
if (unnet == NULL) return(-1);
}
/* left over data from last decrypt */
else
{
if (des_rw_mode & DES_PCBC_MODE)
- des_pcbc_encrypt(net,buf,num,sched,iv,
- DES_DECRYPT);
+ des_pcbc_encrypt(net,(unsigned char*)buf,num,
+ sched,iv,DES_DECRYPT);
else
- des_cbc_encrypt(net,buf,num,sched,iv,
- DES_DECRYPT);
+ des_cbc_encrypt(net,(unsigned char*)buf,num,
+ sched,iv,DES_DECRYPT);
}
}
return((int)num);
long rnum;
int i,j,k,outnum;
- static char *outbuf=NULL;
- char shortbuf[8];
+ static unsigned char *outbuf=NULL;
+ unsigned char shortbuf[8];
char *p;
- const char *cp;
+ const unsigned char *cp;
static int start=1;
if (outbuf == NULL)
{
- outbuf=(char *)Malloc(BSIZE+HDRSIZE);
+ outbuf=(unsigned char *)Malloc(BSIZE+HDRSIZE);
if (outbuf == NULL) return(-1);
}
/* If we are sending less than 8 bytes, the same char will look
}
else
{
- cp=buf;
+ cp=(unsigned char*)buf;
rnum=((len+7)/8*8); /* round up to nearest eight */
}
des_check_key=0;
des_set_key(key,ks);
des_check_key=i;
- des_cbc_cksum(str,key,length,ks,key);
+ des_cbc_cksum((unsigned char*)str,key,length,ks,key);
memset(ks,0,sizeof(ks));
des_set_odd_parity(key);
}
i=des_check_key;
des_check_key=0;
des_set_key(key1,ks);
- des_cbc_cksum(str,key1,length,ks,key1);
+ des_cbc_cksum((unsigned char*)str,key1,length,ks,key1);
des_set_key(key2,ks);
- des_cbc_cksum(str,key2,length,ks,key2);
+ des_cbc_cksum((unsigned char*)str,key2,length,ks,key2);
des_check_key=i;
memset(ks,0,sizeof(ks));
des_set_odd_parity(key1);
longswap(&(ctx->buf[ctx->buf_len]), md->digest->md_size);
ctx->buf_len+= md->digest->md_size;
- EVP_DigestUpdate(md, WELLKNOWN, strlen(WELLKNOWN));
+ EVP_DigestUpdate(md, (unsigned char*)WELLKNOWN, strlen(WELLKNOWN));
md->digest->final(&(ctx->buf[ctx->buf_len]), &(md->md.base[0]));
ctx->buf_len+= md->digest->md_size;
ctx->blockout= 1;
longswap(&(md->md.base[0]), md->digest->md_size);
ctx->buf_off+= md->digest->md_size;
- EVP_DigestUpdate(md, WELLKNOWN, strlen(WELLKNOWN));
+ EVP_DigestUpdate(md, (unsigned char*)WELLKNOWN, strlen(WELLKNOWN));
md->digest->final(tmp, &(md->md.base[0]));
ret= memcmp(&(ctx->buf[ctx->buf_off]), tmp, md->digest->md_size) == 0;
ctx->buf_off+= md->digest->md_size;
tl= swapem(tl);
memcpy(ctx->buf, &tl, OK_BLOCK_BLOCK);
tl= swapem(tl);
- EVP_DigestUpdate(md, &(ctx->buf[OK_BLOCK_BLOCK]), tl);
+ EVP_DigestUpdate(md, (unsigned char*) &(ctx->buf[OK_BLOCK_BLOCK]), tl);
md->digest->final(&(ctx->buf[ctx->buf_len]), &(md->md.base[0]));
ctx->buf_len+= md->digest->md_size;
ctx->blockout= 1;
tl= swapem(tl);
if (ctx->buf_len < tl+ OK_BLOCK_BLOCK+ md->digest->md_size) return;
- EVP_DigestUpdate(md, &(ctx->buf[OK_BLOCK_BLOCK]), tl);
+ EVP_DigestUpdate(md, (unsigned char*) &(ctx->buf[OK_BLOCK_BLOCK]), tl);
md->digest->final(tmp, &(md->md.base[0]));
if(memcmp(&(ctx->buf[tl+ OK_BLOCK_BLOCK]), tmp, md->digest->md_size) == 0)
{
ss=s;
s=p+1;
len=(int)(p-ss);
- if (len == 0) continue;
+ if (len == 0)
+ {
+ if (ss == p) break;
+ continue;
+ }
for (j=0; j<ctx->num_dirs; j++)
if (strncmp(ctx->dirs[j],ss,(unsigned int)len) == 0)
continue;
if(is_string) {
if(!(gen->d.ia5 = ASN1_IA5STRING_new()) ||
- !ASN1_STRING_set(gen->d.ia5, value, strlen(value))) {
+ !ASN1_STRING_set(gen->d.ia5, (unsigned char*)value,
+ strlen(value))) {
X509V3err(X509V3_F_V2I_GENERAL_NAME,ERR_R_MALLOC_FAILURE);
goto err;
}
X509V3_EXT_METHOD *method;
STACK *nval;
char *ext_struc;
- char *ext_der, *p;
+ unsigned char *ext_der, *p;
int ext_len;
ASN1_OCTET_STRING *ext_oct;
if(ext_nid == NID_undef) {
return NULL;
}
if(!(ia5 = ASN1_IA5STRING_new())) goto err;
- if(!ASN1_STRING_set((ASN1_STRING *)ia5, str, strlen(str))) {
+ if(!ASN1_STRING_set((ASN1_STRING *)ia5, (unsigned char*)str,
+ strlen(str))) {
ASN1_IA5STRING_free(ia5);
goto err;
}
int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, int flag, int indent)
{
- char *ext_str = NULL, *p, *value = NULL;
+ char *ext_str = NULL, *value = NULL;
+ unsigned char *p;
X509V3_EXT_METHOD *method;
STACK *nval = NULL;
int ok = 1;