aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2000-08-04 00:01:39 +0000
committerDr. Stephen Henson <steve@openssl.org>2000-08-04 00:01:39 +0000
commit2d978cbd30f60f9e9ddaf743d818ef66ec217f47 (patch)
tree297e11d286b60b7118bc349e89f1c2b4354618ef /crypto
parent0a3f67e3b0d558d30ebf57ba4fafb299eef49398 (diff)
downloadopenssl-2d978cbd30f60f9e9ddaf743d818ef66ec217f47.tar.gz
Changes needed for Tandem NSK, supplied by Scott Uroff (scott@xypro.com).
Fix warnings with BIO_dump_indent().
Diffstat (limited to 'crypto')
-rw-r--r--crypto/asn1/asn1_par.c4
-rw-r--r--crypto/bn/bn.h6
-rw-r--r--crypto/bn/bn_div.c2
-rw-r--r--crypto/bn/bn_lib.c14
-rw-r--r--crypto/bn/bn_mont.c17
5 files changed, 29 insertions, 14 deletions
diff --git a/crypto/asn1/asn1_par.c b/crypto/asn1/asn1_par.c
index dc868a4d87..facfdd27fc 100644
--- a/crypto/asn1/asn1_par.c
+++ b/crypto/asn1/asn1_par.c
@@ -292,7 +292,7 @@ static int asn1_parse2(BIO *bp, unsigned char **pp, long length, int offset,
if (BIO_write(bp,"\n",1) <= 0)
goto end;
}
- if (BIO_dump_indent(bp,opp,
+ if (BIO_dump_indent(bp,(char *)opp,
((dump == -1 || dump > os->length)?os->length:dump),
dump_indent) <= 0)
goto end;
@@ -373,7 +373,7 @@ static int asn1_parse2(BIO *bp, unsigned char **pp, long length, int offset,
if (BIO_write(bp,"\n",1) <= 0)
goto end;
}
- if (BIO_dump_indent(bp,p,
+ if (BIO_dump_indent(bp,(char *)p,
((dump == -1 || dump > len)?len:dump),
dump_indent) <= 0)
goto end;
diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h
index d292394c0f..1eb8395b25 100644
--- a/crypto/bn/bn.h
+++ b/crypto/bn/bn.h
@@ -233,7 +233,7 @@ typedef struct bignum_st
BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit chunks. */
int top; /* Index of last used d +1. */
/* The next are internal book keeping for bn_expand. */
- int max; /* Size of the d array. */
+ int dmax; /* Size of the d array. */
int neg; /* one if the number is negative */
int flags;
} BIGNUM;
@@ -435,9 +435,9 @@ int BN_div_recp(BIGNUM *dv, BIGNUM *rem, BIGNUM *m,
/* library internal functions */
-#define bn_expand(a,bits) ((((((bits+BN_BITS2-1))/BN_BITS2)) <= (a)->max)?\
+#define bn_expand(a,bits) ((((((bits+BN_BITS2-1))/BN_BITS2)) <= (a)->dmax)?\
(a):bn_expand2((a),(bits)/BN_BITS2+1))
-#define bn_wexpand(a,words) (((words) <= (a)->max)?(a):bn_expand2((a),(words)))
+#define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words)))
BIGNUM *bn_expand2(BIGNUM *a, int words);
#define bn_fix_top(a) \
diff --git a/crypto/bn/bn_div.c b/crypto/bn/bn_div.c
index 07af1d3b44..c3772c243b 100644
--- a/crypto/bn/bn_div.c
+++ b/crypto/bn/bn_div.c
@@ -205,7 +205,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
BN_init(&wnum);
wnum.d= &(snum->d[loop]);
wnum.top= div_n;
- wnum.max= snum->max+1; /* a bit of a lie */
+ wnum.dmax= snum->dmax+1; /* a bit of a lie */
/* Get the top 2 words of sdiv */
/* i=sdiv->top; */
diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c
index 81e5d7d98e..b693c7e0c0 100644
--- a/crypto/bn/bn_lib.c
+++ b/crypto/bn/bn_lib.c
@@ -262,7 +262,7 @@ void BN_clear_free(BIGNUM *a)
if (a == NULL) return;
if (a->d != NULL)
{
- memset(a->d,0,a->max*sizeof(a->d[0]));
+ memset(a->d,0,a->dmax*sizeof(a->d[0]));
if (!(BN_get_flags(a,BN_FLG_STATIC_DATA)))
OPENSSL_free(a->d);
}
@@ -299,7 +299,7 @@ BIGNUM *BN_new(void)
ret->flags=BN_FLG_MALLOCED;
ret->top=0;
ret->neg=0;
- ret->max=0;
+ ret->dmax=0;
ret->d=NULL;
return(ret);
}
@@ -317,7 +317,7 @@ BIGNUM *bn_expand2(BIGNUM *b, int words)
bn_check_top(b);
- if (words > b->max)
+ if (words > b->dmax)
{
bn_check_top(b);
if (BN_get_flags(b,BN_FLG_STATIC_DATA))
@@ -427,17 +427,17 @@ BIGNUM *bn_expand2(BIGNUM *b, int words)
}
b->d=a;
- b->max=words;
+ b->dmax=words;
/* Now need to zero any data between b->top and b->max */
A= &(b->d[b->top]);
- for (i=(b->max - b->top)>>3; i>0; i--,A+=8)
+ for (i=(b->dmax - b->top)>>3; i>0; i--,A+=8)
{
A[0]=0; A[1]=0; A[2]=0; A[3]=0;
A[4]=0; A[5]=0; A[6]=0; A[7]=0;
}
- for (i=(b->max - b->top)&7; i>0; i--,A++)
+ for (i=(b->dmax - b->top)&7; i>0; i--,A++)
A[0]=0;
#else
memset(A,0,sizeof(BN_ULONG)*(words+1));
@@ -508,7 +508,7 @@ BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
void BN_clear(BIGNUM *a)
{
if (a->d != NULL)
- memset(a->d,0,a->max*sizeof(a->d[0]));
+ memset(a->d,0,a->dmax*sizeof(a->d[0]));
a->top=0;
a->neg=0;
}
diff --git a/crypto/bn/bn_mont.c b/crypto/bn/bn_mont.c
index 6a54e8f4cf..d40a153f24 100644
--- a/crypto/bn/bn_mont.c
+++ b/crypto/bn/bn_mont.c
@@ -157,7 +157,22 @@ int BN_from_montgomery(BIGNUM *ret, BIGNUM *a, BN_MONT_CTX *mont,
#endif
for (i=0; i<nl; i++)
{
+#ifdef __TANDEM
+ {
+ long long t1;
+ long long t2;
+ long long t3;
+ t1 = rp[0] * (n0 & 0177777);
+ t2 = 037777600000l;
+ t2 = n0 & t2;
+ t3 = rp[0] & 0177777;
+ t2 = (t3 * t2) & BN_MASK2;
+ t1 = t1 + t2;
+ v=bn_mul_add_words(rp,np,nl,(BN_ULONG) t1);
+ }
+#else
v=bn_mul_add_words(rp,np,nl,(rp[0]*n0)&BN_MASK2);
+#endif
nrp++;
rp++;
if (((nrp[-1]+=v)&BN_MASK2) >= v)
@@ -284,7 +299,7 @@ int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
buf[1]=0;
tmod.d=buf;
tmod.top=1;
- tmod.max=2;
+ tmod.dmax=2;
tmod.neg=mod->neg;
/* Ri = R^-1 mod N*/
if ((BN_mod_inverse(&Ri,R,&tmod,ctx)) == NULL)