Commit 3c07b4c2 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Various Win32 related fixes. Doesn't compile yet on

Win32 but it is getting there...

Update mkdef.pl to handle ASN1_ANY and fix headers.

Stop various VC++ warnings.

Include some fixes from "Peter 'Luna' Runestig"
<peter@runestig.com>

Remove external declaration for des_set_weak_key_flag:
it doesn't exist.
parent 1cc0b0a6
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -292,12 +292,17 @@ typedef struct ASN1_VALUE_st ASN1_VALUE;
#define DECLARE_ASN1_FUNCTIONS_name(type, name) \
	type *name##_new(void); \
	void name##_free(type *a); \
	DECLARE_ASN1_ENCODE_FUNCTIONS(type, name)
	DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)

#define	DECLARE_ASN1_ENCODE_FUNCTIONS(type, name) \
#define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \
	type *name##_new(void); \
	void name##_free(type *a); \
	DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name)

#define	DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \
	type *d2i_##name(type **a, unsigned char **in, long len); \
	int i2d_##name(type *a, unsigned char **out); \
	extern const ASN1_ITEM name##_it;
	extern const ASN1_ITEM itname##_it;

#define	DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \
	type *d2i_##name(type **a, const unsigned char **in, long len); \
@@ -641,7 +646,7 @@ typedef struct BIT_STRING_BITNAME_st {
#define IS_SEQUENCE	0
#define IS_SET		1

DECLARE_ASN1_FUNCTIONS(ASN1_TYPE)
DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE)

int ASN1_TYPE_get(ASN1_TYPE *a);
void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value);
+2 −2
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, unsigned char **in, long len, const ASN1
		if(tag != -1) {
			p = *in;
			imphack = *p;
			*p = (*p & V_ASN1_CONSTRUCTED) | it->utype;
			*p = (unsigned char)((*p & V_ASN1_CONSTRUCTED) | it->utype);
		}

		ptmpval = cf->asn1_d2i(pval, in, len);
@@ -315,7 +315,7 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, unsigned char **in, long len, const ASN1
			 * it increases efficiency in some cases.
			 */
			if(i == (it->tcount - 1)) isopt = 0;
			else isopt = seqtt->flags & ASN1_TFLG_OPTIONAL;
			else isopt = (char)(seqtt->flags & ASN1_TFLG_OPTIONAL);
			/* attempt to read in field, allowing each to be OPTIONAL */
			ret = asn1_template_ex_d2i(pseqval, &p, len, seqtt, isopt, ctx);
			if(!ret) {
+0 −1
Original line number Diff line number Diff line
@@ -113,7 +113,6 @@ typedef struct des_ks_struct

OPENSSL_EXTERN int des_check_key;	/* defaults to false */
OPENSSL_EXTERN int des_rw_mode;		/* defaults to DES_PCBC_MODE */
OPENSSL_EXTERN int des_set_weak_key_flag; /* set the weak key flag */

const char *des_options(void);
void des_ecb3_encrypt(const_des_cblock *input, des_cblock *output,
+2 −2
Original line number Diff line number Diff line
@@ -295,12 +295,12 @@ void OBJ_NAME_do_all_sorted(int type,void (*fn)(const OBJ_NAME *,void *arg),
	d.n=0;
	OBJ_NAME_do_all(type,do_all_sorted_fn,&d);

	qsort(d.names,d.n,sizeof *d.names,do_all_sorted_cmp);
	qsort((void *)d.names,d.n,sizeof *d.names,do_all_sorted_cmp);

	for(n=0 ; n < d.n ; ++n)
		fn(d.names[n],arg);

	OPENSSL_free(d.names);
	OPENSSL_free((void *)d.names);
	}

static int free_type;
+2 −0
Original line number Diff line number Diff line
@@ -120,6 +120,8 @@ ASN1_CHOICE(OCSP_RESPID) = {
	   ASN1_IMP(OCSP_RESPID, value.byKey, ASN1_OCTET_STRING, 2)
} ASN1_CHOICE_END(OCSP_RESPID);

IMPLEMENT_ASN1_FUNCTIONS(OCSP_RESPID)

ASN1_SEQUENCE(OCSP_REVOKEDINFO) = {
	ASN1_SIMPLE(OCSP_REVOKEDINFO, revocationTime, ASN1_GENERALIZEDTIME),
  	ASN1_EXP_OPT(OCSP_REVOKEDINFO, revocationReason, ASN1_ENUMERATED, 0)
Loading