[openssl] master update

beldmit at gmail.com beldmit at gmail.com
Sun Aug 22 12:23:45 UTC 2021


The branch master has been updated
       via  f4d8b29a26cc3ee0ef37e2073c192bdbb2b796c4 (commit)
      from  43044ede54da4a4d5bd69e34cfb41ea03d7eb847 (commit)


- Log -----------------------------------------------------------------
commit f4d8b29a26cc3ee0ef37e2073c192bdbb2b796c4
Author: Dmitry Belyavskiy <beldmit at gmail.com>
Date:   Fri Aug 20 16:45:15 2021 +0200

    Get rid of warn_binary
    
    Current implementation of warn_binary introduces a regression
    when the content is passed in /dev/stdin as an explicit file name
    and reads the file to be processed twice otherwise.
    
    I suggest to reimplement this functionality after 3.0 if necessary.
    
    Fixes #16359
    
    Reviewed-by: David von Oheimb <david.von.oheimb at siemens.com>
    (Merged from https://github.com/openssl/openssl/pull/16367)

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

Summary of changes:
 apps/cms.c | 29 -----------------------------
 1 file changed, 29 deletions(-)

diff --git a/apps/cms.c b/apps/cms.c
index c22027e3b1..b30273f171 100644
--- a/apps/cms.c
+++ b/apps/cms.c
@@ -272,31 +272,6 @@ static CMS_ContentInfo *load_content_info(int informat, BIO *in, int flags,
     return NULL;
 }
 
-static void warn_binary(const char *file)
-{
-    BIO *bio;
-    unsigned char linebuf[1024], *cur, *end;
-    int len;
-
-    if (file == NULL)
-        return; /* cannot give a warning for stdin input */
-    if ((bio = bio_open_default(file, 'r', FORMAT_BINARY)) == NULL)
-        return; /* cannot give a proper warning since there is an error */
-    while ((len = BIO_read(bio, linebuf, sizeof(linebuf))) > 0) {
-        end = linebuf + len;
-        for (cur = linebuf; cur < end; cur++) {
-            if (*cur == '\0' || *cur >= 0x80) {
-                BIO_printf(bio_err, "Warning: input file '%s' contains %s"
-                           " character; better use -binary option\n",
-                           file, *cur == '\0' ? "NUL" : "8-bit");
-                goto end;
-            }
-        }
-    }
- end:
-    BIO_free(bio);
-}
-
 int cms_main(int argc, char **argv)
 {
     CONF *conf = NULL;
@@ -911,8 +886,6 @@ int cms_main(int argc, char **argv)
             goto end;
     }
 
-    if ((flags & CMS_BINARY) == 0)
-        warn_binary(infile);
     in = bio_open_default(infile, 'r',
                           binary_files ? FORMAT_BINARY : informat);
     if (in == NULL)
@@ -924,8 +897,6 @@ int cms_main(int argc, char **argv)
             goto end;
         if (contfile != NULL) {
             BIO_free(indata);
-            if ((flags & CMS_BINARY) == 0)
-                warn_binary(contfile);
             if ((indata = BIO_new_file(contfile, "rb")) == NULL) {
                 BIO_printf(bio_err, "Can't read content file %s\n", contfile);
                 goto end;


More information about the openssl-commits mailing list