From 1c88c3b3b56c6047180e116c5614dad2b13995f9 Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Wed, 11 Apr 2012 18:20:54 +0200 Subject: [PATCH] Disable OpenSSL UI --- deps/openssl/openssl.gyp | 2 + deps/openssl/openssl/crypto/ui/ui_dummy.c | 95 +++++++++++++++++++++ deps/openssl/openssl/crypto/ui/ui_openssl.c | 3 + 3 files changed, 100 insertions(+) create mode 100644 deps/openssl/openssl/crypto/ui/ui_dummy.c diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp index 00f7c152e7..7a031ec249 100644 --- a/deps/openssl/openssl.gyp +++ b/deps/openssl/openssl.gyp @@ -19,6 +19,7 @@ # Work around brain dead SunOS linker. 'OPENSSL_NO_GOST', 'OPENSSL_NO_HW_PADLOCK', + 'OPENSSL_NO_TTY', ], 'sources': [ 'openssl/ssl/bio_ssl.c', @@ -546,6 +547,7 @@ 'openssl/crypto/ui/ui_compat.c', 'openssl/crypto/ui/ui_err.c', 'openssl/crypto/ui/ui_lib.c', + 'openssl/crypto/ui/ui_dummy.c', 'openssl/crypto/ui/ui_openssl.c', 'openssl/crypto/ui/ui_util.c', 'openssl/crypto/uid.c', diff --git a/deps/openssl/openssl/crypto/ui/ui_dummy.c b/deps/openssl/openssl/crypto/ui/ui_dummy.c new file mode 100644 index 0000000000..1042910965 --- /dev/null +++ b/deps/openssl/openssl/crypto/ui/ui_dummy.c @@ -0,0 +1,95 @@ +/* ==================================================================== + * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + +#include +#include +#include "ui_locl.h" +#include "cryptlib.h" + +#ifdef OPENSSL_NO_TTY + +static int dummy_read_write_string(UI *ui, UI_STRING *uis); +static int dummy_open_close(UI *ui); + +static UI_METHOD ui_dummy = + { + "Dummy user interface", + dummy_open_close, + dummy_read_write_string, + NULL, + dummy_read_write_string, + dummy_open_close, + NULL + }; + +UI_METHOD *UI_OpenSSL(void) + { + return &ui_dummy; + } + +static int dummy_open_close(UI *ui) + { + /* Pretend that opening and closing the dummy UI succeeds. */ + return 1; + } + +static int dummy_read_write_string(UI *ui, UI_STRING *uis) + { + /* Writing to and reading from the dummy UI is not possible. */ + return 0; + } + + +#endif diff --git a/deps/openssl/openssl/crypto/ui/ui_openssl.c b/deps/openssl/openssl/crypto/ui/ui_openssl.c index b05cbf348f..9360af10ea 100644 --- a/deps/openssl/openssl/crypto/ui/ui_openssl.c +++ b/deps/openssl/openssl/crypto/ui/ui_openssl.c @@ -114,6 +114,7 @@ * [including the GNU Public Licence.] */ +#ifndef OPENSSL_NO_TTY #include @@ -710,3 +711,5 @@ static int noecho_fgets(char *buf, int size, FILE *tty) return(strlen(buf)); } #endif + +#endif