The branch master has been updated via b11327929294cf825e4759d97af6f174bd6b081c (commit) from 4b931252bedae3f1a5c1b9836ca20a5af9445bc7 (commit)
- Log ----------------------------------------------------------------- commit b11327929294cf825e4759d97af6f174bd6b081c Author: Bernd Edlinger <bernd.edlin...@hotmail.de> Date: Mon Sep 24 13:15:22 2018 +0200 Keep the externally visible macro BIO_FLAGS_UPLINK in bio.h and rename the internally used macro to BIO_FLAGS_UPLINK_INTERNAL. Reviewed-by: Tomas Mraz <tm...@fedoraproject.org> Reviewed-by: Matt Caswell <m...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7307) ----------------------------------------------------------------------- Summary of changes: crypto/bio/bio_lcl.h | 2 +- crypto/bio/bss_fd.c | 4 ++-- crypto/bio/bss_file.c | 42 +++++++++++++++++++++--------------------- include/internal/cryptlib.h | 5 +++-- include/openssl/bio.h | 9 +++------ 5 files changed, 30 insertions(+), 32 deletions(-) diff --git a/crypto/bio/bio_lcl.h b/crypto/bio/bio_lcl.h index 0fea5d0..95f3a93 100644 --- a/crypto/bio/bio_lcl.h +++ b/crypto/bio/bio_lcl.h @@ -152,7 +152,7 @@ extern CRYPTO_RWLOCK *bio_type_lock; void bio_sock_cleanup_int(void); -#if BIO_FLAGS_UPLINK==0 +#if BIO_FLAGS_UPLINK_INTERNAL==0 /* Shortcut UPLINK calls on most platforms... */ # define UP_stdin stdin # define UP_stdout stdout diff --git a/crypto/bio/bss_fd.c b/crypto/bio/bss_fd.c index db470fb..c599dad 100644 --- a/crypto/bio/bss_fd.c +++ b/crypto/bio/bss_fd.c @@ -94,7 +94,7 @@ static int fd_new(BIO *bi) bi->init = 0; bi->num = -1; bi->ptr = NULL; - bi->flags = BIO_FLAGS_UPLINK; /* essentially redundant */ + bi->flags = BIO_FLAGS_UPLINK_INTERNAL; /* essentially redundant */ return 1; } @@ -107,7 +107,7 @@ static int fd_free(BIO *a) UP_close(a->num); } a->init = 0; - a->flags = BIO_FLAGS_UPLINK; + a->flags = BIO_FLAGS_UPLINK_INTERNAL; } return 1; } diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c index 93ba006..0e07632 100644 --- a/crypto/bio/bss_file.c +++ b/crypto/bio/bss_file.c @@ -86,8 +86,8 @@ BIO *BIO_new_file(const char *filename, const char *mode) return NULL; } - BIO_clear_flags(ret, BIO_FLAGS_UPLINK); /* we did fopen -> we disengage - * UPLINK */ + /* we did fopen -> we disengage UPLINK */ + BIO_clear_flags(ret, BIO_FLAGS_UPLINK_INTERNAL); BIO_set_fp(ret, file, fp_flags); return ret; } @@ -100,7 +100,7 @@ BIO *BIO_new_fp(FILE *stream, int close_flag) return NULL; /* redundant flag, left for documentation purposes */ - BIO_set_flags(ret, BIO_FLAGS_UPLINK); + BIO_set_flags(ret, BIO_FLAGS_UPLINK_INTERNAL); BIO_set_fp(ret, stream, close_flag); return ret; } @@ -115,7 +115,7 @@ static int file_new(BIO *bi) bi->init = 0; bi->num = 0; bi->ptr = NULL; - bi->flags = BIO_FLAGS_UPLINK; /* default to UPLINK */ + bi->flags = BIO_FLAGS_UPLINK_INTERNAL; /* default to UPLINK */ return 1; } @@ -125,12 +125,12 @@ static int file_free(BIO *a) return 0; if (a->shutdown) { if ((a->init) && (a->ptr != NULL)) { - if (a->flags & BIO_FLAGS_UPLINK) + if (a->flags & BIO_FLAGS_UPLINK_INTERNAL) UP_fclose(a->ptr); else fclose(a->ptr); a->ptr = NULL; - a->flags = BIO_FLAGS_UPLINK; + a->flags = BIO_FLAGS_UPLINK_INTERNAL; } a->init = 0; } @@ -142,13 +142,13 @@ static int file_read(BIO *b, char *out, int outl) int ret = 0; if (b->init && (out != NULL)) { - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = UP_fread(out, 1, (int)outl, b->ptr); else ret = fread(out, 1, (int)outl, (FILE *)b->ptr); if (ret == 0 - && (b->flags & BIO_FLAGS_UPLINK) ? UP_ferror((FILE *)b->ptr) : - ferror((FILE *)b->ptr)) { + && (b->flags & BIO_FLAGS_UPLINK_INTERNAL + ? UP_ferror((FILE *)b->ptr) : ferror((FILE *)b->ptr))) { SYSerr(SYS_F_FREAD, get_last_sys_error()); BIOerr(BIO_F_FILE_READ, ERR_R_SYS_LIB); ret = -1; @@ -162,7 +162,7 @@ static int file_write(BIO *b, const char *in, int inl) int ret = 0; if (b->init && (in != NULL)) { - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = UP_fwrite(in, (int)inl, 1, b->ptr); else ret = fwrite(in, (int)inl, 1, (FILE *)b->ptr); @@ -189,20 +189,20 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) switch (cmd) { case BIO_C_FILE_SEEK: case BIO_CTRL_RESET: - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = (long)UP_fseek(b->ptr, num, 0); else ret = (long)fseek(fp, num, 0); break; case BIO_CTRL_EOF: - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = (long)UP_feof(fp); else ret = (long)feof(fp); break; case BIO_C_FILE_TELL: case BIO_CTRL_INFO: - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) ret = UP_ftell(b->ptr); else ret = ftell(fp); @@ -212,22 +212,22 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) b->shutdown = (int)num & BIO_CLOSE; b->ptr = ptr; b->init = 1; -# if BIO_FLAGS_UPLINK!=0 +# if BIO_FLAGS_UPLINK_INTERNAL!=0 # if defined(__MINGW32__) && defined(__MSVCRT__) && !defined(_IOB_ENTRIES) # define _IOB_ENTRIES 20 # endif /* Safety net to catch purely internal BIO_set_fp calls */ # if defined(_MSC_VER) && _MSC_VER>=1900 if (ptr == stdin || ptr == stdout || ptr == stderr) - BIO_clear_flags(b, BIO_FLAGS_UPLINK); + BIO_clear_flags(b, BIO_FLAGS_UPLINK_INTERNAL); # elif defined(_IOB_ENTRIES) if ((size_t)ptr >= (size_t)stdin && (size_t)ptr < (size_t)(stdin + _IOB_ENTRIES)) - BIO_clear_flags(b, BIO_FLAGS_UPLINK); + BIO_clear_flags(b, BIO_FLAGS_UPLINK_INTERNAL); # endif # endif # ifdef UP_fsetmod - if (b->flags & BIO_FLAGS_UPLINK) + if (b->flags & BIO_FLAGS_UPLINK_INTERNAL) UP_fsetmod(b->ptr, (char)((num & BIO_FP_TEXT) ? 't' : 'b')); else # endif @@ -296,8 +296,8 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) } b->ptr = fp; b->init = 1; - BIO_clear_flags(b, BIO_FLAGS_UPLINK); /* we did fopen -> we disengage - * UPLINK */ + /* we did fopen -> we disengage UPLINK */ + BIO_clear_flags(b, BIO_FLAGS_UPLINK_INTERNAL); break; case BIO_C_GET_FILE_PTR: /* the ptr parameter is actually a FILE ** in this case. */ @@ -313,7 +313,7 @@ static long file_ctrl(BIO *b, int cmd, long num, void *ptr) b->shutdown = (int)num; break; case BIO_CTRL_FLUSH: - st = b->flags & BIO_FLAGS_UPLINK + st = b->flags & BIO_FLAGS_UPLINK_INTERNAL ? UP_fflush(b->ptr) : fflush((FILE *)b->ptr); if (st == EOF) { SYSerr(SYS_F_FFLUSH, get_last_sys_error()); @@ -342,7 +342,7 @@ static int file_gets(BIO *bp, char *buf, int size) int ret = 0; buf[0] = '\0'; - if (bp->flags & BIO_FLAGS_UPLINK) { + if (bp->flags & BIO_FLAGS_UPLINK_INTERNAL) { if (!UP_fgets(buf, size, bp->ptr)) goto err; } else { diff --git a/include/internal/cryptlib.h b/include/internal/cryptlib.h index f7bd06b..1aa1dc6 100644 --- a/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -14,9 +14,10 @@ # include <string.h> # ifdef OPENSSL_USE_APPLINK -# undef BIO_FLAGS_UPLINK -# define BIO_FLAGS_UPLINK 0x8000 +# define BIO_FLAGS_UPLINK_INTERNAL 0x8000 # include "ms/uplink.h" +# else +# define BIO_FLAGS_UPLINK_INTERNAL 0 # endif # include <openssl/crypto.h> diff --git a/include/openssl/bio.h b/include/openssl/bio.h index a0c9220..17b2c0e 100644 --- a/include/openssl/bio.h +++ b/include/openssl/bio.h @@ -174,12 +174,9 @@ extern "C" { # define BIO_FLAGS_IO_SPECIAL 0x04 # define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) # define BIO_FLAGS_SHOULD_RETRY 0x08 -# ifndef BIO_FLAGS_UPLINK -/* - * "UPLINK" flag denotes file descriptors provided by application. It - * defaults to 0, as most platforms don't require UPLINK interface. - */ -# define BIO_FLAGS_UPLINK 0 +# if !OPENSSL_API_3 +/* This #define was replaced by an internal constant and should not be used. */ +# define BIO_FLAGS_UPLINK 0 # endif # define BIO_FLAGS_BASE64_NO_NL 0x100