diff Resources/Patches/openssl-lsb.diff @ 566:6a3e2ca7a7a0 laaw

the client library compiles with LSB 4.0
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 24 Sep 2013 15:12:51 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/Patches/openssl-lsb.diff	Tue Sep 24 15:12:51 2013 +0200
@@ -0,0 +1,118 @@
+--- ui_openssl.c.orig	2013-09-24 15:06:54.264420779 +0200
++++ ui_openssl.c	2013-09-24 14:22:43.512312998 +0200
+@@ -291,7 +291,7 @@
+ static unsigned short channel = 0;
+ #else
+ #if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__)
+-static TTY_STRUCT tty_orig,tty_new;
++//static TTY_STRUCT tty_orig,tty_new;
+ #endif
+ #endif
+ static FILE *tty_in, *tty_out;
+@@ -475,106 +475,21 @@
+ /* Internal functions to open, handle and close a channel to the console.  */
+ static int open_console(UI *ui)
+ 	{
+-	CRYPTO_w_lock(CRYPTO_LOCK_UI);
+-	is_a_tty = 1;
+-
+-#if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS)
+-	tty_in=stdin;
+-	tty_out=stderr;
+-#else
+-#  ifdef OPENSSL_SYS_MSDOS
+-#    define DEV_TTY "con"
+-#  else
+-#    define DEV_TTY "/dev/tty"
+-#  endif
+-	if ((tty_in=fopen(DEV_TTY,"r")) == NULL)
+-		tty_in=stdin;
+-	if ((tty_out=fopen(DEV_TTY,"w")) == NULL)
+-		tty_out=stderr;
+-#endif
+-
+-#if defined(TTY_get) && !defined(OPENSSL_SYS_VMS)
+- 	if (TTY_get(fileno(tty_in),&tty_orig) == -1)
+-		{
+-#ifdef ENOTTY
+-		if (errno == ENOTTY)
+-			is_a_tty=0;
+-		else
+-#endif
+-#ifdef EINVAL
+-		/* Ariel Glenn ariel@columbia.edu reports that solaris
+-		 * can return EINVAL instead.  This should be ok */
+-		if (errno == EINVAL)
+-			is_a_tty=0;
+-		else
+-#endif
+-			return 0;
+-		}
+-#endif
+-#ifdef OPENSSL_SYS_VMS
+-	status = sys$assign(&terminal,&channel,0,0);
+-	if (status != SS$_NORMAL)
+-		return 0;
+-	status=sys$qiow(0,channel,IO$_SENSEMODE,&iosb,0,0,tty_orig,12,0,0,0,0);
+-	if ((status != SS$_NORMAL) || (iosb.iosb$w_value != SS$_NORMAL))
+-		return 0;
+-#endif
+ 	return 1;
+ 	}
+ 
+ static int noecho_console(UI *ui)
+ 	{
+-#ifdef TTY_FLAGS
+-	memcpy(&(tty_new),&(tty_orig),sizeof(tty_orig));
+-	tty_new.TTY_FLAGS &= ~ECHO;
+-#endif
+-
+-#if defined(TTY_set) && !defined(OPENSSL_SYS_VMS)
+-	if (is_a_tty && (TTY_set(fileno(tty_in),&tty_new) == -1))
+-		return 0;
+-#endif
+-#ifdef OPENSSL_SYS_VMS
+-	tty_new[0] = tty_orig[0];
+-	tty_new[1] = tty_orig[1] | TT$M_NOECHO;
+-	tty_new[2] = tty_orig[2];
+-	status = sys$qiow(0,channel,IO$_SETMODE,&iosb,0,0,tty_new,12,0,0,0,0);
+-	if ((status != SS$_NORMAL) || (iosb.iosb$w_value != SS$_NORMAL))
+-		return 0;
+-#endif
+ 	return 1;
+ 	}
+ 
+ static int echo_console(UI *ui)
+ 	{
+-#if defined(TTY_set) && !defined(OPENSSL_SYS_VMS)
+-	memcpy(&(tty_new),&(tty_orig),sizeof(tty_orig));
+-	tty_new.TTY_FLAGS |= ECHO;
+-#endif
+-
+-#if defined(TTY_set) && !defined(OPENSSL_SYS_VMS)
+-	if (is_a_tty && (TTY_set(fileno(tty_in),&tty_new) == -1))
+-		return 0;
+-#endif
+-#ifdef OPENSSL_SYS_VMS
+-	tty_new[0] = tty_orig[0];
+-	tty_new[1] = tty_orig[1] & ~TT$M_NOECHO;
+-	tty_new[2] = tty_orig[2];
+-	status = sys$qiow(0,channel,IO$_SETMODE,&iosb,0,0,tty_new,12,0,0,0,0);
+-	if ((status != SS$_NORMAL) || (iosb.iosb$w_value != SS$_NORMAL))
+-		return 0;
+-#endif
+ 	return 1;
+ 	}
+ 
+ static int close_console(UI *ui)
+ 	{
+-	if (tty_in != stdin) fclose(tty_in);
+-	if (tty_out != stderr) fclose(tty_out);
+-#ifdef OPENSSL_SYS_VMS
+-	status = sys$dassgn(channel);
+-#endif
+-	CRYPTO_w_unlock(CRYPTO_LOCK_UI);
+-
+ 	return 1;
+ 	}
+