aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2000-09-21 05:42:01 +0000
committerRichard Levitte <levitte@openssl.org>2000-09-21 05:42:01 +0000
commitc5f8bbbc0b94f3ec3f3f8f2aabbe3cc81f7b8158 (patch)
treec8f72ab928a04717188255fc7887f0a07d12ab28
parent4759abc5f268710bb5b75b38152958d7a1a3f95f (diff)
downloadopenssl-c5f8bbbc0b94f3ec3f3f8f2aabbe3cc81f7b8158.tar.gz
Portability patch for HP MPE/iX. Submitted by Mark Bixby <mark_bixby@hp.com>
-rwxr-xr-xConfigure3
-rw-r--r--apps/s_socket.c2
-rw-r--r--apps/speed.c2
-rwxr-xr-xconfig4
-rw-r--r--crypto/bio/bss_conn.c2
-rw-r--r--crypto/des/read_pwd.c6
-rw-r--r--e_os.h7
-rw-r--r--ssl/ssl2.h4
8 files changed, 27 insertions, 3 deletions
diff --git a/Configure b/Configure
index 2e2023394b..257b94ac62 100755
--- a/Configure
+++ b/Configure
@@ -256,6 +256,9 @@ my %table=(
#"hpux11-64bit-cc","cc:+DA2.0W -g -D_HPUX_SOURCE -Aa -Ae +ESlit::-D_REENTRANT::SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT :::",
# Use unified settings above instead.
+#### HP MPE/iX http://jazz.external.hp.com/src/openssl/
+"MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB::(unknown):-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
+
# Dec Alpha, OSF/1 - the alpha164-cc is the flags for a 21164A with
# the new compiler
# For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
diff --git a/apps/s_socket.c b/apps/s_socket.c
index 0238566a81..9812e6d505 100644
--- a/apps/s_socket.c
+++ b/apps/s_socket.c
@@ -209,9 +209,11 @@ static int init_client_ip(int *sock, unsigned char ip[4], int port)
s=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
if (s == INVALID_SOCKET) { perror("socket"); return(0); }
+#ifndef MPE
i=0;
i=setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i));
if (i < 0) { perror("keepalive"); return(0); }
+#endif
if (connect(s,(struct sockaddr *)&them,sizeof(them)) == -1)
{ close(s); perror("connect"); return(0); }
diff --git a/apps/speed.c b/apps/speed.c
index 1214de39df..15c9a1fdc7 100644
--- a/apps/speed.c
+++ b/apps/speed.c
@@ -87,7 +87,7 @@
#elif !defined(MSDOS) && (!defined(VMS) || defined(__DECC))
# define TIMES
#endif
-#if !defined(_UNICOS) && !defined(__OpenBSD__) && !defined(sgi) && !defined(__FreeBSD__) && !(defined(__bsdi) || defined(__bsdi__)) && !defined(_AIX)
+#if !defined(_UNICOS) && !defined(__OpenBSD__) && !defined(sgi) && !defined(__FreeBSD__) && !(defined(__bsdi) || defined(__bsdi__)) && !defined(_AIX) && !defined(MPE)
# define TIMEB
#endif
diff --git a/config b/config
index 910c97face..6a2625308e 100755
--- a/config
+++ b/config
@@ -71,6 +71,10 @@ fi
# Now we simply scan though... In most cases, the SYSTEM info is enough
#
case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
+ MPE/iX:*)
+ MACHINE=`echo "$MACHINE" | sed -e 's/-/_/g'`
+ echo "parisc-hp-MPE/iX"; exit 0
+ ;;
A/UX:*)
echo "m68k-apple-aux3"; exit 0
;;
diff --git a/crypto/bio/bss_conn.c b/crypto/bio/bss_conn.c
index e092528b3e..a6b77a2cb9 100644
--- a/crypto/bio/bss_conn.c
+++ b/crypto/bio/bss_conn.c
@@ -236,7 +236,7 @@ static int conn_state(BIO *b, BIO_CONNECT *c)
}
c->state=BIO_CONN_S_CONNECT;
-#ifdef SO_KEEPALIVE
+#if defined(SO_KEEPALIVE) && !defined(MPE)
i=1;
i=setsockopt(b->num,SOL_SOCKET,SO_KEEPALIVE,(char *)&i,sizeof(i));
if (i < 0)
diff --git a/crypto/des/read_pwd.c b/crypto/des/read_pwd.c
index 9555abe3a5..c27ec336e7 100644
--- a/crypto/des/read_pwd.c
+++ b/crypto/des/read_pwd.c
@@ -271,7 +271,9 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
#elif defined(MAC_OS_pre_X)
tty=stdin;
#else
+#ifndef MPE
if ((tty=fopen("/dev/tty","r")) == NULL)
+#endif
tty=stdin;
#endif
@@ -312,8 +314,12 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
#if defined(TTY_set) && !defined(VMS)
if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1))
+#ifdef MPE
+ ; /* MPE lies -- echo really has been disabled */
+#else
return(-1);
#endif
+#endif
#ifdef VMS
tty_new[0] = tty_orig[0];
tty_new[1] = tty_orig[1] | TT$M_NOECHO;
diff --git a/e_os.h b/e_os.h
index 77efc6e35b..0c0784f9a9 100644
--- a/e_os.h
+++ b/e_os.h
@@ -275,6 +275,9 @@ extern "C" {
# define NO_SYS_PARAM_H
# else
/* !defined VMS */
+# ifdef MPE
+# define NO_SYS_PARAM_H
+# endif
# ifdef OPENSSL_UNISTD
# include OPENSSL_UNISTD
# else
@@ -344,7 +347,9 @@ extern HINSTANCE _hInstance;
# ifndef NO_SYS_PARAM_H
# include <sys/param.h>
# endif
-# include <sys/time.h> /* Needed under linux for FD_XXX */
+# ifndef MPE
+# include <sys/time.h> /* Needed under linux for FD_XXX */
+# endif
# include <netdb.h>
# if defined(VMS) && !defined(__DECC)
diff --git a/ssl/ssl2.h b/ssl/ssl2.h
index 01d41c88c5..df7d03c18f 100644
--- a/ssl/ssl2.h
+++ b/ssl/ssl2.h
@@ -133,7 +133,11 @@ extern "C" {
/* Upper/Lower Bounds */
#define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS 256
+#ifdef MPE
+#define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER (unsigned int)29998
+#else
#define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER (unsigned int)32767
+#endif
#define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER 16383 /**/
#define SSL2_CHALLENGE_LENGTH 16