diff options
Diffstat (limited to 'src/lib/libcrypto/ui')
-rw-r--r-- | src/lib/libcrypto/ui/Makefile | 111 | ||||
-rw-r--r-- | src/lib/libcrypto/ui/Makefile.ssl | 117 | ||||
-rw-r--r-- | src/lib/libcrypto/ui/ui.h | 4 | ||||
-rw-r--r-- | src/lib/libcrypto/ui/ui_compat.c | 67 | ||||
-rw-r--r-- | src/lib/libcrypto/ui/ui_err.c | 2 | ||||
-rw-r--r-- | src/lib/libcrypto/ui/ui_lib.c | 19 | ||||
-rw-r--r-- | src/lib/libcrypto/ui/ui_openssl.c | 18 |
7 files changed, 304 insertions, 34 deletions
diff --git a/src/lib/libcrypto/ui/Makefile b/src/lib/libcrypto/ui/Makefile new file mode 100644 index 0000000000..a685659fb4 --- /dev/null +++ b/src/lib/libcrypto/ui/Makefile | |||
@@ -0,0 +1,111 @@ | |||
1 | # | ||
2 | # OpenSSL/crypto/ui/Makefile | ||
3 | # | ||
4 | |||
5 | DIR= ui | ||
6 | TOP= ../.. | ||
7 | CC= cc | ||
8 | INCLUDES= -I.. -I$(TOP) -I../../include | ||
9 | CFLAG=-g | ||
10 | MAKEFILE= Makefile | ||
11 | AR= ar r | ||
12 | |||
13 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
14 | |||
15 | GENERAL=Makefile | ||
16 | #TEST= uitest.c | ||
17 | TEST= | ||
18 | APPS= | ||
19 | |||
20 | COMPATSRC= ui_compat.c | ||
21 | COMPATOBJ= ui_compat.o | ||
22 | |||
23 | LIB=$(TOP)/libcrypto.a | ||
24 | LIBSRC= ui_err.c ui_lib.c ui_openssl.c ui_util.c $(COMPATSRC) | ||
25 | LIBOBJ= ui_err.o ui_lib.o ui_openssl.o ui_util.o $(COMPATOBJ) | ||
26 | |||
27 | SRC= $(LIBSRC) | ||
28 | |||
29 | EXHEADER= ui.h ui_compat.h | ||
30 | HEADER= $(EXHEADER) ui_locl.h | ||
31 | |||
32 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
33 | |||
34 | top: | ||
35 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
36 | |||
37 | all: lib | ||
38 | |||
39 | lib: $(LIBOBJ) | ||
40 | $(AR) $(LIB) $(LIBOBJ) | ||
41 | $(RANLIB) $(LIB) || echo Never mind. | ||
42 | @touch lib | ||
43 | |||
44 | files: | ||
45 | $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO | ||
46 | |||
47 | links: | ||
48 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) | ||
49 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) | ||
50 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) | ||
51 | |||
52 | install: | ||
53 | @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile... | ||
54 | @headerlist="$(EXHEADER)"; for i in $$headerlist ; \ | ||
55 | do \ | ||
56 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | ||
57 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | ||
58 | done; | ||
59 | |||
60 | tags: | ||
61 | ctags $(SRC) | ||
62 | |||
63 | tests: | ||
64 | |||
65 | lint: | ||
66 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
67 | |||
68 | depend: | ||
69 | @[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile... | ||
70 | $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) | ||
71 | |||
72 | dclean: | ||
73 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
74 | mv -f Makefile.new $(MAKEFILE) | ||
75 | |||
76 | clean: | ||
77 | rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | ||
78 | |||
79 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
80 | |||
81 | ui_compat.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h | ||
82 | ui_compat.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h | ||
83 | ui_compat.o: ../../include/openssl/stack.h ../../include/openssl/ui.h | ||
84 | ui_compat.o: ../../include/openssl/ui_compat.h ui_compat.c | ||
85 | ui_err.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h | ||
86 | ui_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
87 | ui_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
88 | ui_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
89 | ui_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
90 | ui_err.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h ui_err.c | ||
91 | ui_lib.o: ../../e_os.h ../../include/openssl/bio.h | ||
92 | ui_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
93 | ui_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
94 | ui_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
95 | ui_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
96 | ui_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
97 | ui_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h | ||
98 | ui_lib.o: ../cryptlib.h ui_lib.c ui_locl.h | ||
99 | ui_openssl.o: ../../e_os.h ../../include/openssl/bio.h | ||
100 | ui_openssl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
101 | ui_openssl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
102 | ui_openssl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
103 | ui_openssl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h | ||
104 | ui_openssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
105 | ui_openssl.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h | ||
106 | ui_openssl.o: ../cryptlib.h ui_locl.h ui_openssl.c | ||
107 | ui_util.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
108 | ui_util.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
109 | ui_util.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h | ||
110 | ui_util.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
111 | ui_util.o: ../../include/openssl/ui.h ui_locl.h ui_util.c | ||
diff --git a/src/lib/libcrypto/ui/Makefile.ssl b/src/lib/libcrypto/ui/Makefile.ssl new file mode 100644 index 0000000000..ba46951d1c --- /dev/null +++ b/src/lib/libcrypto/ui/Makefile.ssl | |||
@@ -0,0 +1,117 @@ | |||
1 | # | ||
2 | # OpenSSL/crypto/ui/Makefile | ||
3 | # | ||
4 | |||
5 | DIR= ui | ||
6 | TOP= ../.. | ||
7 | CC= cc | ||
8 | INCLUDES= -I.. -I$(TOP) -I../../include | ||
9 | CFLAG=-g | ||
10 | INSTALL_PREFIX= | ||
11 | OPENSSLDIR= /usr/local/ssl | ||
12 | INSTALLTOP=/usr/local/ssl | ||
13 | MAKE= make -f Makefile.ssl | ||
14 | MAKEDEPPROG= makedepend | ||
15 | MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) | ||
16 | MAKEFILE= Makefile.ssl | ||
17 | AR= ar r | ||
18 | |||
19 | CFLAGS= $(INCLUDES) $(CFLAG) | ||
20 | |||
21 | GENERAL=Makefile | ||
22 | #TEST= uitest.c | ||
23 | TEST= | ||
24 | APPS= | ||
25 | |||
26 | COMPATSRC= ui_compat.c | ||
27 | COMPATOBJ= ui_compat.o | ||
28 | |||
29 | LIB=$(TOP)/libcrypto.a | ||
30 | LIBSRC= ui_err.c ui_lib.c ui_openssl.c ui_util.c $(COMPATSRC) | ||
31 | LIBOBJ= ui_err.o ui_lib.o ui_openssl.o ui_util.o $(COMPATOBJ) | ||
32 | |||
33 | SRC= $(LIBSRC) | ||
34 | |||
35 | EXHEADER= ui.h ui_compat.h | ||
36 | HEADER= $(EXHEADER) ui_locl.h | ||
37 | |||
38 | ALL= $(GENERAL) $(SRC) $(HEADER) | ||
39 | |||
40 | top: | ||
41 | (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) | ||
42 | |||
43 | all: lib | ||
44 | |||
45 | lib: $(LIBOBJ) | ||
46 | $(AR) $(LIB) $(LIBOBJ) | ||
47 | $(RANLIB) $(LIB) || echo Never mind. | ||
48 | @touch lib | ||
49 | |||
50 | files: | ||
51 | $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO | ||
52 | |||
53 | links: | ||
54 | @sh $(TOP)/util/point.sh Makefile.ssl Makefile | ||
55 | @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) | ||
56 | @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) | ||
57 | @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) | ||
58 | |||
59 | install: | ||
60 | @for i in $(EXHEADER) ; \ | ||
61 | do \ | ||
62 | (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | ||
63 | chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | ||
64 | done; | ||
65 | |||
66 | tags: | ||
67 | ctags $(SRC) | ||
68 | |||
69 | tests: | ||
70 | |||
71 | lint: | ||
72 | lint -DLINT $(INCLUDES) $(SRC)>fluff | ||
73 | |||
74 | depend: | ||
75 | $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) | ||
76 | |||
77 | dclean: | ||
78 | $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new | ||
79 | mv -f Makefile.new $(MAKEFILE) | ||
80 | |||
81 | clean: | ||
82 | rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff | ||
83 | |||
84 | # DO NOT DELETE THIS LINE -- make depend depends on it. | ||
85 | |||
86 | ui_compat.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
87 | ui_compat.o: ../../include/openssl/opensslconf.h | ||
88 | ui_compat.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h | ||
89 | ui_compat.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
90 | ui_compat.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h | ||
91 | ui_compat.o: ui_compat.c | ||
92 | ui_err.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h | ||
93 | ui_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
94 | ui_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
95 | ui_err.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h | ||
96 | ui_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
97 | ui_err.o: ../../include/openssl/ui.h ui_err.c | ||
98 | ui_lib.o: ../../e_os.h ../../include/openssl/bio.h | ||
99 | ui_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
100 | ui_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
101 | ui_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
102 | ui_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h | ||
103 | ui_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h | ||
104 | ui_lib.o: ../../include/openssl/ui.h ../cryptlib.h ui_lib.c ui_locl.h | ||
105 | ui_openssl.o: ../../e_os.h ../../include/openssl/bio.h | ||
106 | ui_openssl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h | ||
107 | ui_openssl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h | ||
108 | ui_openssl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h | ||
109 | ui_openssl.o: ../../include/openssl/opensslv.h | ||
110 | ui_openssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
111 | ui_openssl.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h | ||
112 | ui_openssl.o: ../cryptlib.h ui_locl.h ui_openssl.c | ||
113 | ui_util.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h | ||
114 | ui_util.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h | ||
115 | ui_util.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h | ||
116 | ui_util.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h | ||
117 | ui_util.o: ui_util.c | ||
diff --git a/src/lib/libcrypto/ui/ui.h b/src/lib/libcrypto/ui/ui.h index 2b1cfa2289..018296412b 100644 --- a/src/lib/libcrypto/ui/ui.h +++ b/src/lib/libcrypto/ui/ui.h | |||
@@ -287,8 +287,8 @@ UI_METHOD *UI_OpenSSL(void); | |||
287 | /* The UI_STRING type is the data structure that contains all the needed info | 287 | /* The UI_STRING type is the data structure that contains all the needed info |
288 | about a string or a prompt, including test data for a verification prompt. | 288 | about a string or a prompt, including test data for a verification prompt. |
289 | */ | 289 | */ |
290 | typedef struct ui_string_st UI_STRING; | ||
291 | DECLARE_STACK_OF(UI_STRING) | 290 | DECLARE_STACK_OF(UI_STRING) |
291 | typedef struct ui_string_st UI_STRING; | ||
292 | 292 | ||
293 | /* The different types of strings that are currently supported. | 293 | /* The different types of strings that are currently supported. |
294 | This is only needed by method authors. */ | 294 | This is only needed by method authors. */ |
@@ -310,13 +310,11 @@ int UI_method_set_writer(UI_METHOD *method, int (*writer)(UI *ui, UI_STRING *uis | |||
310 | int UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui)); | 310 | int UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui)); |
311 | int UI_method_set_reader(UI_METHOD *method, int (*reader)(UI *ui, UI_STRING *uis)); | 311 | int UI_method_set_reader(UI_METHOD *method, int (*reader)(UI *ui, UI_STRING *uis)); |
312 | int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui)); | 312 | int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui)); |
313 | int UI_method_set_prompt_constructor(UI_METHOD *method, char *(*prompt_constructor)(UI* ui, const char* object_desc, const char* object_name)); | ||
314 | int (*UI_method_get_opener(UI_METHOD *method))(UI*); | 313 | int (*UI_method_get_opener(UI_METHOD *method))(UI*); |
315 | int (*UI_method_get_writer(UI_METHOD *method))(UI*,UI_STRING*); | 314 | int (*UI_method_get_writer(UI_METHOD *method))(UI*,UI_STRING*); |
316 | int (*UI_method_get_flusher(UI_METHOD *method))(UI*); | 315 | int (*UI_method_get_flusher(UI_METHOD *method))(UI*); |
317 | int (*UI_method_get_reader(UI_METHOD *method))(UI*,UI_STRING*); | 316 | int (*UI_method_get_reader(UI_METHOD *method))(UI*,UI_STRING*); |
318 | int (*UI_method_get_closer(UI_METHOD *method))(UI*); | 317 | int (*UI_method_get_closer(UI_METHOD *method))(UI*); |
319 | char* (*UI_method_get_prompt_constructor(UI_METHOD *method))(UI*, const char*, const char*); | ||
320 | 318 | ||
321 | /* The following functions are helpers for method writers to access relevant | 319 | /* The following functions are helpers for method writers to access relevant |
322 | data from a UI_STRING. */ | 320 | data from a UI_STRING. */ |
diff --git a/src/lib/libcrypto/ui/ui_compat.c b/src/lib/libcrypto/ui/ui_compat.c new file mode 100644 index 0000000000..13e0f70d90 --- /dev/null +++ b/src/lib/libcrypto/ui/ui_compat.c | |||
@@ -0,0 +1,67 @@ | |||
1 | /* crypto/ui/ui_compat.c -*- mode:C; c-file-style: "eay" -*- */ | ||
2 | /* ==================================================================== | ||
3 | * Copyright (c) 2001-2002 The OpenSSL Project. All rights reserved. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions | ||
7 | * are met: | ||
8 | * | ||
9 | * 1. Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * | ||
12 | * 2. Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in | ||
14 | * the documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * | ||
17 | * 3. All advertising materials mentioning features or use of this | ||
18 | * software must display the following acknowledgment: | ||
19 | * "This product includes software developed by the OpenSSL Project | ||
20 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" | ||
21 | * | ||
22 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to | ||
23 | * endorse or promote products derived from this software without | ||
24 | * prior written permission. For written permission, please contact | ||
25 | * openssl-core@openssl.org. | ||
26 | * | ||
27 | * 5. Products derived from this software may not be called "OpenSSL" | ||
28 | * nor may "OpenSSL" appear in their names without prior written | ||
29 | * permission of the OpenSSL Project. | ||
30 | * | ||
31 | * 6. Redistributions of any form whatsoever must retain the following | ||
32 | * acknowledgment: | ||
33 | * "This product includes software developed by the OpenSSL Project | ||
34 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" | ||
35 | * | ||
36 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY | ||
37 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
38 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
39 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR | ||
40 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
41 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
42 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
43 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
44 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
45 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
46 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
47 | * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
48 | * ==================================================================== | ||
49 | * | ||
50 | * This product includes cryptographic software written by Eric Young | ||
51 | * (eay@cryptsoft.com). This product includes software written by Tim | ||
52 | * Hudson (tjh@cryptsoft.com). | ||
53 | * | ||
54 | */ | ||
55 | |||
56 | #include <string.h> | ||
57 | #include <openssl/ui_compat.h> | ||
58 | |||
59 | int _ossl_old_des_read_pw_string(char *buf,int length,const char *prompt,int verify) | ||
60 | { | ||
61 | return UI_UTIL_read_pw_string(buf, length, prompt, verify); | ||
62 | } | ||
63 | |||
64 | int _ossl_old_des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify) | ||
65 | { | ||
66 | return UI_UTIL_read_pw(buf, buff, size, prompt, verify); | ||
67 | } | ||
diff --git a/src/lib/libcrypto/ui/ui_err.c b/src/lib/libcrypto/ui/ui_err.c index a6b96299a0..786bd0dbc3 100644 --- a/src/lib/libcrypto/ui/ui_err.c +++ b/src/lib/libcrypto/ui/ui_err.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* crypto/ui/ui_err.c */ | 1 | /* crypto/ui/ui_err.c */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions | 6 | * modification, are permitted provided that the following conditions |
diff --git a/src/lib/libcrypto/ui/ui_lib.c b/src/lib/libcrypto/ui/ui_lib.c index a8abc27064..ac0100808f 100644 --- a/src/lib/libcrypto/ui/ui_lib.c +++ b/src/lib/libcrypto/ui/ui_lib.c | |||
@@ -693,17 +693,6 @@ int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui)) | |||
693 | return -1; | 693 | return -1; |
694 | } | 694 | } |
695 | 695 | ||
696 | int UI_method_set_prompt_constructor(UI_METHOD *method, char *(*prompt_constructor)(UI* ui, const char* object_desc, const char* object_name)) | ||
697 | { | ||
698 | if (method) | ||
699 | { | ||
700 | method->ui_construct_prompt = prompt_constructor; | ||
701 | return 0; | ||
702 | } | ||
703 | else | ||
704 | return -1; | ||
705 | } | ||
706 | |||
707 | int (*UI_method_get_opener(UI_METHOD *method))(UI*) | 696 | int (*UI_method_get_opener(UI_METHOD *method))(UI*) |
708 | { | 697 | { |
709 | if (method) | 698 | if (method) |
@@ -744,14 +733,6 @@ int (*UI_method_get_closer(UI_METHOD *method))(UI*) | |||
744 | return NULL; | 733 | return NULL; |
745 | } | 734 | } |
746 | 735 | ||
747 | char* (*UI_method_get_prompt_constructor(UI_METHOD *method))(UI*, const char*, const char*) | ||
748 | { | ||
749 | if (method) | ||
750 | return method->ui_construct_prompt; | ||
751 | else | ||
752 | return NULL; | ||
753 | } | ||
754 | |||
755 | enum UI_string_types UI_get_string_type(UI_STRING *uis) | 736 | enum UI_string_types UI_get_string_type(UI_STRING *uis) |
756 | { | 737 | { |
757 | if (!uis) | 738 | if (!uis) |
diff --git a/src/lib/libcrypto/ui/ui_openssl.c b/src/lib/libcrypto/ui/ui_openssl.c index 1bc25f48d5..5fbedf6ff8 100644 --- a/src/lib/libcrypto/ui/ui_openssl.c +++ b/src/lib/libcrypto/ui/ui_openssl.c | |||
@@ -122,9 +122,7 @@ | |||
122 | * sigaction and fileno included. -pedantic would be more appropriate for | 122 | * sigaction and fileno included. -pedantic would be more appropriate for |
123 | * the intended purposes, but we can't prevent users from adding -ansi. | 123 | * the intended purposes, but we can't prevent users from adding -ansi. |
124 | */ | 124 | */ |
125 | #ifndef _POSIX_C_SOURCE | 125 | #define _POSIX_C_SOURCE 1 |
126 | #define _POSIX_C_SOURCE 2 | ||
127 | #endif | ||
128 | #include <signal.h> | 126 | #include <signal.h> |
129 | #include <stdio.h> | 127 | #include <stdio.h> |
130 | #include <string.h> | 128 | #include <string.h> |
@@ -299,7 +297,7 @@ static int is_a_tty; | |||
299 | 297 | ||
300 | /* Declare static functions */ | 298 | /* Declare static functions */ |
301 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) | 299 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) |
302 | static int read_till_nl(FILE *); | 300 | static void read_till_nl(FILE *); |
303 | static void recsig(int); | 301 | static void recsig(int); |
304 | static void pushsig(void); | 302 | static void pushsig(void); |
305 | static void popsig(void); | 303 | static void popsig(void); |
@@ -392,16 +390,15 @@ static int read_string(UI *ui, UI_STRING *uis) | |||
392 | 390 | ||
393 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) | 391 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) |
394 | /* Internal functions to read a string without echoing */ | 392 | /* Internal functions to read a string without echoing */ |
395 | static int read_till_nl(FILE *in) | 393 | static void read_till_nl(FILE *in) |
396 | { | 394 | { |
397 | #define SIZE 4 | 395 | #define SIZE 4 |
398 | char buf[SIZE+1]; | 396 | char buf[SIZE+1]; |
399 | 397 | ||
400 | do { | 398 | do { |
401 | if (!fgets(buf,SIZE,in)) | 399 | if (fgets(buf,sizeof(buf),in) == NULL) |
402 | return 0; | 400 | break; |
403 | } while (strchr(buf,'\n') == NULL); | 401 | } while (strchr(buf,'\n') == NULL); |
404 | return 1; | ||
405 | } | 402 | } |
406 | 403 | ||
407 | static volatile sig_atomic_t intr_signal; | 404 | static volatile sig_atomic_t intr_signal; |
@@ -449,8 +446,7 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) | |||
449 | *p='\0'; | 446 | *p='\0'; |
450 | } | 447 | } |
451 | else | 448 | else |
452 | if (!read_till_nl(tty_in)) | 449 | read_till_nl(tty_in); |
453 | goto error; | ||
454 | if (UI_set_result(ui, uis, result) >= 0) | 450 | if (UI_set_result(ui, uis, result) >= 0) |
455 | ok=1; | 451 | ok=1; |
456 | 452 | ||
@@ -478,7 +474,7 @@ static int open_console(UI *ui) | |||
478 | CRYPTO_w_lock(CRYPTO_LOCK_UI); | 474 | CRYPTO_w_lock(CRYPTO_LOCK_UI); |
479 | is_a_tty = 1; | 475 | is_a_tty = 1; |
480 | 476 | ||
481 | #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS) | 477 | #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) |
482 | tty_in=stdin; | 478 | tty_in=stdin; |
483 | tty_out=stderr; | 479 | tty_out=stderr; |
484 | #else | 480 | #else |