diff options
author | markus <> | 2002-09-05 22:12:12 +0000 |
---|---|---|
committer | markus <> | 2002-09-05 22:12:12 +0000 |
commit | e08fb7998d733407336e83a299f140b0c1d2fcd3 (patch) | |
tree | 64de5de3b0be4adfc5050b6f785b6975c564b730 /src/lib/libcrypto | |
parent | b200d1ec45aafc7c92b197a4b605e34834d74f1d (diff) | |
download | openbsd-e08fb7998d733407336e83a299f140b0c1d2fcd3.tar.gz openbsd-e08fb7998d733407336e83a299f140b0c1d2fcd3.tar.bz2 openbsd-e08fb7998d733407336e83a299f140b0c1d2fcd3.zip |
merge with 0.9.7-beta1
Diffstat (limited to 'src/lib/libcrypto')
-rw-r--r-- | src/lib/libcrypto/asn1/a_utctm.c | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/des/fcrypt.c | 8 | ||||
-rw-r--r-- | src/lib/libcrypto/des/read_pwd.c | 2 | ||||
-rw-r--r-- | src/lib/libcrypto/dsa/dsa_key.c | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/dsa/dsa_ossl.c | 56 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/Makefile.ssl | 2 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/eng_all.c | 5 | ||||
-rw-r--r-- | src/lib/libcrypto/engine/engine.h | 2 | ||||
-rw-r--r-- | src/lib/libcrypto/evp/evp_test.c | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/Makefile.ssl | 1 | ||||
-rw-r--r-- | src/lib/libcrypto/objects/obj_dat.pl | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/rand/randfile.c | 14 | ||||
-rw-r--r-- | src/lib/libcrypto/util/domd | 4 |
13 files changed, 31 insertions, 77 deletions
diff --git a/src/lib/libcrypto/asn1/a_utctm.c b/src/lib/libcrypto/asn1/a_utctm.c index dbb4a42c9d..ed2d827db2 100644 --- a/src/lib/libcrypto/asn1/a_utctm.c +++ b/src/lib/libcrypto/asn1/a_utctm.c | |||
@@ -222,7 +222,6 @@ ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t) | |||
222 | int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) | 222 | int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) |
223 | { | 223 | { |
224 | struct tm *tm; | 224 | struct tm *tm; |
225 | struct tm data; | ||
226 | int offset; | 225 | int offset; |
227 | int year; | 226 | int year; |
228 | 227 | ||
@@ -239,7 +238,7 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) | |||
239 | 238 | ||
240 | t -= offset*60; /* FIXME: may overflow in extreme cases */ | 239 | t -= offset*60; /* FIXME: may overflow in extreme cases */ |
241 | 240 | ||
242 | tm = OPENSSL_gmtime(&t, &data); | 241 | { struct tm data; tm = OPENSSL_gmtime(&t, &data); } |
243 | 242 | ||
244 | #define return_cmp(a,b) if ((a)<(b)) return -1; else if ((a)>(b)) return 1 | 243 | #define return_cmp(a,b) if ((a)<(b)) return -1; else if ((a)>(b)) return 1 |
245 | year = g2(s->data); | 244 | year = g2(s->data); |
diff --git a/src/lib/libcrypto/des/fcrypt.c b/src/lib/libcrypto/des/fcrypt.c index 387d97f28d..2758c32656 100644 --- a/src/lib/libcrypto/des/fcrypt.c +++ b/src/lib/libcrypto/des/fcrypt.c | |||
@@ -1,5 +1,13 @@ | |||
1 | /* NOCW */ | 1 | /* NOCW */ |
2 | #include <stdio.h> | 2 | #include <stdio.h> |
3 | #ifdef _OSD_POSIX | ||
4 | #ifndef CHARSET_EBCDIC | ||
5 | #define CHARSET_EBCDIC 1 | ||
6 | #endif | ||
7 | #endif | ||
8 | #ifdef CHARSET_EBCDIC | ||
9 | #include <openssl/ebcdic.h> | ||
10 | #endif | ||
3 | 11 | ||
4 | /* This version of crypt has been developed from my MIT compatible | 12 | /* This version of crypt has been developed from my MIT compatible |
5 | * DES library. | 13 | * DES library. |
diff --git a/src/lib/libcrypto/des/read_pwd.c b/src/lib/libcrypto/des/read_pwd.c index 54e0e2e6b6..00000190f8 100644 --- a/src/lib/libcrypto/des/read_pwd.c +++ b/src/lib/libcrypto/des/read_pwd.c | |||
@@ -211,7 +211,7 @@ static int noecho_fgets(char *buf, int size, FILE *tty); | |||
211 | #endif | 211 | #endif |
212 | static jmp_buf save; | 212 | static jmp_buf save; |
213 | 213 | ||
214 | int _ossl_old_des_read_pw_string(char *buf, int length, const char *prompt, | 214 | int des_read_pw_string(char *buf, int length, const char *prompt, |
215 | int verify) | 215 | int verify) |
216 | { | 216 | { |
217 | char buff[BUFSIZ]; | 217 | char buff[BUFSIZ]; |
diff --git a/src/lib/libcrypto/dsa/dsa_key.c b/src/lib/libcrypto/dsa/dsa_key.c index bf718c1c6d..ef87c3e637 100644 --- a/src/lib/libcrypto/dsa/dsa_key.c +++ b/src/lib/libcrypto/dsa/dsa_key.c | |||
@@ -64,8 +64,6 @@ | |||
64 | #include <openssl/dsa.h> | 64 | #include <openssl/dsa.h> |
65 | #include <openssl/rand.h> | 65 | #include <openssl/rand.h> |
66 | 66 | ||
67 | extern int __BN_rand_range(BIGNUM *r, BIGNUM *range); | ||
68 | |||
69 | int DSA_generate_key(DSA *dsa) | 67 | int DSA_generate_key(DSA *dsa) |
70 | { | 68 | { |
71 | int ok=0; | 69 | int ok=0; |
@@ -82,7 +80,7 @@ int DSA_generate_key(DSA *dsa) | |||
82 | priv_key=dsa->priv_key; | 80 | priv_key=dsa->priv_key; |
83 | 81 | ||
84 | do | 82 | do |
85 | if (!__BN_rand_range(priv_key,dsa->q)) goto err; | 83 | if (!BN_rand_range(priv_key,dsa->q)) goto err; |
86 | while (BN_is_zero(priv_key)); | 84 | while (BN_is_zero(priv_key)); |
87 | 85 | ||
88 | if (dsa->pub_key == NULL) | 86 | if (dsa->pub_key == NULL) |
diff --git a/src/lib/libcrypto/dsa/dsa_ossl.c b/src/lib/libcrypto/dsa/dsa_ossl.c index 07addc94d9..37dd5fc994 100644 --- a/src/lib/libcrypto/dsa/dsa_ossl.c +++ b/src/lib/libcrypto/dsa/dsa_ossl.c | |||
@@ -66,8 +66,6 @@ | |||
66 | #include <openssl/asn1.h> | 66 | #include <openssl/asn1.h> |
67 | #include <openssl/engine.h> | 67 | #include <openssl/engine.h> |
68 | 68 | ||
69 | int __BN_rand_range(BIGNUM *r, BIGNUM *range); | ||
70 | |||
71 | static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); | 69 | static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); |
72 | static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); | 70 | static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); |
73 | static int dsa_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, | 71 | static int dsa_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, |
@@ -193,7 +191,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) | |||
193 | 191 | ||
194 | /* Get random k */ | 192 | /* Get random k */ |
195 | do | 193 | do |
196 | if (!__BN_rand_range(&k, dsa->q)) goto err; | 194 | if (!BN_rand_range(&k, dsa->q)) goto err; |
197 | while (BN_is_zero(&k)); | 195 | while (BN_is_zero(&k)); |
198 | 196 | ||
199 | if ((dsa->method_mont_p == NULL) && (dsa->flags & DSA_FLAG_CACHE_MONT_P)) | 197 | if ((dsa->method_mont_p == NULL) && (dsa->flags & DSA_FLAG_CACHE_MONT_P)) |
@@ -344,55 +342,3 @@ static int dsa_bn_mod_exp(DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, | |||
344 | { | 342 | { |
345 | return BN_mod_exp_mont(r, a, p, m, ctx, m_ctx); | 343 | return BN_mod_exp_mont(r, a, p, m, ctx, m_ctx); |
346 | } | 344 | } |
347 | |||
348 | |||
349 | /* random number r: 0 <= r < range */ | ||
350 | int __BN_rand_range(BIGNUM *r, BIGNUM *range) | ||
351 | { | ||
352 | int n; | ||
353 | |||
354 | if (range->neg || BN_is_zero(range)) | ||
355 | { | ||
356 | /* BNerr(BN_F_BN_RAND_RANGE, BN_R_INVALID_RANGE); */ | ||
357 | return 0; | ||
358 | } | ||
359 | |||
360 | n = BN_num_bits(range); /* n > 0 */ | ||
361 | |||
362 | if (n == 1) | ||
363 | { | ||
364 | if (!BN_zero(r)) return 0; | ||
365 | } | ||
366 | else if (BN_is_bit_set(range, n - 2)) | ||
367 | { | ||
368 | do | ||
369 | { | ||
370 | /* range = 11..._2, so each iteration succeeds with probability >= .75 */ | ||
371 | if (!BN_rand(r, n, -1, 0)) return 0; | ||
372 | } | ||
373 | while (BN_cmp(r, range) >= 0); | ||
374 | } | ||
375 | else | ||
376 | { | ||
377 | /* range = 10..._2, | ||
378 | * so 3*range (= 11..._2) is exactly one bit longer than range */ | ||
379 | do | ||
380 | { | ||
381 | if (!BN_rand(r, n + 1, -1, 0)) return 0; | ||
382 | /* If r < 3*range, use r := r MOD range | ||
383 | * (which is either r, r - range, or r - 2*range). | ||
384 | * Otherwise, iterate once more. | ||
385 | * Since 3*range = 11..._2, each iteration succeeds with | ||
386 | * probability >= .75. */ | ||
387 | if (BN_cmp(r ,range) >= 0) | ||
388 | { | ||
389 | if (!BN_sub(r, r, range)) return 0; | ||
390 | if (BN_cmp(r, range) >= 0) | ||
391 | if (!BN_sub(r, r, range)) return 0; | ||
392 | } | ||
393 | } | ||
394 | while (BN_cmp(r, range) >= 0); | ||
395 | } | ||
396 | |||
397 | return 1; | ||
398 | } | ||
diff --git a/src/lib/libcrypto/engine/Makefile.ssl b/src/lib/libcrypto/engine/Makefile.ssl index 8ee3b7d2dd..5172028f93 100644 --- a/src/lib/libcrypto/engine/Makefile.ssl +++ b/src/lib/libcrypto/engine/Makefile.ssl | |||
@@ -74,7 +74,7 @@ tags: | |||
74 | 74 | ||
75 | errors: | 75 | errors: |
76 | $(PERL) $(TOP)/util/mkerr.pl -conf hw.ec \ | 76 | $(PERL) $(TOP)/util/mkerr.pl -conf hw.ec \ |
77 | -nostatic -staticloader -write hw_*.c | 77 | -nostatic -staticloader -write hw_*.c; \ |
78 | 78 | ||
79 | tests: | 79 | tests: |
80 | 80 | ||
diff --git a/src/lib/libcrypto/engine/eng_all.c b/src/lib/libcrypto/engine/eng_all.c index a35b3db9e8..bc50465422 100644 --- a/src/lib/libcrypto/engine/eng_all.c +++ b/src/lib/libcrypto/engine/eng_all.c | |||
@@ -96,6 +96,9 @@ void ENGINE_load_builtin_engines(void) | |||
96 | #ifndef OPENSSL_NO_HW_SUREWARE | 96 | #ifndef OPENSSL_NO_HW_SUREWARE |
97 | ENGINE_load_sureware(); | 97 | ENGINE_load_sureware(); |
98 | #endif | 98 | #endif |
99 | #ifndef OPENSSL_NO_HW_4758_CCA | ||
100 | ENGINE_load_4758cca(); | ||
101 | #endif | ||
99 | #ifdef OPENSSL_OPENBSD_DEV_CRYPTO | 102 | #ifdef OPENSSL_OPENBSD_DEV_CRYPTO |
100 | ENGINE_load_openbsd_dev_crypto(); | 103 | ENGINE_load_openbsd_dev_crypto(); |
101 | #endif | 104 | #endif |
@@ -114,5 +117,3 @@ void ENGINE_setup_openbsd(void) { | |||
114 | openbsd_default_loaded=1; | 117 | openbsd_default_loaded=1; |
115 | } | 118 | } |
116 | #endif | 119 | #endif |
117 | |||
118 | |||
diff --git a/src/lib/libcrypto/engine/engine.h b/src/lib/libcrypto/engine/engine.h index 97f5de9e12..fd17ff616d 100644 --- a/src/lib/libcrypto/engine/engine.h +++ b/src/lib/libcrypto/engine/engine.h | |||
@@ -312,7 +312,7 @@ void ENGINE_load_builtin_engines(void); | |||
312 | #ifdef __OpenBSD__ | 312 | #ifdef __OpenBSD__ |
313 | void ENGINE_load_cryptodev(void); | 313 | void ENGINE_load_cryptodev(void); |
314 | #endif | 314 | #endif |
315 | 315 | ||
316 | /* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation | 316 | /* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation |
317 | * "registry" handling. */ | 317 | * "registry" handling. */ |
318 | unsigned int ENGINE_get_table_flags(void); | 318 | unsigned int ENGINE_get_table_flags(void); |
diff --git a/src/lib/libcrypto/evp/evp_test.c b/src/lib/libcrypto/evp/evp_test.c index 90294ef686..1bfffb34cf 100644 --- a/src/lib/libcrypto/evp/evp_test.c +++ b/src/lib/libcrypto/evp/evp_test.c | |||
@@ -118,7 +118,7 @@ static char *sstrsep(char **string, const char *delim) | |||
118 | } | 118 | } |
119 | 119 | ||
120 | static unsigned char *ustrsep(char **p,const char *sep) | 120 | static unsigned char *ustrsep(char **p,const char *sep) |
121 | { return (unsigned char *)sstrsep(p,sep); } | 121 | { return (unsigned char *)sstrsep((char **)p,sep); } |
122 | 122 | ||
123 | static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, | 123 | static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, |
124 | const unsigned char *iv,int in, | 124 | const unsigned char *iv,int in, |
@@ -358,7 +358,7 @@ int main(int argc,char **argv) | |||
358 | p[-1] = '\0'; | 358 | p[-1] = '\0'; |
359 | encdec = -1; | 359 | encdec = -1; |
360 | } else { | 360 | } else { |
361 | encdec = atoi(sstrsep(&p,"\n")); | 361 | encdec = atoi(strsep(&p,"\n")); |
362 | } | 362 | } |
363 | 363 | ||
364 | 364 | ||
diff --git a/src/lib/libcrypto/objects/Makefile.ssl b/src/lib/libcrypto/objects/Makefile.ssl index 1e990107d3..a9f01ffc0d 100644 --- a/src/lib/libcrypto/objects/Makefile.ssl +++ b/src/lib/libcrypto/objects/Makefile.ssl | |||
@@ -15,6 +15,7 @@ MAKEDEPPROG= makedepend | |||
15 | MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) | 15 | MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) |
16 | MAKEFILE= Makefile.ssl | 16 | MAKEFILE= Makefile.ssl |
17 | AR= ar r | 17 | AR= ar r |
18 | PERL= perl | ||
18 | 19 | ||
19 | CFLAGS= $(INCLUDES) $(CFLAG) | 20 | CFLAGS= $(INCLUDES) $(CFLAG) |
20 | 21 | ||
diff --git a/src/lib/libcrypto/objects/obj_dat.pl b/src/lib/libcrypto/objects/obj_dat.pl index 85ab209809..d0371661f9 100644 --- a/src/lib/libcrypto/objects/obj_dat.pl +++ b/src/lib/libcrypto/objects/obj_dat.pl | |||
@@ -1,4 +1,7 @@ | |||
1 | #!/usr/local/bin/perl | 1 | #!/usr/local/bin/perl |
2 | |||
3 | # fixes bug in floating point emulation on sparc64 when | ||
4 | # this script produces off-by-one output on sparc64 | ||
2 | use integer; | 5 | use integer; |
3 | 6 | ||
4 | sub obj_cmp | 7 | sub obj_cmp |
diff --git a/src/lib/libcrypto/rand/randfile.c b/src/lib/libcrypto/rand/randfile.c index 4b221e08f5..1c3e68ef31 100644 --- a/src/lib/libcrypto/rand/randfile.c +++ b/src/lib/libcrypto/rand/randfile.c | |||
@@ -99,12 +99,11 @@ int RAND_load_file(const char *file, long bytes) | |||
99 | if (file == NULL) return(0); | 99 | if (file == NULL) return(0); |
100 | 100 | ||
101 | i=stat(file,&sb); | 101 | i=stat(file,&sb); |
102 | if (i < 0) { | 102 | /* If the state fails, put some crap in anyway */ |
103 | /* If the state fails, put some crap in anyway */ | 103 | RAND_add(&sb,sizeof(sb),0); |
104 | RAND_add(&sb,sizeof(sb),0); | 104 | if (i < 0) return(0); |
105 | return(0); | ||
106 | } | ||
107 | if (bytes == 0) return(ret); | 105 | if (bytes == 0) return(ret); |
106 | |||
108 | in=fopen(file,"rb"); | 107 | in=fopen(file,"rb"); |
109 | if (in == NULL) goto err; | 108 | if (in == NULL) goto err; |
110 | if (sb.st_mode & (S_IFBLK | S_IFCHR)) { | 109 | if (sb.st_mode & (S_IFBLK | S_IFCHR)) { |
@@ -218,12 +217,12 @@ err: | |||
218 | 217 | ||
219 | const char *RAND_file_name(char *buf, size_t size) | 218 | const char *RAND_file_name(char *buf, size_t size) |
220 | { | 219 | { |
221 | char *s = NULL; | 220 | char *s=NULL; |
222 | int ok = 0; | 221 | int ok = 0; |
223 | struct stat sb; | 222 | struct stat sb; |
224 | 223 | ||
225 | if (issetugid() == 0) | 224 | if (issetugid() == 0) |
226 | s = getenv("RANDFILE"); | 225 | s=getenv("RANDFILE"); |
227 | if (s != NULL && *s && strlen(s) + 1 < size) | 226 | if (s != NULL && *s && strlen(s) + 1 < size) |
228 | { | 227 | { |
229 | strlcpy(buf,s,size); | 228 | strlcpy(buf,s,size); |
@@ -272,4 +271,3 @@ const char *RAND_file_name(char *buf, size_t size) | |||
272 | #endif | 271 | #endif |
273 | return(buf); | 272 | return(buf); |
274 | } | 273 | } |
275 | |||
diff --git a/src/lib/libcrypto/util/domd b/src/lib/libcrypto/util/domd index 8cbe383c16..aa99cb0523 100644 --- a/src/lib/libcrypto/util/domd +++ b/src/lib/libcrypto/util/domd | |||
@@ -18,11 +18,11 @@ if [ "$MAKEDEPEND" = "gcc" ]; then | |||
18 | sed -e '/^# DO NOT DELETE.*/,$d' < Makefile.ssl > Makefile.tmp | 18 | sed -e '/^# DO NOT DELETE.*/,$d' < Makefile.ssl > Makefile.tmp |
19 | echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp | 19 | echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp |
20 | gcc -D OPENSSL_DOING_MAKEDEPEND -M $@ >> Makefile.tmp | 20 | gcc -D OPENSSL_DOING_MAKEDEPEND -M $@ >> Makefile.tmp |
21 | ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new | 21 | perl $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new |
22 | rm -f Makefile.tmp | 22 | rm -f Makefile.tmp |
23 | else | 23 | else |
24 | ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND -f Makefile.ssl $@ | 24 | ${MAKEDEPEND} -D OPENSSL_DOING_MAKEDEPEND -f Makefile.ssl $@ |
25 | ${PERL} $TOP/util/clean-depend.pl < Makefile.ssl > Makefile.new | 25 | perl $TOP/util/clean-depend.pl < Makefile.ssl > Makefile.new |
26 | fi | 26 | fi |
27 | mv Makefile.new Makefile.ssl | 27 | mv Makefile.new Makefile.ssl |
28 | # unfake the presence of Kerberos | 28 | # unfake the presence of Kerberos |