Skip to content
This repository was archived by the owner on Apr 22, 2023. It is now read-only.

Commit 9fc84fd

Browse files
committed
openssl: don't read user input from the TTY
1 parent 988a164 commit 9fc84fd

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
/* ====================================================================
2+
* Copyright (c) 2001 The OpenSSL Project. All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
*
8+
* 1. Redistributions of source code must retain the above copyright
9+
* notice, this list of conditions and the following disclaimer.
10+
*
11+
* 2. Redistributions in binary form must reproduce the above copyright
12+
* notice, this list of conditions and the following disclaimer in
13+
* the documentation and/or other materials provided with the
14+
* distribution.
15+
*
16+
* 3. All advertising materials mentioning features or use of this
17+
* software must display the following acknowledgment:
18+
* "This product includes software developed by the OpenSSL Project
19+
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
20+
*
21+
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
22+
* endorse or promote products derived from this software without
23+
* prior written permission. For written permission, please contact
24+
25+
*
26+
* 5. Products derived from this software may not be called "OpenSSL"
27+
* nor may "OpenSSL" appear in their names without prior written
28+
* permission of the OpenSSL Project.
29+
*
30+
* 6. Redistributions of any form whatsoever must retain the following
31+
* acknowledgment:
32+
* "This product includes software developed by the OpenSSL Project
33+
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
34+
*
35+
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
36+
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
39+
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
42+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44+
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46+
* OF THE POSSIBILITY OF SUCH DAMAGE.
47+
* ====================================================================
48+
*
49+
* This product includes cryptographic software written by Eric Young
50+
* ([email protected]). This product includes software written by Tim
51+
* Hudson ([email protected]).
52+
*
53+
*/
54+
55+
56+
#include <openssl/e_os2.h>
57+
#include <evp.h>
58+
#include "ui_locl.h"
59+
#include "cryptlib.h"
60+
61+
#ifdef OPENSSL_NO_TTY
62+
63+
static int dummy_read_write_string(UI *ui, UI_STRING *uis);
64+
static int dummy_open_close(UI *ui);
65+
66+
static UI_METHOD ui_dummy =
67+
{
68+
"Dummy user interface",
69+
dummy_open_close,
70+
dummy_read_write_string,
71+
NULL,
72+
dummy_read_write_string,
73+
dummy_open_close,
74+
NULL
75+
};
76+
77+
UI_METHOD *UI_OpenSSL(void)
78+
{
79+
return &ui_dummy;
80+
}
81+
82+
static int dummy_open_close(UI *ui)
83+
{
84+
/* Pretend that opening and closing the dummy UI succeeds. */
85+
return 1;
86+
}
87+
88+
static int dummy_read_write_string(UI *ui, UI_STRING *uis)
89+
{
90+
/* Writing to and reading from the dummy UI is not possible. */
91+
return 0;
92+
}
93+
94+
95+
#endif

deps/openssl/openssl/crypto/ui/ui_openssl.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
* [including the GNU Public Licence.]
115115
*/
116116

117+
#ifndef OPENSSL_NO_TTY
117118

118119
#include <openssl/e_os2.h>
119120

@@ -710,3 +711,5 @@ static int noecho_fgets(char *buf, int size, FILE *tty)
710711
return(strlen(buf));
711712
}
712713
#endif
714+
715+
#endif

0 commit comments

Comments
 (0)