[openssl-commits] [openssl] master update

Rich Salz rsalz at openssl.org
Wed Sep 30 01:59:26 UTC 2015


The branch master has been updated
       via  984d6c6052169bcae8010de33f7796e455536d61 (commit)
      from  57ebe74831d9875dde98d5088bb78f5c89396d6b (commit)


- Log -----------------------------------------------------------------
commit 984d6c6052169bcae8010de33f7796e455536d61
Author: David Woodhouse <David.Woodhouse at intel.com>
Date:   Fri Sep 11 14:56:32 2015 -0400

    Fix no-stdio build
    
    Much related/similar work also done by
    Ivan Nestlerode <ivan.nestlerode at sonos.com>
    
       +Replace FILE BIO's with dummy ops that fail.
       +Include <stdio.h> for sscanf() even with no-stdio (since the declaration
        is there). We rely on sscanf() to parse the OPENSSL_ia32cap environment
        variable, since it can be larger than a 'long'. And we don't rely on the
        availability of strtoull().
       +Remove OPENSSL_stderr(); not used.
       +Make OPENSSL_showfatal() do nothing (currently without stdio there's
        nothing we can do).
       +Remove file-based functionality from ssl/. The function
        prototypes were already gone, but not the functions themselves.
       +Remove unviable conf functionality via SYS_UEFI
       +Add fallback definition of BUFSIZ.
       +Remove functions taking FILE * from header files.
       +Add missing DECLARE_PEM_write_fp_const
       +Disable X509_LOOKUP_hash_dir(). X509_LOOKUP_file() was already compiled out,
        so remove its prototype.
       +Use OPENSSL_showfatal() in CRYPTO_destroy_dynlockid().
       +Eliminate SRP_VBASE_init() and supporting functions. Users will need to
        build the verifier manually instead.
       +Eliminate compiler warning for unused do_pk8pkey_fp().
       +Disable TEST_ENG_OPENSSL_PKEY.
       +Disable GOST engine as is uses [f]printf all over the place.
       +Eliminate compiler warning for unused send_fp_chars().
    
    Signed-off-by: Rich Salz <rsalz at akamai.com>
    Reviewed-by: Tim Hudson <tjh at openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 CHANGES                            |  4 +-
 Configure                          |  2 +-
 crypto/asn1/Makefile               |  8 ++--
 crypto/asn1/a_strex.c              |  2 +
 crypto/asn1/tasn_utl.c             |  1 +
 crypto/bio/bss_file.c              | 54 +++++++++++++++++++++++
 crypto/conf/conf_sap.c             |  2 +
 crypto/cryptlib.c                  |  8 ++--
 crypto/des/read2pwd.c              |  4 ++
 crypto/ec/Makefile                 | 17 ++++----
 crypto/ec/ec_key.c                 |  1 +
 crypto/engine/eng_openssl.c        |  2 +
 crypto/include/internal/cryptlib.h |  1 -
 crypto/lock.c                      |  3 +-
 crypto/pem/pem_pk8.c               |  4 +-
 crypto/ts/Makefile                 |  4 +-
 crypto/ui/ui_util.c                |  4 ++
 crypto/x509/by_dir.c               |  1 +
 crypto/x509/by_file.c              |  4 --
 crypto/x509/x509_d2.c              |  3 --
 e_os.h                             |  6 +++
 include/openssl/bio.h              |  4 +-
 include/openssl/conf.h             |  4 ++
 include/openssl/pem.h              |  6 ++-
 include/openssl/ssl.h              |  7 +--
 include/openssl/ts.h               | 20 ++++++---
 include/openssl/x509_vfy.h         |  5 ---
 include/openssl/x509v3.h           |  3 +-
 ssl/ssl_cert.c                     |  2 -
 ssl/ssl_lib.c                      |  2 -
 ssl/ssl_rsa.c                      |  2 -
 test/Makefile                      | 17 +-------
 util/libeay.num                    | 87 +++++++++++++++++++-------------------
 util/ssleay.num                    | 30 ++++++-------
 34 files changed, 193 insertions(+), 131 deletions(-)

diff --git a/CHANGES b/CHANGES
index 3aa9dc8..220ab60 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,7 +9,9 @@
      though the change is mostly in the more lenient direction, and
      legacy behaviour is preserved as much as possible.
      [Emilia Käsper]
-
+  *) Fix no-stdio build.
+    [ David Woodhouse <David.Woodhouse at intel.com> and also
+      Ivan Nestlerode <ivan.nestlerode at sonos.com> ]
   *) New testing framework
      The testing framework has been largely rewritten and is now using
      perl and the perl modules Test::Harness and an extended variant of
diff --git a/Configure b/Configure
index e1edfa9..b277957 100755
--- a/Configure
+++ b/Configure
@@ -1086,7 +1086,7 @@ if (defined($disabled{"md5"}) || defined($disabled{"sha"})
 
 
 if (defined($disabled{"ec"}) || defined($disabled{"dsa"})
-    || defined($disabled{"dh"}))
+    || defined($disabled{"dh"}) || defined($disabled{"stdio"}))
 	{
 	$disabled{"gost"} = "forced";
 	}
diff --git a/crypto/asn1/Makefile b/crypto/asn1/Makefile
index b0d4e14..a6f1bac 100644
--- a/crypto/asn1/Makefile
+++ b/crypto/asn1/Makefile
@@ -668,14 +668,16 @@ tasn_typ.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
 tasn_typ.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 tasn_typ.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 tasn_typ.o: ../../include/openssl/symhacks.h tasn_typ.c
-tasn_utl.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
-tasn_utl.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h
+tasn_utl.o: ../../e_os.h ../../include/openssl/asn1.h
+tasn_utl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
+tasn_utl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 tasn_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
 tasn_utl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
 tasn_utl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 tasn_utl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 tasn_utl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-tasn_utl.o: ../../include/openssl/symhacks.h asn1_locl.h tasn_utl.c
+tasn_utl.o: ../../include/openssl/symhacks.h ../include/internal/cryptlib.h
+tasn_utl.o: asn1_locl.h tasn_utl.c
 x_algor.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
 x_algor.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 x_algor.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
diff --git a/crypto/asn1/a_strex.c b/crypto/asn1/a_strex.c
index 2f233a2..c9d3cea 100644
--- a/crypto/asn1/a_strex.c
+++ b/crypto/asn1/a_strex.c
@@ -92,6 +92,7 @@ static int send_bio_chars(void *arg, const void *buf, int len)
     return 1;
 }
 
+#ifndef OPENSSL_NO_STDIO
 static int send_fp_chars(void *arg, const void *buf, int len)
 {
     if (!arg)
@@ -100,6 +101,7 @@ static int send_fp_chars(void *arg, const void *buf, int len)
         return 0;
     return 1;
 }
+#endif
 
 typedef int char_io (void *arg, const void *buf, int len);
 
diff --git a/crypto/asn1/tasn_utl.c b/crypto/asn1/tasn_utl.c
index 76e9605..8b62341 100644
--- a/crypto/asn1/tasn_utl.c
+++ b/crypto/asn1/tasn_utl.c
@@ -59,6 +59,7 @@
 
 #include <stddef.h>
 #include <string.h>
+#include <internal/cryptlib.h>
 #include <openssl/asn1.h>
 #include <openssl/asn1t.h>
 #include <openssl/objects.h>
diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c
index 8f22ef7..7692ee2 100644
--- a/crypto/bio/bss_file.c
+++ b/crypto/bio/bss_file.c
@@ -467,6 +467,60 @@ static int file_puts(BIO *bp, const char *str)
     return (ret);
 }
 
+#else
+
+static int file_write(BIO *b, const char *in, int inl)
+{
+    return -1;
+}
+static int file_read(BIO *b, char *out, int outl)
+{
+    return -1;
+}
+static int file_puts(BIO *bp, const char *str)
+{
+    return -1;
+}
+static int file_gets(BIO *bp, char *buf, int size)
+{
+    return 0;
+}
+static long file_ctrl(BIO *b, int cmd, long num, void *ptr)
+{
+    return 0;
+}
+static int file_new(BIO *bi)
+{
+    return 0;
+}
+static int file_free(BIO *a)
+{
+    return 0;
+}
+
+static BIO_METHOD methods_filep = {
+    BIO_TYPE_FILE,
+    "FILE pointer",
+    file_write,
+    file_read,
+    file_puts,
+    file_gets,
+    file_ctrl,
+    file_new,
+    file_free,
+    NULL,
+};
+
+BIO_METHOD *BIO_s_file(void)
+{
+    return (&methods_filep);
+}
+
+BIO *BIO_new_file(const char *filename, const char *mode)
+{
+    return NULL;
+}
+
 # endif                         /* OPENSSL_NO_STDIO */
 
 #endif                          /* HEADER_BSS_FILE_C */
diff --git a/crypto/conf/conf_sap.c b/crypto/conf/conf_sap.c
index e99a38e..308989b 100644
--- a/crypto/conf/conf_sap.c
+++ b/crypto/conf/conf_sap.c
@@ -87,9 +87,11 @@ void OPENSSL_config(const char *config_name)
     ENGINE_load_builtin_engines();
 #endif
     ERR_clear_error();
+#ifndef OPENSSL_SYS_UEFI
     CONF_modules_load_file(NULL, config_name,
                                CONF_MFLAGS_DEFAULT_SECTION |
                                CONF_MFLAGS_IGNORE_MISSING_FILE);
+#endif
 }
 
 void OPENSSL_no_config()
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index f0aaae6..a9f9697 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -129,6 +129,7 @@ unsigned int *OPENSSL_ia32cap_loc(void)
 }
 
 # if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
+#include <stdio.h>
 #  define OPENSSL_CPUID_SETUP
 typedef uint64_t IA32CAP;
 void OPENSSL_cpuid_setup(void)
@@ -432,11 +433,13 @@ void OPENSSL_showfatal(const char *fmta, ...)
 #else
 void OPENSSL_showfatal(const char *fmta, ...)
 {
+#ifndef OPENSSL_NO_STDIO
     va_list ap;
 
     va_start(ap, fmta);
     vfprintf(stderr, fmta, ap);
     va_end(ap);
+#endif
 }
 
 int OPENSSL_isservice(void)
@@ -463,11 +466,6 @@ void OpenSSLDie(const char *file, int line, const char *assertion)
 #endif
 }
 
-void *OPENSSL_stderr(void)
-{
-    return stderr;
-}
-
 int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
 {
     size_t i;
diff --git a/crypto/des/read2pwd.c b/crypto/des/read2pwd.c
index 01e275f..7633139 100644
--- a/crypto/des/read2pwd.c
+++ b/crypto/des/read2pwd.c
@@ -114,6 +114,10 @@
 #include <openssl/ui.h>
 #include <openssl/crypto.h>
 
+#ifndef BUFSIZ
+#define BUFSIZ 256
+#endif
+
 int DES_read_password(DES_cblock *key, const char *prompt, int verify)
 {
     int ok;
diff --git a/crypto/ec/Makefile b/crypto/ec/Makefile
index 9ad71f6..18e9610 100644
--- a/crypto/ec/Makefile
+++ b/crypto/ec/Makefile
@@ -169,14 +169,15 @@ ec_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
 ec_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ec_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 ec_err.o: ../../include/openssl/symhacks.h ec_err.c
-ec_key.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
-ec_key.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
-ec_key.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
-ec_key.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
-ec_key.o: ../../include/openssl/obj_mac.h ../../include/openssl/opensslconf.h
-ec_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-ec_key.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-ec_key.o: ../../include/openssl/symhacks.h ec_key.c ec_lcl.h
+ec_key.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
+ec_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
+ec_key.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
+ec_key.o: ../../include/openssl/ec.h ../../include/openssl/err.h
+ec_key.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+ec_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+ec_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
+ec_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+ec_key.o: ../include/internal/cryptlib.h ec_key.c ec_lcl.h
 ec_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
 ec_lib.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
 ec_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c
index 2380097..ddb3257 100644
--- a/crypto/ec/ec_key.c
+++ b/crypto/ec/ec_key.c
@@ -61,6 +61,7 @@
  * contributed to the OpenSSL project.
  */
 
+#include <internal/cryptlib.h>
 #include <string.h>
 #include "ec_lcl.h"
 #include <openssl/err.h>
diff --git a/crypto/engine/eng_openssl.c b/crypto/engine/eng_openssl.c
index 4bc9b2e..095b5a0 100644
--- a/crypto/engine/eng_openssl.c
+++ b/crypto/engine/eng_openssl.c
@@ -89,7 +89,9 @@
  * this is no longer automatic in ENGINE_load_builtin_engines().
  */
 #define TEST_ENG_OPENSSL_RC4
+#ifndef OPENSSL_NO_STDIO
 #define TEST_ENG_OPENSSL_PKEY
+#endif
 /* #define TEST_ENG_OPENSSL_HMAC */
 /* #define TEST_ENG_OPENSSL_HMAC_INIT */
 /* #define TEST_ENG_OPENSSL_RC4_OTHERS */
diff --git a/crypto/include/internal/cryptlib.h b/crypto/include/internal/cryptlib.h
index fba180a..d7018b6 100644
--- a/crypto/include/internal/cryptlib.h
+++ b/crypto/include/internal/cryptlib.h
@@ -101,7 +101,6 @@ extern "C" {
 void OPENSSL_cpuid_setup(void);
 extern unsigned int OPENSSL_ia32cap_P[];
 void OPENSSL_showfatal(const char *fmta, ...);
-void *OPENSSL_stderr(void);
 extern int OPENSSL_NONPIC_relocated;
 
 #ifdef  __cplusplus
diff --git a/crypto/lock.c b/crypto/lock.c
index d7d672d..12e4323 100644
--- a/crypto/lock.c
+++ b/crypto/lock.c
@@ -309,8 +309,7 @@ void CRYPTO_destroy_dynlockid(int i)
         --pointer->references;
 #ifdef REF_CHECK
         if (pointer->references < 0) {
-            fprintf(stderr,
-                    "CRYPTO_destroy_dynlockid, bad reference count\n");
+            OPENSSL_showfatal("CRYPTO_destroy_dynlockid, bad reference count\n");
             abort();
         } else
 #endif
diff --git a/crypto/pem/pem_pk8.c b/crypto/pem/pem_pk8.c
index ef5131f..e238b95 100644
--- a/crypto/pem/pem_pk8.c
+++ b/crypto/pem/pem_pk8.c
@@ -69,10 +69,12 @@
 static int do_pk8pkey(BIO *bp, EVP_PKEY *x, int isder,
                       int nid, const EVP_CIPHER *enc,
                       char *kstr, int klen, pem_password_cb *cb, void *u);
+
+#ifndef OPENSSL_NO_STDIO
 static int do_pk8pkey_fp(FILE *bp, EVP_PKEY *x, int isder,
                          int nid, const EVP_CIPHER *enc,
                          char *kstr, int klen, pem_password_cb *cb, void *u);
-
+#endif
 /*
  * These functions write a private key in PKCS#8 format: it is a "drop in"
  * replacement for PEM_write_bio_PrivateKey() and friends. As usual if 'enc'
diff --git a/crypto/ts/Makefile b/crypto/ts/Makefile
index 754b89a..76d1aea 100644
--- a/crypto/ts/Makefile
+++ b/crypto/ts/Makefile
@@ -207,7 +207,7 @@ ts_rsp_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 ts_rsp_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/ts.h
 ts_rsp_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 ts_rsp_sign.o: ../../include/openssl/x509v3.h ../include/internal/cryptlib.h
-ts_rsp_sign.o: ../include/internal/x509_int.h ts_lcl.h ts_rsp_sign.c
+ts_rsp_sign.o: ts_lcl.h ts_rsp_sign.c
 ts_rsp_utils.o: ../../e_os.h ../../include/openssl/asn1.h
 ts_rsp_utils.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 ts_rsp_utils.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
@@ -243,7 +243,7 @@ ts_rsp_verify.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
 ts_rsp_verify.o: ../../include/openssl/symhacks.h ../../include/openssl/ts.h
 ts_rsp_verify.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
 ts_rsp_verify.o: ../../include/openssl/x509v3.h ../include/internal/cryptlib.h
-ts_rsp_verify.o: ../include/internal/x509_int.h ts_lcl.h ts_rsp_verify.c
+ts_rsp_verify.o: ts_lcl.h ts_rsp_verify.c
 ts_verify_ctx.o: ../../e_os.h ../../include/openssl/asn1.h
 ts_verify_ctx.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 ts_verify_ctx.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
diff --git a/crypto/ui/ui_util.c b/crypto/ui/ui_util.c
index f65f80d..b18e2a2 100644
--- a/crypto/ui/ui_util.c
+++ b/crypto/ui/ui_util.c
@@ -56,6 +56,10 @@
 #include <string.h>
 #include "ui_locl.h"
 
+#ifndef BUFSIZ
+#define BUFSIZ 256
+#endif
+
 int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt,
                            int verify)
 {
diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c
index 5241cad..3dd04d0 100644
--- a/crypto/x509/by_dir.c
+++ b/crypto/x509/by_dir.c
@@ -69,6 +69,7 @@
 # include <sys/stat.h>
 #endif
 
+
 #include <openssl/lhash.h>
 #include <openssl/x509.h>
 #include "internal/x509_int.h"
diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c
index 6fbffe1..7983b15 100644
--- a/crypto/x509/by_file.c
+++ b/crypto/x509/by_file.c
@@ -66,8 +66,6 @@
 #include <openssl/x509.h>
 #include <openssl/pem.h>
 
-#ifndef OPENSSL_NO_STDIO
-
 static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
                         long argl, char **ret);
 static X509_LOOKUP_METHOD x509_file_lookup = {
@@ -269,5 +267,3 @@ int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type)
     sk_X509_INFO_pop_free(inf, X509_INFO_free);
     return count;
 }
-
-#endif                          /* OPENSSL_NO_STDIO */
diff --git a/crypto/x509/x509_d2.c b/crypto/x509/x509_d2.c
index 29bbf50..e3d0863 100644
--- a/crypto/x509/x509_d2.c
+++ b/crypto/x509/x509_d2.c
@@ -61,7 +61,6 @@
 #include <openssl/crypto.h>
 #include <openssl/x509.h>
 
-#ifndef OPENSSL_NO_STDIO
 int X509_STORE_set_default_paths(X509_STORE *ctx)
 {
     X509_LOOKUP *lookup;
@@ -105,5 +104,3 @@ int X509_STORE_load_locations(X509_STORE *ctx, const char *file,
         return (0);
     return (1);
 }
-
-#endif
diff --git a/e_os.h b/e_os.h
index b3a3338..8c4223b 100644
--- a/e_os.h
+++ b/e_os.h
@@ -76,6 +76,12 @@ extern "C" {
 #  undef REF_PRINT
 #  define REF_PRINT(a,b)  fprintf(stderr,"%08X:%4d:%s\n",(int)b,b->references,a)
 # endif
+# if defined(OPENSSL_NO_STDIO) && defined(REF_CHECK)
+#  error "Cannot have REF_CHECK with no-stdio"
+# endif
+# if defined(OPENSSL_NO_STDIO) && defined(REF_PRINT)
+#  error "Cannot have REF_PRINT with no-stdio"
+# endif
 
 # ifndef DEVRANDOM
 /*
diff --git a/include/openssl/bio.h b/include/openssl/bio.h
index 75d052f..0577bd8 100644
--- a/include/openssl/bio.h
+++ b/include/openssl/bio.h
@@ -633,11 +633,11 @@ int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix,
 int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix,
                         asn1_ps_func **psuffix_free);
 
-# ifndef OPENSSL_NO_STDIO
 BIO_METHOD *BIO_s_file(void);
 BIO *BIO_new_file(const char *filename, const char *mode);
+# define BIO_s_file_internal    BIO_s_file
+# ifndef OPENSSL_NO_STDIO
 BIO *BIO_new_fp(FILE *stream, int close_flag);
-#  define BIO_s_file_internal    BIO_s_file
 # endif
 BIO *BIO_new(BIO_METHOD *type);
 int BIO_set(BIO *a, BIO_METHOD *type);
diff --git a/include/openssl/conf.h b/include/openssl/conf.h
index 06c7601..c111464 100644
--- a/include/openssl/conf.h
+++ b/include/openssl/conf.h
@@ -133,7 +133,9 @@ char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group,
 long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group,
                      const char *name);
 void CONF_free(LHASH_OF(CONF_VALUE) *conf);
+#ifndef OPENSSL_NO_STDIO
 int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out);
+#endif
 int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out);
 
 void OPENSSL_config(const char *config_name);
@@ -166,7 +168,9 @@ STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf,
 char *NCONF_get_string(const CONF *conf, const char *group, const char *name);
 int NCONF_get_number_e(const CONF *conf, const char *group, const char *name,
                        long *result);
+#ifndef OPENSSL_NO_STDIO
 int NCONF_dump_fp(const CONF *conf, FILE *out);
+#endif
 int NCONF_dump_bio(const CONF *conf, BIO *out);
 
 #define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r)
diff --git a/include/openssl/pem.h b/include/openssl/pem.h
index a1e5166..f9e23d2 100644
--- a/include/openssl/pem.h
+++ b/include/openssl/pem.h
@@ -284,6 +284,7 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
 
 #  define DECLARE_PEM_read_fp(name, type) /**/
 #  define DECLARE_PEM_write_fp(name, type) /**/
+#  define DECLARE_PEM_write_fp_const(name, type) /**/
 #  define DECLARE_PEM_write_cb_fp(name, type) /**/
 # else
 
@@ -361,6 +362,7 @@ int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc,
                             unsigned char *kstr, int klen,
                             pem_password_cb *cd, void *u);
 
+#ifndef OPENSSL_NO_STDIO
 int PEM_read(FILE *fp, char **name, char **header,
              unsigned char **data, long *len);
 int PEM_write(FILE *fp, const char *name, const char *hdr,
@@ -372,6 +374,7 @@ int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp,
                    int klen, pem_password_cb *callback, void *u);
 STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk,
                                         pem_password_cb *cb, void *u);
+#endif
 
 int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type,
                  EVP_MD *md_type, unsigned char **ek, int *ekl,
@@ -437,6 +440,7 @@ int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid,
 EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb,
                                   void *u);
 
+#ifndef OPENSSL_NO_STDIO
 int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
                            char *kstr, int klen,
                            pem_password_cb *cb, void *u);
@@ -453,7 +457,7 @@ EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb,
 int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
                               char *kstr, int klen, pem_password_cb *cd,
                               void *u);
-
+#endif
 EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x);
 int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x);
 
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 04ef4d4..d488aa5 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -1386,11 +1386,8 @@ __owur int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len);
 /* Set serverinfo data for the current active cert. */
 __owur int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,
                            size_t serverinfo_length);
-# ifndef OPENSSL_NO_STDIO
 __owur int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file);
-# endif                        /* NO_STDIO */
 
-# ifndef OPENSSL_NO_STDIO
 __owur int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);
 __owur int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);
 __owur int SSL_use_certificate_file(SSL *ssl, const char *file, int type);
@@ -1403,11 +1400,9 @@ __owur int SSL_use_certificate_chain_file(SSL *ssl, const char *file);
 __owur STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file);
 __owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
                                         const char *file);
-#  ifndef OPENSSL_SYS_VMS
+# ifndef OPENSSL_SYS_VMS
 int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
                                        const char *dir);
-#  endif
-
 # endif
 
 void SSL_load_error_strings(void);
diff --git a/include/openssl/ts.h b/include/openssl/ts.h
index d66b49d..f74fce7 100644
--- a/include/openssl/ts.h
+++ b/include/openssl/ts.h
@@ -133,8 +133,10 @@ TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length);
 
 TS_REQ *TS_REQ_dup(TS_REQ *a);
 
+#ifndef OPENSSL_NO_STDIO
 TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a);
 int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a);
+#endif
 TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a);
 int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a);
 
@@ -146,10 +148,12 @@ TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a,
 
 TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a);
 
+#ifndef OPENSSL_NO_STDIO
 TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a);
 int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a);
-TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT **a);
-int i2d_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT *a);
+#endif
+TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT **a);
+int i2d_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT *a);
 
 TS_RESP *TS_RESP_new(void);
 void TS_RESP_free(TS_RESP *a);
@@ -158,10 +162,12 @@ TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length);
 TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token);
 TS_RESP *TS_RESP_dup(TS_RESP *a);
 
+#ifndef OPENSSL_NO_STDIO
 TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a);
 int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a);
-TS_RESP *d2i_TS_RESP_bio(BIO *fp, TS_RESP **a);
-int i2d_TS_RESP_bio(BIO *fp, TS_RESP *a);
+#endif
+TS_RESP *d2i_TS_RESP_bio(BIO *bio, TS_RESP **a);
+int i2d_TS_RESP_bio(BIO *bio, TS_RESP *a);
 
 TS_STATUS_INFO *TS_STATUS_INFO_new(void);
 void TS_STATUS_INFO_free(TS_STATUS_INFO *a);
@@ -177,10 +183,12 @@ TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp,
                              long length);
 TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a);
 
+#ifndef OPENSSL_NO_STDIO
 TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a);
 int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a);
-TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO **a);
-int i2d_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO *a);
+#endif
+TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO **a);
+int i2d_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO *a);
 
 TS_ACCURACY *TS_ACCURACY_new(void);
 void TS_ACCURACY_free(TS_ACCURACY *a);
diff --git a/include/openssl/x509_vfy.h b/include/openssl/x509_vfy.h
index c78ba98..5d06b0d 100644
--- a/include/openssl/x509_vfy.h
+++ b/include/openssl/x509_vfy.h
@@ -461,7 +461,6 @@ void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
 X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx);
 
 X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
-
 X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);
 X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
 
@@ -474,11 +473,9 @@ int X509_STORE_get_by_subject(X509_STORE_CTX *vs, int type, X509_NAME *name,
 int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
                      long argl, char **ret);
 
-# ifndef OPENSSL_NO_STDIO
 int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type);
 int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type);
 int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type);
-# endif
 
 X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method);
 void X509_LOOKUP_free(X509_LOOKUP *ctx);
@@ -494,11 +491,9 @@ int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str, int len,
                          X509_OBJECT *ret);
 int X509_LOOKUP_shutdown(X509_LOOKUP *ctx);
 
-# ifndef OPENSSL_NO_STDIO
 int X509_STORE_load_locations(X509_STORE *ctx,
                               const char *file, const char *dir);
 int X509_STORE_set_default_paths(X509_STORE *ctx);
-# endif
 
 int X509_STORE_CTX_get_ex_new_index(long argl, void *argp,
                                     CRYPTO_EX_new *new_func,
diff --git a/include/openssl/x509v3.h b/include/openssl/x509v3.h
index 3898426..9a68b73 100644
--- a/include/openssl/x509v3.h
+++ b/include/openssl/x509v3.h
@@ -684,8 +684,9 @@ void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent,
                         int ml);
 int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag,
                      int indent);
+#ifndef OPENSSL_NO_STDIO
 int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent);
-
+#endif
 int X509V3_extensions_print(BIO *out, char *title,
                             STACK_OF(X509_EXTENSION) *exts,
                             unsigned long flag, int indent);
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c
index ecef7bd..fb8a9f9 100644
--- a/ssl/ssl_cert.c
+++ b/ssl/ssl_cert.c
@@ -672,7 +672,6 @@ static int xname_cmp(const X509_NAME *const *a, const X509_NAME *const *b)
     return (X509_NAME_cmp(*a, *b));
 }
 
-#ifndef OPENSSL_NO_STDIO
 /**
  * Load CA certs from a file into a ::STACK. Note that it is somewhat misnamed;
  * it doesn't really have anything to do with clients (except that a common use
@@ -736,7 +735,6 @@ STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file)
         ERR_clear_error();
     return (ret);
 }
-#endif
 
 /**
  * Add a file of certs to a stack.
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index b68f16d..e80d5f1 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -2781,7 +2781,6 @@ SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx)
     return (ssl->ctx);
 }
 
-#ifndef OPENSSL_NO_STDIO
 int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx)
 {
     return (X509_STORE_set_default_paths(ctx->cert_store));
@@ -2823,7 +2822,6 @@ int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,
 {
     return (X509_STORE_load_locations(ctx->cert_store, CAfile, CApath));
 }
-#endif
 
 void SSL_set_info_callback(SSL *ssl,
                            void (*cb) (const SSL *ssl, int type, int val))
diff --git a/ssl/ssl_rsa.c b/ssl/ssl_rsa.c
index f23137c..9a3e0ec 100644
--- a/ssl/ssl_rsa.c
+++ b/ssl/ssl_rsa.c
@@ -911,7 +911,6 @@ int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,
     return 1;
 }
 
-#ifndef OPENSSL_NO_STDIO
 int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
 {
     unsigned char *serverinfo = NULL;
@@ -1001,4 +1000,3 @@ int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
     BIO_free(bin);
     return ret;
 }
-#endif                         /* OPENSSL_NO_STDIO */
diff --git a/test/Makefile b/test/Makefile
index 6f32758..5c695cd 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -524,21 +524,8 @@ gmdifftest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 gmdifftest.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 gmdifftest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
 gmdifftest.o: gmdifftest.c
-gost2814789test.o: ../e_os.h ../engines/ccgost/gost89.h
-gost2814789test.o: ../include/openssl/asn1.h ../include/openssl/bio.h
-gost2814789test.o: ../include/openssl/buffer.h ../include/openssl/conf.h
-gost2814789test.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
-gost2814789test.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
-gost2814789test.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
-gost2814789test.o: ../include/openssl/err.h ../include/openssl/evp.h
-gost2814789test.o: ../include/openssl/hmac.h ../include/openssl/lhash.h
-gost2814789test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
-gost2814789test.o: ../include/openssl/opensslconf.h
-gost2814789test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-gost2814789test.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
-gost2814789test.o: ../include/openssl/sha.h ../include/openssl/stack.h
-gost2814789test.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
-gost2814789test.o: ../include/openssl/x509_vfy.h gost2814789test.c
+gost2814789test.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
+gost2814789test.o: gost2814789test.c
 heartbeat_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 heartbeat_test.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 heartbeat_test.o: ../include/openssl/comp.h ../include/openssl/crypto.h
diff --git a/util/libeay.num b/util/libeay.num
index 1ae0f8e..1d9e2a5 100755
--- a/util/libeay.num
+++ b/util/libeay.num
@@ -75,7 +75,7 @@ BIO_new                                 78	EXIST::FUNCTION:
 BIO_new_accept                          79	EXIST::FUNCTION:
 BIO_new_connect                         80	EXIST::FUNCTION:
 BIO_new_fd                              81	EXIST::FUNCTION:
-BIO_new_file                            82	EXIST::FUNCTION:STDIO
+BIO_new_file                            82	EXIST::FUNCTION:
 BIO_new_fp                              83	EXIST::FUNCTION:STDIO
 BIO_new_socket                          84	EXIST::FUNCTION:
 BIO_pop                                 85	EXIST::FUNCTION:
@@ -86,7 +86,7 @@ BIO_read                                89	EXIST::FUNCTION:
 BIO_s_accept                            90	EXIST::FUNCTION:
 BIO_s_connect                           91	EXIST::FUNCTION:
 BIO_s_fd                                92	EXIST::FUNCTION:
-BIO_s_file                              93	EXIST::FUNCTION:STDIO
+BIO_s_file                              93	EXIST::FUNCTION:
 BIO_s_mem                               95	EXIST::FUNCTION:
 BIO_s_null                              96	EXIST::FUNCTION:
 BIO_s_proxy_client                      97	NOEXIST::FUNCTION:
@@ -356,9 +356,9 @@ OBJ_nid2sn                              363	EXIST::FUNCTION:
 OBJ_obj2nid                             364	EXIST::FUNCTION:
 OBJ_sn2nid                              365	EXIST::FUNCTION:
 OBJ_txt2nid                             366	EXIST::FUNCTION:
-PEM_ASN1_read                           367	EXIST::FUNCTION:
+PEM_ASN1_read                           367	EXIST::FUNCTION:STDIO
 PEM_ASN1_read_bio                       368	EXIST::FUNCTION:
-PEM_ASN1_write                          369	EXIST::FUNCTION:
+PEM_ASN1_write                          369	EXIST::FUNCTION:STDIO
 PEM_ASN1_write_bio                      370	EXIST::FUNCTION:
 PEM_SealFinal                           371	EXIST::FUNCTION:RSA
 PEM_SealInit                            372	EXIST::FUNCTION:RSA
@@ -366,14 +366,14 @@ PEM_SealUpdate                          373	EXIST::FUNCTION:RSA
 PEM_SignFinal                           374	EXIST::FUNCTION:
 PEM_SignInit                            375	EXIST::FUNCTION:
 PEM_SignUpdate                          376	EXIST::FUNCTION:
-PEM_X509_INFO_read                      377	EXIST::FUNCTION:
+PEM_X509_INFO_read                      377	EXIST::FUNCTION:STDIO
 PEM_X509_INFO_read_bio                  378	EXIST::FUNCTION:
 PEM_X509_INFO_write_bio                 379	EXIST::FUNCTION:
 PEM_dek_info                            380	EXIST::FUNCTION:
 PEM_do_header                           381	EXIST::FUNCTION:
 PEM_get_EVP_CIPHER_INFO                 382	EXIST::FUNCTION:
 PEM_proc_type                           383	EXIST::FUNCTION:
-PEM_read                                384	EXIST::FUNCTION:
+PEM_read                                384	EXIST::FUNCTION:STDIO
 PEM_read_DHparams                       385	EXIST::FUNCTION:DH
 PEM_read_DSAPrivateKey                  386	EXIST::FUNCTION:DSA
 PEM_read_DSAparams                      387	EXIST::FUNCTION:DSA
@@ -393,7 +393,7 @@ PEM_read_bio_RSAPrivateKey              400	EXIST::FUNCTION:RSA
 PEM_read_bio_X509                       401	EXIST::FUNCTION:
 PEM_read_bio_X509_CRL                   402	EXIST::FUNCTION:
 PEM_read_bio_X509_REQ                   403	EXIST::FUNCTION:
-PEM_write                               404	EXIST::FUNCTION:
+PEM_write                               404	EXIST::FUNCTION:STDIO
 PEM_write_DHparams                      405	EXIST::FUNCTION:DH
 PEM_write_DSAPrivateKey                 406	EXIST::FUNCTION:DSA
 PEM_write_DSAparams                     407	EXIST::FUNCTION:DSA
@@ -618,9 +618,9 @@ X509_STORE_add_cert                     624	EXIST::FUNCTION:
 X509_STORE_add_lookup                   625	EXIST::FUNCTION:
 X509_STORE_free                         626	EXIST::FUNCTION:
 X509_STORE_get_by_subject               627	EXIST::FUNCTION:
-X509_STORE_load_locations               628	EXIST::FUNCTION:STDIO
+X509_STORE_load_locations               628	EXIST::FUNCTION:
 X509_STORE_new                          629	EXIST::FUNCTION:
-X509_STORE_set_default_paths            630	EXIST::FUNCTION:STDIO
+X509_STORE_set_default_paths            630	EXIST::FUNCTION:
 X509_VAL_free                           631	EXIST::FUNCTION:
 X509_VAL_new                            632	EXIST::FUNCTION:
 X509_add_ext                            633	EXIST::FUNCTION:
@@ -653,7 +653,7 @@ X509_issuer_and_serial_cmp              659	EXIST::FUNCTION:
 X509_issuer_and_serial_hash             660	EXIST::FUNCTION:
 X509_issuer_name_cmp                    661	EXIST::FUNCTION:
 X509_issuer_name_hash                   662	EXIST::FUNCTION:
-X509_load_cert_file                     663	EXIST::FUNCTION:STDIO
+X509_load_cert_file                     663	EXIST::FUNCTION:
 X509_new                                664	EXIST::FUNCTION:
 X509_print                              665	EXIST::FUNCTION:
 X509_print_fp                           666	EXIST::FUNCTION:STDIO
@@ -938,7 +938,7 @@ i2d_RSAPublicKey_fp                     954	EXIST::FUNCTION:RSA,STDIO
 BIO_copy_next_retry                     955	EXIST::FUNCTION:
 RSA_flags                               956	EXIST::FUNCTION:RSA
 X509_STORE_add_crl                      957	EXIST::FUNCTION:
-X509_load_crl_file                      958	EXIST::FUNCTION:STDIO
+X509_load_crl_file                      958	EXIST::FUNCTION:
 EVP_rc2_40_cbc                          959	EXIST::FUNCTION:RC2
 EVP_rc4_40                              960	EXIST::FUNCTION:RC4
 EVP_CIPHER_CTX_init                     961	EXIST::FUNCTION:
@@ -1154,7 +1154,7 @@ X509V3_EXT_conf_nid                     1177	EXIST::FUNCTION:
 X509V3_EXT_get                          1178	EXIST::FUNCTION:
 X509V3_EXT_get_nid                      1179	EXIST::FUNCTION:
 X509V3_EXT_print                        1180	EXIST::FUNCTION:
-X509V3_EXT_print_fp                     1181	EXIST::FUNCTION:
+X509V3_EXT_print_fp                     1181	EXIST::FUNCTION:STDIO
 X509V3_add_standard_extensions          1182	EXIST::FUNCTION:
 X509V3_add_value                        1183	EXIST::FUNCTION:
 X509V3_add_value_bool                   1184	EXIST::FUNCTION:
@@ -1451,7 +1451,7 @@ PKCS5_pbe2_set                          1794	EXIST::FUNCTION:
 PKCS5_PBKDF2_HMAC_SHA1                  1795	EXIST::FUNCTION:
 PKCS5_v2_PBE_keyivgen                   1796	EXIST::FUNCTION:
 PEM_write_bio_PKCS8PrivateKey           1797	EXIST::FUNCTION:
-PEM_write_PKCS8PrivateKey               1798	EXIST::FUNCTION:
+PEM_write_PKCS8PrivateKey               1798	EXIST::FUNCTION:STDIO
 BIO_ctrl_get_read_request               1799	EXIST::FUNCTION:
 BIO_ctrl_pending                        1800	EXIST::FUNCTION:
 BIO_ctrl_wpending                       1801	EXIST::FUNCTION:
@@ -1549,7 +1549,7 @@ PEM_write_bio_DSA_PUBKEY                1968	EXIST::FUNCTION:DSA
 X509_STORE_CTX_free                     1969	EXIST::FUNCTION:
 EVP_PKEY_set1_DSA                       1970	EXIST::FUNCTION:DSA
 i2d_DSA_PUBKEY_fp                       1971	EXIST::FUNCTION:DSA,STDIO
-X509_load_cert_crl_file                 1972	EXIST::FUNCTION:STDIO
+X509_load_cert_crl_file                 1972	EXIST::FUNCTION:
 ASN1_TIME_new                           1973	EXIST::FUNCTION:
 i2d_RSA_PUBKEY                          1974	EXIST::FUNCTION:RSA
 X509_STORE_CTX_purpose_inherit          1976	EXIST::FUNCTION:
@@ -1687,7 +1687,7 @@ CRYPTO_set_mem_debug_functions          2161	EXIST::FUNCTION:
 CRYPTO_pop_info                         2162	EXIST::FUNCTION:
 CRYPTO_push_info_                       2163	EXIST::FUNCTION:
 CRYPTO_set_mem_debug_options            2164	EXIST::FUNCTION:
-PEM_write_PKCS8PrivateKey_nid           2165	EXIST::FUNCTION:
+PEM_write_PKCS8PrivateKey_nid           2165	EXIST::FUNCTION:STDIO
 PEM_write_bio_PKCS8PrivateKey_nid       2166	EXIST:!VMS:FUNCTION:
 PEM_write_bio_PKCS8PrivKey_nid          2166	EXIST:VMS:FUNCTION:
 d2i_PKCS8PrivateKey_bio                 2167	EXIST::FUNCTION:
@@ -1695,10 +1695,10 @@ ASN1_NULL_free                          2168	EXIST::FUNCTION:
 d2i_ASN1_NULL                           2169	EXIST::FUNCTION:
 ASN1_NULL_new                           2170	EXIST::FUNCTION:
 i2d_PKCS8PrivateKey_bio                 2171	EXIST::FUNCTION:
-i2d_PKCS8PrivateKey_fp                  2172	EXIST::FUNCTION:
+i2d_PKCS8PrivateKey_fp                  2172	EXIST::FUNCTION:STDIO
 i2d_ASN1_NULL                           2173	EXIST::FUNCTION:
-i2d_PKCS8PrivateKey_nid_fp              2174	EXIST::FUNCTION:
-d2i_PKCS8PrivateKey_fp                  2175	EXIST::FUNCTION:
+i2d_PKCS8PrivateKey_nid_fp              2174	EXIST::FUNCTION:STDIO
+d2i_PKCS8PrivateKey_fp                  2175	EXIST::FUNCTION:STDIO
 i2d_PKCS8PrivateKey_nid_bio             2176	EXIST::FUNCTION:
 i2d_PKCS8PrivateKeyInfo_fp              2177	EXIST::FUNCTION:STDIO
 i2d_PKCS8PrivateKeyInfo_bio             2178	EXIST::FUNCTION:
@@ -1786,9 +1786,9 @@ NCONF_new                               2279	EXIST::FUNCTION:
 NCONF_get_string                        2280	EXIST::FUNCTION:
 NCONF_free                              2281	EXIST::FUNCTION:
 NCONF_get_number                        2282	NOEXIST::FUNCTION:
-CONF_dump_fp                            2283	EXIST::FUNCTION:
+CONF_dump_fp                            2283	EXIST::FUNCTION:STDIO
 NCONF_load_bio                          2284	EXIST::FUNCTION:
-NCONF_dump_fp                           2285	EXIST::FUNCTION:
+NCONF_dump_fp                           2285	EXIST::FUNCTION:STDIO
 NCONF_get_section                       2286	EXIST::FUNCTION:
 NCONF_dump_bio                          2287	EXIST::FUNCTION:
 CONF_dump_bio                           2288	EXIST::FUNCTION:
@@ -3730,7 +3730,7 @@ ERR_load_JPAKE_strings                  4112	EXIST::FUNCTION:JPAKE
 JPAKE_STEP2_init                        4113	EXIST::FUNCTION:JPAKE
 pqueue_size                             4114	EXIST::FUNCTION:
 i2d_TS_ACCURACY                         4115	EXIST::FUNCTION:
-i2d_TS_MSG_IMPRINT_fp                   4116	EXIST::FUNCTION:
+i2d_TS_MSG_IMPRINT_fp                   4116	EXIST::FUNCTION:STDIO
 i2d_TS_MSG_IMPRINT                      4117	EXIST::FUNCTION:
 EVP_PKEY_print_public                   4118	EXIST::FUNCTION:
 EVP_PKEY_CTX_new                        4119	EXIST::FUNCTION:
@@ -3746,14 +3746,14 @@ TS_RESP_dup                             4128	EXIST::FUNCTION:
 ENGINE_register_pkey_meths              4129	EXIST::FUNCTION:ENGINE
 EVP_PKEY_asn1_add0                      4130	EXIST::FUNCTION:
 PKCS7_add0_attrib_signing_time          4131	EXIST::FUNCTION:
-i2d_TS_TST_INFO_fp                      4132	EXIST::FUNCTION:
+i2d_TS_TST_INFO_fp                      4132	EXIST::FUNCTION:STDIO
 BIO_asn1_get_prefix                     4133	EXIST::FUNCTION:
 TS_TST_INFO_set_time                    4134	EXIST::FUNCTION:
 EVP_PKEY_meth_set_decrypt               4135	EXIST::FUNCTION:
 EVP_PKEY_set_type_str                   4136	EXIST::FUNCTION:
 EVP_PKEY_CTX_get_keygen_info            4137	EXIST::FUNCTION:
 TS_REQ_set_policy_id                    4138	EXIST::FUNCTION:
-d2i_TS_RESP_fp                          4139	EXIST::FUNCTION:
+d2i_TS_RESP_fp                          4139	EXIST::FUNCTION:STDIO
 ENGINE_get_pkey_asn1_meth_engine        4140	EXIST:!VMS:FUNCTION:ENGINE
 ENGINE_get_pkey_asn1_meth_eng           4140	EXIST:VMS:FUNCTION:ENGINE
 WHIRLPOOL_Init                          4141	EXIST::FUNCTION:WHIRLPOOL
@@ -3896,7 +3896,7 @@ PKCS7_to_TS_TST_INFO                    4273	EXIST::FUNCTION:
 ASN1_PCTX_get_oid_flags                 4274	EXIST::FUNCTION:
 TS_TST_INFO_add_ext                     4275	EXIST::FUNCTION:
 EVP_PKEY_meth_set_derive                4276	EXIST::FUNCTION:
-i2d_TS_RESP_fp                          4277	EXIST::FUNCTION:
+i2d_TS_RESP_fp                          4277	EXIST::FUNCTION:STDIO
 i2d_TS_MSG_IMPRINT_bio                  4278	EXIST::FUNCTION:
 TS_RESP_CTX_set_accuracy                4279	EXIST::FUNCTION:
 TS_REQ_set_nonce                        4280	EXIST::FUNCTION:
@@ -3925,7 +3925,7 @@ TS_REQ_get_cert_req                     4302	EXIST::FUNCTION:
 X509_CRL_set_meth_data                  4303	EXIST::FUNCTION:
 PKCS8_pkey_set0                         4304	EXIST::FUNCTION:
 ASN1_STRING_copy                        4305	EXIST::FUNCTION:
-d2i_TS_TST_INFO_fp                      4306	EXIST::FUNCTION:
+d2i_TS_TST_INFO_fp                      4306	EXIST::FUNCTION:STDIO
 X509_CRL_match                          4307	EXIST::FUNCTION:
 EVP_PKEY_asn1_set_private               4308	EXIST::FUNCTION:
 TS_TST_INFO_get_ext_d2i                 4309	EXIST::FUNCTION:
@@ -3968,7 +3968,7 @@ TS_REQ_set_cert_req                     4345	EXIST::FUNCTION:
 CRYPTO_THREADID_set_callback            4346	EXIST::FUNCTION:
 TS_CONF_set_serial                      4347	EXIST::FUNCTION:
 TS_TST_INFO_free                        4348	EXIST::FUNCTION:
-d2i_TS_REQ_fp                           4349	EXIST::FUNCTION:
+d2i_TS_REQ_fp                           4349	EXIST::FUNCTION:STDIO
 TS_RESP_verify_response                 4350	EXIST::FUNCTION:
 i2d_ESS_ISSUER_SERIAL                   4351	EXIST::FUNCTION:
 TS_ACCURACY_get_seconds                 4352	EXIST::FUNCTION:
@@ -4055,7 +4055,7 @@ EVP_CIPHER_do_all_sorted                4429	EXIST::FUNCTION:
 EVP_PKEY_CTX_free                       4430	EXIST::FUNCTION:
 ISSUING_DIST_POINT_it                   4431	EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
 ISSUING_DIST_POINT_it                   4431	EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
-d2i_TS_MSG_IMPRINT_fp                   4432	EXIST::FUNCTION:
+d2i_TS_MSG_IMPRINT_fp                   4432	EXIST::FUNCTION:STDIO
 X509_STORE_get1_certs                   4433	EXIST::FUNCTION:
 EVP_PKEY_CTX_get_operation              4434	EXIST::FUNCTION:
 d2i_ESS_SIGNING_CERT                    4435	EXIST::FUNCTION:
@@ -4135,7 +4135,7 @@ TS_TST_INFO_set_msg_imprint             4505	EXIST::FUNCTION:
 GENERAL_NAME_cmp                        4506	EXIST::FUNCTION:
 d2i_ASN1_SET_ANY                        4507	EXIST::FUNCTION:
 ENGINE_set_pkey_meths                   4508	EXIST::FUNCTION:ENGINE
-i2d_TS_REQ_fp                           4509	EXIST::FUNCTION:
+i2d_TS_REQ_fp                           4509	EXIST::FUNCTION:STDIO
 d2i_ASN1_SEQUENCE_ANY                   4510	EXIST::FUNCTION:
 GENERAL_NAME_get0_otherName             4511	EXIST::FUNCTION:
 d2i_ESS_CERT_ID                         4512	EXIST::FUNCTION:
@@ -4305,7 +4305,7 @@ i2d_RSA_PSS_PARAMS                      4670	EXIST::FUNCTION:RSA
 ASN1_item_sign_ctx                      4671	EXIST::FUNCTION:
 EC_GFp_nistp521_method                  4672	EXIST:!WIN32:FUNCTION:EC,EC_NISTP_64_GCC_128
 EC_GFp_nistp256_method                  4673	EXIST:!WIN32:FUNCTION:EC,EC_NISTP_64_GCC_128
-OPENSSL_stderr                          4674	EXIST::FUNCTION:
+OPENSSL_stderr                          4674	NOEXIST::FUNCTION:
 OPENSSL_cpuid_setup                     4675	EXIST::FUNCTION:
 OPENSSL_showfatal                       4676	EXIST::FUNCTION:
 BIO_new_dgram_sctp                      4677	EXIST::FUNCTION:SCTP
@@ -4615,21 +4615,22 @@ TS_VERIFY_CTS_set_certs                 4973	EXIST::FUNCTION:
 TS_VERIFY_CTX_add_flags                 4974	EXIST::FUNCTION:
 TS_STATUS_INFO_set_status               4975	EXIST::FUNCTION:
 TS_VERIFY_CTX_set_store                 4976	EXIST::FUNCTION:
-EVP_PKEY_meth_get_decrypt               4977	EXIST::FUNCTION:
-EVP_PKEY_meth_get_derive                4978	EXIST::FUNCTION:
-EVP_PKEY_meth_get_verify                4979	EXIST::FUNCTION:
-EVP_PKEY_meth_get_ctrl                  4980	EXIST::FUNCTION:
-EVP_PKEY_meth_get_verifyctx             4981	EXIST::FUNCTION:
-EVP_PKEY_meth_get_paramgen              4982	EXIST::FUNCTION:
-EVP_PKEY_meth_get_init                  4983	EXIST::FUNCTION:
-EVP_PKEY_meth_get_cleanup               4984	EXIST::FUNCTION:
-EVP_PKEY_meth_get_keygen                4985	EXIST::FUNCTION:
-EVP_PKEY_meth_get_signctx               4986	EXIST::FUNCTION:
-EVP_PKEY_meth_get_sign                  4987	EXIST::FUNCTION:
-EVP_PKEY_meth_get_copy                  4988	EXIST::FUNCTION:
-EVP_PKEY_meth_get_verify_recover        4989	EXIST::FUNCTION:
-EVP_PKEY_meth_get_encrypt               4990	EXIST::FUNCTION:
+EVP_PKEY_meth_get_signctx               4977	EXIST::FUNCTION:
+EVP_PKEY_meth_get_paramgen              4978	EXIST::FUNCTION:
+EVP_PKEY_meth_get_encrypt               4979	EXIST::FUNCTION:
+EVP_PKEY_meth_get_keygen                4980	EXIST::FUNCTION:
+EVP_PKEY_meth_get_verify_recover        4981	EXIST::FUNCTION:
+EVP_PKEY_meth_get_cleanup               4982	EXIST::FUNCTION:
+EVP_PKEY_meth_get_verify                4984	EXIST::FUNCTION:
+EVP_PKEY_meth_get_init                  4985	EXIST::FUNCTION:
+EVP_PKEY_meth_get_sign                  4986	EXIST::FUNCTION:
+EVP_PKEY_meth_get_verifyctx             4987	EXIST::FUNCTION:
+EVP_PKEY_meth_get_ctrl                  4988	EXIST::FUNCTION:
+EVP_PKEY_meth_get_derive                4989	EXIST::FUNCTION:
+EVP_PKEY_meth_get_decrypt               4990	EXIST::FUNCTION:
+EVP_PKEY_meth_get_copy                  4991	EXIST::FUNCTION:
 X509_get0_subject_key_id                4991	EXIST::FUNCTION:
+declare_dh_bn                           4992	EXIST::FUNCTION:DH
 i2d_re_X509_CRL_tbs                     4992	EXIST::FUNCTION:
 X509_REQ_get_X509_PUBKEY                4993	EXIST::FUNCTION:
 X509_REQ_get0_signature                 4994	EXIST::FUNCTION:
diff --git a/util/ssleay.num b/util/ssleay.num
index 4c7f8d3..4c8a783 100755
--- a/util/ssleay.num
+++ b/util/ssleay.num
@@ -18,13 +18,13 @@ SSL_CTX_set_ssl_version                 19	EXIST::FUNCTION:
 SSL_CTX_set_verify                      21	EXIST::FUNCTION:
 SSL_CTX_use_PrivateKey                  22	EXIST::FUNCTION:
 SSL_CTX_use_PrivateKey_ASN1             23	EXIST::FUNCTION:
-SSL_CTX_use_PrivateKey_file             24	EXIST::FUNCTION:STDIO
+SSL_CTX_use_PrivateKey_file             24	EXIST::FUNCTION:
 SSL_CTX_use_RSAPrivateKey               25	EXIST::FUNCTION:RSA
 SSL_CTX_use_RSAPrivateKey_ASN1          26	EXIST::FUNCTION:RSA
-SSL_CTX_use_RSAPrivateKey_file          27	EXIST::FUNCTION:RSA,STDIO
+SSL_CTX_use_RSAPrivateKey_file          27	EXIST::FUNCTION:RSA
 SSL_CTX_use_certificate                 28	EXIST::FUNCTION:
 SSL_CTX_use_certificate_ASN1            29	EXIST::FUNCTION:
-SSL_CTX_use_certificate_file            30	EXIST::FUNCTION:STDIO
+SSL_CTX_use_certificate_file            30	EXIST::FUNCTION:
 SSL_SESSION_free                        31	EXIST::FUNCTION:
 SSL_SESSION_new                         32	EXIST::FUNCTION:
 SSL_SESSION_print                       33	EXIST::FUNCTION:
@@ -60,7 +60,7 @@ SSL_get_verify_callback                 69	EXIST::FUNCTION:
 SSL_get_verify_mode                     70	EXIST::FUNCTION:
 SSL_get_version                         71	EXIST::FUNCTION:
 SSL_get_wbio                            72	EXIST::FUNCTION:
-SSL_load_client_CA_file                 73	EXIST::FUNCTION:STDIO
+SSL_load_client_CA_file                 73	EXIST::FUNCTION:
 SSL_load_error_strings                  74	EXIST::FUNCTION:
 SSL_new                                 75	EXIST::FUNCTION:
 SSL_peek                                76	EXIST::FUNCTION:
@@ -86,13 +86,13 @@ SSL_state_string                        97	EXIST::FUNCTION:
 SSL_state_string_long                   98	EXIST::FUNCTION:
 SSL_use_PrivateKey                      99	EXIST::FUNCTION:
 SSL_use_PrivateKey_ASN1                 100	EXIST::FUNCTION:
-SSL_use_PrivateKey_file                 101	EXIST::FUNCTION:STDIO
+SSL_use_PrivateKey_file                 101	EXIST::FUNCTION:
 SSL_use_RSAPrivateKey                   102	EXIST::FUNCTION:RSA
 SSL_use_RSAPrivateKey_ASN1              103	EXIST::FUNCTION:RSA
-SSL_use_RSAPrivateKey_file              104	EXIST::FUNCTION:RSA,STDIO
+SSL_use_RSAPrivateKey_file              104	EXIST::FUNCTION:RSA
 SSL_use_certificate                     105	EXIST::FUNCTION:
 SSL_use_certificate_ASN1                106	EXIST::FUNCTION:
-SSL_use_certificate_file                107	EXIST::FUNCTION:STDIO
+SSL_use_certificate_file                107	EXIST::FUNCTION:
 SSL_write                               108	EXIST::FUNCTION:
 SSLeay_add_ssl_algorithms               109	NOEXIST::FUNCTION:
 SSLv23_client_method                    110	NOEXIST::FUNCTION:
@@ -165,15 +165,15 @@ SSL_CTX_set_cert_store                  181	EXIST::FUNCTION:
 SSL_want                                182	EXIST::FUNCTION:
 SSL_library_init                        183	EXIST::FUNCTION:
 SSL_COMP_add_compression_method         184	EXIST::FUNCTION:
-SSL_add_file_cert_subjects_to_stack     185	EXIST:!VMS:FUNCTION:STDIO
-SSL_add_file_cert_subjs_to_stk          185	EXIST:VMS:FUNCTION:STDIO
+SSL_add_file_cert_subjects_to_stack     185	EXIST:!VMS:FUNCTION:
+SSL_add_file_cert_subjs_to_stk          185	EXIST:VMS:FUNCTION:
 SSL_set_tmp_rsa_callback                186	EXIST::FUNCTION:RSA
 SSL_set_tmp_dh_callback                 187	EXIST::FUNCTION:DH
-SSL_add_dir_cert_subjects_to_stack      188	EXIST:!VMS:FUNCTION:STDIO
-SSL_add_dir_cert_subjs_to_stk           188	EXIST:VMS:FUNCTION:STDIO
+SSL_add_dir_cert_subjects_to_stack      188	EXIST:!VMS:FUNCTION:
+SSL_add_dir_cert_subjs_to_stk           188	EXIST:VMS:FUNCTION:
 SSL_set_session_id_context              189	EXIST::FUNCTION:
-SSL_CTX_use_certificate_chain_file      222	EXIST:!VMS:FUNCTION:STDIO
-SSL_CTX_use_cert_chain_file             222	EXIST:VMS:FUNCTION:STDIO
+SSL_CTX_use_certificate_chain_file      222	EXIST:!VMS:FUNCTION:
+SSL_CTX_use_cert_chain_file             222	EXIST:VMS:FUNCTION:
 SSL_CTX_set_verify_depth                225	EXIST::FUNCTION:
 SSL_set_verify_depth                    226	EXIST::FUNCTION:
 SSL_CTX_get_verify_depth                228	EXIST::FUNCTION:
@@ -365,7 +365,7 @@ SSL_trace                               402	EXIST::FUNCTION:SSL_TRACE
 SSL_CTX_set_cli_supp_data               403	NOEXIST::FUNCTION:
 DTLSv1_2_method                         404	EXIST::FUNCTION:
 DTLS_server_method                      405	EXIST::FUNCTION:
-SSL_CTX_use_serverinfo_file             406	EXIST::FUNCTION:STDIO
+SSL_CTX_use_serverinfo_file             406	EXIST::FUNCTION:
 SSL_COMP_free_compress_methods          407	NOEXIST::FUNCTION:
 SSL_COMP_free_compression_methods       407	EXIST:!VMS:FUNCTION:
 SSL_COMP_free_compr_methods             407	EXIST:VMS:FUNCTION:
@@ -395,7 +395,7 @@ SSL_SESSION_get_ticket_lifetime_hint    429	EXIST::FUNCTION:
 SSL_set_rbio                            430	EXIST::FUNCTION:
 SSL_CIPHER_get_digest_nid               431	EXIST::FUNCTION:
 SSL_CIPHER_get_cipher_nid               432	EXIST::FUNCTION:
-SSL_use_certificate_chain_file          433	EXIST::FUNCTION:STDIO
+SSL_use_certificate_chain_file          433	EXIST::FUNCTION:
 TLS_server_method                       434	EXIST::FUNCTION:
 TLS_method                              435	EXIST::FUNCTION:
 TLS_client_method                       436	EXIST::FUNCTION:


More information about the openssl-commits mailing list