From a5ab0532caf9a11f20eeb49b78ddc8e90f64a418 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sat, 8 May 1999 22:46:51 +0000 Subject: [PATCH] Various Win32 fixes. Win95 doesn't support MoveFileEx() (which was used for a Win32 version of rename() ). There isn't a precise rename() equivalent under Win95: the standard rename() complains if the destination already exists so replaced with a combination of unlink() and MoveFile(). --- INSTALL.W32 | 9 ++-- apps/apps.c | 6 +++ crypto/x509/x509_obj.c | 2 +- ssl/ssl_cert.c | 2 +- util/libeay.num | 96 ++++++++++++++++++++++++++++++++++++++++++ util/mkdef.pl | 4 +- util/ssleay.num | 10 +++++ 7 files changed, 121 insertions(+), 8 deletions(-) diff --git a/INSTALL.W32 b/INSTALL.W32 index 3da0cb4477..8246e41605 100644 --- a/INSTALL.W32 +++ b/INSTALL.W32 @@ -117,10 +117,7 @@ someone forgot to add a function to the header file. In this latter case check out the header file to see if the function is - defined in the header file: it should be defined twice: once with ANSI - prototypes and once without. If its missing from the non ASNI section then - add an entry for it: check that ms\do_ms now reports missing numbers and - update the numbers as above. + defined in the header file. If you get warnings in the code then the compilation will halt. @@ -140,7 +137,9 @@ -------------------------------------------------------------------------------- The orignal Windows build instructions from SSLeay follow. -Note: some of this may be out of date and no longer applicable +Note: some of this may be out of date and no longer applicable. In particular +the Crypto_malloc_init() comment appears to be wrong: you always need to use +the same runtime library as the DLL itself. -------------------------------------------------------------------------------- The Microsoft World. diff --git a/apps/apps.c b/apps/apps.c index d3d601d9ed..f9cc27052b 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -218,10 +218,16 @@ void program_name(char *in, char *out, int size) #ifdef WIN32 int WIN32_rename(char *from, char *to) { +#ifdef WINNT int ret; +/* Note: MoveFileEx() doesn't work under Win95, Win98 */ ret=MoveFileEx(from,to,MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED); return(ret?0:-1); +#else + unlink(to); + return MoveFile(from, to); +#endif } #endif diff --git a/crypto/x509/x509_obj.c b/crypto/x509/x509_obj.c index b2a33a42b9..b283a62f5d 100644 --- a/crypto/x509/x509_obj.c +++ b/crypto/x509/x509_obj.c @@ -66,7 +66,7 @@ char *X509_NAME_oneline(X509_NAME *a, char *buf, int len) { X509_NAME_ENTRY *ne; - unsigned int i; +int i; int n,lold,l,l1,l2,num,j,type; const char *s; char *p; diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 30877eaef6..be4efac384 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -380,7 +380,7 @@ int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, X509 *x=NULL; X509_NAME *xn=NULL; int ret=1; - int (*oldcmp)(); + int (*oldcmp)(X509_NAME **a, X509_NAME **b); oldcmp=sk_X509_NAME_set_cmp_func(stack,name_cmp); diff --git a/util/libeay.num b/util/libeay.num index 5832d62643..12cebd38bd 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -1522,3 +1522,99 @@ DIST_POINT_NAME_new 1546 DIST_POINT_NAME_free 1547 d2i_DIST_POINT_NAME 1548 X509V3_add_value_uchar 1549 +sk_X509_INFO_new 1550 +sk_X509_EXTENSION_new 1551 +sk_X509_NAME_ENTRY_unshift 1552 +sk_ASN1_TYPE_value 1553 +sk_X509_EXTENSION_find 1554 +d2i_ASN1_SET_OF_X509_ATTRIBUTE 1555 +sk_ASN1_TYPE_pop 1556 +sk_X509_EXTENSION_set_cmp_func 1557 +sk_ASN1_TYPE_new_null 1558 +sk_X509_NAME_ENTRY_delete 1559 +i2d_ASN1_SET_OF_ASN1_TYPE 1560 +sk_X509_NAME_ENTRY_dup 1561 +sk_X509_unshift 1562 +sk_X509_NAME_unshift 1563 +sk_ASN1_TYPE_num 1564 +sk_X509_EXTENSION_new_null 1565 +sk_X509_INFO_value 1566 +d2i_ASN1_SET_OF_X509_EXTENSION 1567 +sk_X509_INFO_delete_ptr 1568 +sk_X509_NAME_ENTRY_new 1569 +sk_DIST_POINT_insert 1570 +sk_ASN1_TYPE_set_cmp_func 1571 +sk_X509_EXTENSION_value 1572 +sk_DIST_POINT_unshift 1573 +d2i_ASN1_SET_OF_X509_NAME_ENTRY 1574 +sk_X509_INFO_pop 1575 +sk_X509_EXTENSION_pop 1576 +sk_X509_NAME_ENTRY_shift 1577 +sk_X509_INFO_num 1578 +sk_X509_EXTENSION_num 1579 +sk_X509_INFO_pop_free 1580 +sk_POLICYQUALINFO_unshift 1581 +sk_POLICYINFO_unshift 1582 +sk_X509_NAME_ENTRY_new_null 1583 +sk_X509_NAME_ENTRY_pop 1584 +sk_X509_ATTRIBUTE_unshift 1585 +sk_X509_NAME_ENTRY_num 1586 +sk_GENERAL_NAME_unshift 1587 +sk_X509_INFO_free 1588 +d2i_ASN1_SET_OF_ASN1_TYPE 1589 +sk_X509_INFO_insert 1590 +sk_X509_NAME_ENTRY_value 1591 +sk_POLICYQUALINFO_insert 1592 +sk_ASN1_TYPE_set 1593 +sk_X509_EXTENSION_delete_ptr 1594 +sk_X509_INFO_unshift 1595 +sk_ASN1_TYPE_unshift 1596 +sk_ASN1_TYPE_free 1597 +sk_ASN1_TYPE_delete_ptr 1598 +sk_ASN1_TYPE_pop_free 1599 +sk_X509_EXTENSION_unshift 1600 +sk_X509_EXTENSION_pop_free 1601 +sk_X509_NAME_ENTRY_set_cmp_func 1602 +sk_ASN1_TYPE_insert 1603 +sk_X509_NAME_ENTRY_free 1604 +sk_SXNETID_insert 1605 +sk_X509_NAME_insert 1606 +sk_X509_insert 1607 +sk_X509_INFO_delete 1608 +sk_X509_INFO_set_cmp_func 1609 +sk_X509_ATTRIBUTE_insert 1610 +sk_X509_INFO_zero 1611 +sk_X509_INFO_set 1612 +sk_X509_EXTENSION_set 1613 +sk_X509_EXTENSION_free 1614 +i2d_ASN1_SET_OF_X509_ATTRIBUTE 1615 +sk_SXNETID_unshift 1616 +sk_X509_INFO_push 1617 +sk_X509_EXTENSION_insert 1618 +sk_X509_INFO_new_null 1619 +sk_ASN1_TYPE_dup 1620 +sk_X509_INFO_find 1621 +sk_POLICYINFO_insert 1622 +sk_ASN1_TYPE_zero 1623 +i2d_ASN1_SET_OF_X509_EXTENSION 1624 +sk_X509_NAME_ENTRY_set 1625 +sk_ASN1_TYPE_push 1626 +sk_X509_NAME_ENTRY_insert 1627 +sk_ASN1_TYPE_new 1628 +sk_GENERAL_NAME_insert 1629 +sk_ASN1_TYPE_shift 1630 +sk_ASN1_TYPE_delete 1631 +sk_X509_NAME_ENTRY_pop_free 1632 +i2d_ASN1_SET_OF_X509_NAME_ENTRY 1633 +sk_X509_NAME_ENTRY_zero 1634 +sk_ASN1_TYPE_find 1635 +sk_X509_NAME_ENTRY_delete_ptr 1636 +sk_X509_NAME_ENTRY_push 1637 +sk_X509_EXTENSION_zero 1638 +sk_X509_INFO_shift 1639 +sk_X509_INFO_dup 1640 +sk_X509_EXTENSION_dup 1641 +sk_X509_EXTENSION_delete 1642 +sk_X509_EXTENSION_shift 1643 +sk_X509_EXTENSION_push 1644 +sk_X509_NAME_ENTRY_find 1645 diff --git a/util/mkdef.pl b/util/mkdef.pl index 61ac7be1e5..4576c76144 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -219,14 +219,16 @@ sub do_defs $funcs{"sk_${1}_set"} = 1; $funcs{"sk_${1}_zero"} = 1; $funcs{"sk_${1}_push"} = 1; - $funcs{"sk_${1}_pop"} = 1; + $funcs{"sk_${1}_unshift"} = 1; $funcs{"sk_${1}_find"} = 1; $funcs{"sk_${1}_delete"} = 1; $funcs{"sk_${1}_delete_ptr"} = 1; + $funcs{"sk_${1}_insert"} = 1; $funcs{"sk_${1}_set_cmp_func"} = 1; $funcs{"sk_${1}_dup"} = 1; $funcs{"sk_${1}_pop_free"} = 1; $funcs{"sk_${1}_shift"} = 1; + $funcs{"sk_${1}_pop"} = 1; } elsif ($safe_stack_def && /^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) { $funcs{"d2i_ASN1_SET_OF_${1}"} = 1; diff --git a/util/ssleay.num b/util/ssleay.num index 499155054a..12ac4f1483 100755 --- a/util/ssleay.num +++ b/util/ssleay.num @@ -201,3 +201,13 @@ sk_SSL_COMP_set_cmp_func 218 sk_SSL_COMP_dup 219 sk_SSL_COMP_pop_free 220 sk_SSL_COMP_shift 221 +SSL_CTX_use_certificate_chain_file 222 +sk_SSL_COMP_insert 223 +sk_SSL_CIPHER_insert 224 +SSL_CTX_set_verify_depth 225 +SSL_set_verify_depth 226 +sk_SSL_CIPHER_unshift 227 +SSL_CTX_get_verify_depth 228 +SSL_get_verify_depth 229 +sk_SSL_COMP_unshift 230 +SSL_CTX_set_session_id_context 231 -- 2.34.1