diff --git a/apps/apps.c b/apps/apps.c index a9ac9e1b6..827db9486 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -642,6 +642,15 @@ static char *app_get_pass(BIO *err, char *arg, int keepbio) BIO_printf(err, "Can't open file %s\n", arg + 5); return NULL; } +#if !defined(_WIN32) + /* + * Under _WIN32, which covers even Win64 and CE, file + * descriptors referenced by BIO_s_fd are not inherited + * by child process and therefore below is not an option. + * It could have been an option if bss_fd.c was operating + * on real Windows descriptors, such as those obtained + * with CreateFile. + */ } else if(!strncmp(arg, "fd:", 3)) { BIO *btmp; i = atoi(arg + 3); @@ -653,6 +662,7 @@ static char *app_get_pass(BIO *err, char *arg, int keepbio) /* Can't do BIO_gets on an fd BIO so add a buffering BIO */ btmp = BIO_new(BIO_f_buffer()); pwdbio = BIO_push(btmp, pwdbio); +#endif } else if(!strcmp(arg, "stdin")) { pwdbio = BIO_new_fp(stdin, BIO_NOCLOSE); if(!pwdbio) { diff --git a/crypto/bio/bss_fd.c b/crypto/bio/bss_fd.c index 4c229bf64..5786ed495 100644 --- a/crypto/bio/bss_fd.c +++ b/crypto/bio/bss_fd.c @@ -56,6 +56,8 @@ * [including the GNU Public Licence.] */ +#if !defined(_WIN32_WCE) + #include #include #define USE_SOCKETS @@ -292,3 +294,4 @@ int BIO_fd_non_fatal_error(int err) } return(0); } +#endif