提交 b317819b 编写于 作者: R Rich Salz

RT3548: Remove some obsolete platforms

This commit removes BEOS.
Reviewed-by: NRichard Levitte <levitte@openssl.org>
上级 179f6b2f
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
done while fixing the error code for the key-too-small case. done while fixing the error code for the key-too-small case.
[Annie Yousar <a.yousar@informatik.hu-berlin.de>] [Annie Yousar <a.yousar@informatik.hu-berlin.de>]
*) Remove BEOS and BEOS_R5 code.
[Rich Salz]
*) Experimental support for a new, fast, unbiased prime candidate generator, *) Experimental support for a new, fast, unbiased prime candidate generator,
bn_probable_prime_dh_coprime(). Not currently used by any prime generator. bn_probable_prime_dh_coprime(). Not currently used by any prime generator.
[Felix Laurie von Massenbach <felix@erbridge.co.uk>] [Felix Laurie von Massenbach <felix@erbridge.co.uk>]
......
...@@ -174,10 +174,6 @@ typedef unsigned int u_int; ...@@ -174,10 +174,6 @@ typedef unsigned int u_int;
#undef FIONBIO #undef FIONBIO
#endif #endif
#if defined(OPENSSL_SYS_BEOS_R5)
#include <fcntl.h>
#endif
#undef PROG #undef PROG
#define PROG s_client_main #define PROG s_client_main
...@@ -629,11 +625,8 @@ int MAIN(int argc, char **argv) ...@@ -629,11 +625,8 @@ int MAIN(int argc, char **argv)
ENGINE *ssl_client_engine=NULL; ENGINE *ssl_client_engine=NULL;
#endif #endif
ENGINE *e=NULL; ENGINE *e=NULL;
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS_R5) #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
struct timeval tv; struct timeval tv;
#if defined(OPENSSL_SYS_BEOS_R5)
int stdin_set = 0;
#endif
#endif #endif
#ifndef OPENSSL_NO_TLSEXT #ifndef OPENSSL_NO_TLSEXT
char *servername = NULL; char *servername = NULL;
...@@ -1806,7 +1799,7 @@ SSL_set_tlsext_status_ids(con, ids); ...@@ -1806,7 +1799,7 @@ SSL_set_tlsext_status_ids(con, ids);
if (!ssl_pending) if (!ssl_pending)
{ {
#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_NETWARE) && !defined (OPENSSL_SYS_BEOS_R5) #if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_NETWARE)
if (tty_on) if (tty_on)
{ {
if (read_tty) openssl_fdset(fileno(stdin),&readfds); if (read_tty) openssl_fdset(fileno(stdin),&readfds);
...@@ -1866,25 +1859,6 @@ SSL_set_tlsext_status_ids(con, ids); ...@@ -1866,25 +1859,6 @@ SSL_set_tlsext_status_ids(con, ids);
} else i=select(width,(void *)&readfds,(void *)&writefds, } else i=select(width,(void *)&readfds,(void *)&writefds,
NULL,timeoutp); NULL,timeoutp);
} }
#elif defined(OPENSSL_SYS_BEOS_R5)
/* Under BeOS-R5 the situation is similar to DOS */
i=0;
stdin_set = 0;
(void)fcntl(fileno(stdin), F_SETFL, O_NONBLOCK);
if(!write_tty) {
if(read_tty) {
tv.tv_sec = 1;
tv.tv_usec = 0;
i=select(width,(void *)&readfds,(void *)&writefds,
NULL,&tv);
if (read(fileno(stdin), sbuf, 0) >= 0)
stdin_set = 1;
if (!i && (stdin_set != 1 || !read_tty))
continue;
} else i=select(width,(void *)&readfds,(void *)&writefds,
NULL,timeoutp);
}
(void)fcntl(fileno(stdin), F_SETFL, 0);
#else #else
i=select(width,(void *)&readfds,(void *)&writefds, i=select(width,(void *)&readfds,(void *)&writefds,
NULL,timeoutp); NULL,timeoutp);
...@@ -1971,7 +1945,7 @@ SSL_set_tlsext_status_ids(con, ids); ...@@ -1971,7 +1945,7 @@ SSL_set_tlsext_status_ids(con, ids);
goto shut; goto shut;
} }
} }
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS_R5) #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
/* Assume Windows/DOS/BeOS can always write */ /* Assume Windows/DOS/BeOS can always write */
else if (!ssl_pending && write_tty) else if (!ssl_pending && write_tty)
#else #else
...@@ -2066,8 +2040,6 @@ printf("read=%d pending=%d peek=%d\n",k,SSL_pending(con),SSL_peek(con,zbuf,10240 ...@@ -2066,8 +2040,6 @@ printf("read=%d pending=%d peek=%d\n",k,SSL_pending(con),SSL_peek(con,zbuf,10240
#endif #endif
#elif defined (OPENSSL_SYS_NETWARE) #elif defined (OPENSSL_SYS_NETWARE)
else if (_kbhit()) else if (_kbhit())
#elif defined(OPENSSL_SYS_BEOS_R5)
else if (stdin_set)
#else #else
else if (FD_ISSET(fileno(stdin),&readfds)) else if (FD_ISSET(fileno(stdin),&readfds))
#endif #endif
......
...@@ -197,10 +197,6 @@ typedef unsigned int u_int; ...@@ -197,10 +197,6 @@ typedef unsigned int u_int;
#undef FIONBIO #undef FIONBIO
#endif #endif
#if defined(OPENSSL_SYS_BEOS_R5)
#include <fcntl.h>
#endif
#ifndef OPENSSL_NO_RSA #ifndef OPENSSL_NO_RSA
static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export, int keylength); static RSA MS_CALLBACK *tmp_rsa_cb(SSL *s, int is_export, int keylength);
#endif #endif
...@@ -2214,7 +2210,7 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context) ...@@ -2214,7 +2210,7 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context)
KSSL_CTX *kctx; KSSL_CTX *kctx;
#endif #endif
struct timeval timeout; struct timeval timeout;
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS_R5) #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE)
struct timeval tv; struct timeval tv;
#else #else
struct timeval *timeoutp; struct timeval *timeoutp;
...@@ -2368,7 +2364,7 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context) ...@@ -2368,7 +2364,7 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context)
if (!read_from_sslcon) if (!read_from_sslcon)
{ {
FD_ZERO(&readfds); FD_ZERO(&readfds);
#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_NETWARE) && !defined(OPENSSL_SYS_BEOS_R5) #if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_NETWARE)
openssl_fdset(fileno(stdin),&readfds); openssl_fdset(fileno(stdin),&readfds);
#endif #endif
openssl_fdset(s,&readfds); openssl_fdset(s,&readfds);
...@@ -2390,17 +2386,6 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context) ...@@ -2390,17 +2386,6 @@ static int sv_body(char *hostname, int s, int stype, unsigned char *context)
if((i < 0) || (!i && !_kbhit() ) )continue; if((i < 0) || (!i && !_kbhit() ) )continue;
if(_kbhit()) if(_kbhit())
read_from_terminal = 1; read_from_terminal = 1;
#elif defined(OPENSSL_SYS_BEOS_R5)
/* Under BeOS-R5 the situation is similar to DOS */
tv.tv_sec = 1;
tv.tv_usec = 0;
(void)fcntl(fileno(stdin), F_SETFL, O_NONBLOCK);
i=select(width,(void *)&readfds,NULL,NULL,&tv);
if ((i < 0) || (!i && read(fileno(stdin), buf, 0) < 0))
continue;
if (read(fileno(stdin), buf, 0) >= 0)
read_from_terminal = 1;
(void)fcntl(fileno(stdin), F_SETFL, 0);
#else #else
if ((SSL_version(con) == DTLS1_VERSION) && if ((SSL_version(con) == DTLS1_VERSION) &&
DTLSv1_get_timeout(con, &timeout)) DTLSv1_get_timeout(con, &timeout))
......
...@@ -235,10 +235,6 @@ int BIO_sock_error(int sock) ...@@ -235,10 +235,6 @@ int BIO_sock_error(int sock)
int j,i; int j,i;
union { size_t s; int i; } size; union { size_t s; int i; } size;
#if defined(OPENSSL_SYS_BEOS_R5)
return 0;
#endif
/* heuristic way to adapt for platforms that expect 64-bit optlen */ /* heuristic way to adapt for platforms that expect 64-bit optlen */
size.s=0, size.i=sizeof(j); size.s=0, size.i=sizeof(j);
/* Note: under Windows the third parameter is of type (char *) /* Note: under Windows the third parameter is of type (char *)
......
...@@ -18,9 +18,9 @@ APPS= ...@@ -18,9 +18,9 @@ APPS=
LIB=$(TOP)/libcrypto.a LIB=$(TOP)/libcrypto.a
LIBSRC= dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c \ LIBSRC= dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c \
dso_openssl.c dso_win32.c dso_vms.c dso_beos.c dso_openssl.c dso_win32.c dso_vms.c
LIBOBJ= dso_dl.o dso_dlfcn.o dso_err.o dso_lib.o dso_null.o \ LIBOBJ= dso_dl.o dso_dlfcn.o dso_err.o dso_lib.o dso_null.o \
dso_openssl.o dso_win32.o dso_vms.o dso_beos.o dso_openssl.o dso_win32.o dso_vms.o
SRC= $(LIBSRC) SRC= $(LIBSRC)
...@@ -76,14 +76,6 @@ clean: ...@@ -76,14 +76,6 @@ clean:
# DO NOT DELETE THIS LINE -- make depend depends on it. # DO NOT DELETE THIS LINE -- make depend depends on it.
dso_beos.o: ../../e_os.h ../../include/openssl/bio.h
dso_beos.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
dso_beos.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
dso_beos.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
dso_beos.o: ../../include/openssl/opensslconf.h
dso_beos.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
dso_beos.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
dso_beos.o: ../../include/openssl/symhacks.h ../cryptlib.h dso_beos.c
dso_dl.o: ../../e_os.h ../../include/openssl/bio.h dso_dl.o: ../../e_os.h ../../include/openssl/bio.h
dso_dl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h dso_dl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
dso_dl.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h dso_dl.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h
......
/* dso_beos.c */
/* Written by Marcin Konicki (ahwayakchih@neoni.net) for the OpenSSL
* project 2000.
*/
/* ====================================================================
* Copyright (c) 2000 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
* licensing@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 <stdio.h>
#include <string.h>
#include "cryptlib.h"
#include <openssl/dso.h>
#if !defined(OPENSSL_SYS_BEOS)
DSO_METHOD *DSO_METHOD_beos(void)
{
return NULL;
}
#else
#include <kernel/image.h>
static int beos_load(DSO *dso);
static int beos_unload(DSO *dso);
static void *beos_bind_var(DSO *dso, const char *symname);
static DSO_FUNC_TYPE beos_bind_func(DSO *dso, const char *symname);
#if 0
static int beos_unbind_var(DSO *dso, char *symname, void *symptr);
static int beos_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
static int beos_init(DSO *dso);
static int beos_finish(DSO *dso);
static long beos_ctrl(DSO *dso, int cmd, long larg, void *parg);
#endif
static char *beos_name_converter(DSO *dso, const char *filename);
static DSO_METHOD dso_meth_beos = {
"OpenSSL 'beos' shared library method",
beos_load,
beos_unload,
beos_bind_var,
beos_bind_func,
/* For now, "unbind" doesn't exist */
#if 0
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
NULL, /* ctrl */
beos_name_converter,
NULL, /* init */
NULL /* finish */
};
DSO_METHOD *DSO_METHOD_beos(void)
{
return(&dso_meth_beos);
}
/* For this DSO_METHOD, our meth_data STACK will contain;
* (i) a pointer to the handle (image_id) returned from
* load_add_on().
*/
static int beos_load(DSO *dso)
{
image_id id;
/* See applicable comments from dso_dl.c */
char *filename = DSO_convert_filename(dso, NULL);
if(filename == NULL)
{
DSOerr(DSO_F_BEOS_LOAD,DSO_R_NO_FILENAME);
goto err;
}
id = load_add_on(filename);
if(id < 1)
{
DSOerr(DSO_F_BEOS_LOAD,DSO_R_LOAD_FAILED);
ERR_add_error_data(3, "filename(", filename, ")");
goto err;
}
if(!sk_push(dso->meth_data, (char *)id))
{
DSOerr(DSO_F_BEOS_LOAD,DSO_R_STACK_ERROR);
goto err;
}
/* Success */
dso->loaded_filename = filename;
return(1);
err:
/* Cleanup !*/
if(filename != NULL)
OPENSSL_free(filename);
if(id > 0)
unload_add_on(id);
return(0);
}
static int beos_unload(DSO *dso)
{
image_id id;
if(dso == NULL)
{
DSOerr(DSO_F_BEOS_UNLOAD,ERR_R_PASSED_NULL_PARAMETER);
return(0);
}
if(sk_num(dso->meth_data) < 1)
return(1);
id = (image_id)sk_pop(dso->meth_data);
if(id < 1)
{
DSOerr(DSO_F_BEOS_UNLOAD,DSO_R_NULL_HANDLE);
return(0);
}
if(unload_add_on(id) != B_OK)
{
DSOerr(DSO_F_BEOS_UNLOAD,DSO_R_UNLOAD_FAILED);
/* We should push the value back onto the stack in
* case of a retry. */
sk_push(dso->meth_data, (char *)id);
return(0);
}
return(1);
}
static void *beos_bind_var(DSO *dso, const char *symname)
{
image_id id;
void *sym;
if((dso == NULL) || (symname == NULL))
{
DSOerr(DSO_F_BEOS_BIND_VAR,ERR_R_PASSED_NULL_PARAMETER);
return(NULL);
}
if(sk_num(dso->meth_data) < 1)
{
DSOerr(DSO_F_BEOS_BIND_VAR,DSO_R_STACK_ERROR);
return(NULL);
}
id = (image_id)sk_value(dso->meth_data, sk_num(dso->meth_data) - 1);
if(id < 1)
{
DSOerr(DSO_F_BEOS_BIND_VAR,DSO_R_NULL_HANDLE);
return(NULL);
}
if(get_image_symbol(id, symname, B_SYMBOL_TYPE_DATA, &sym) != B_OK)
{
DSOerr(DSO_F_BEOS_BIND_VAR,DSO_R_SYM_FAILURE);
ERR_add_error_data(3, "symname(", symname, ")");
return(NULL);
}
return(sym);
}
static DSO_FUNC_TYPE beos_bind_func(DSO *dso, const char *symname)
{
image_id id;
void *sym;
if((dso == NULL) || (symname == NULL))
{
DSOerr(DSO_F_BEOS_BIND_FUNC,ERR_R_PASSED_NULL_PARAMETER);
return(NULL);
}
if(sk_num(dso->meth_data) < 1)
{
DSOerr(DSO_F_BEOS_BIND_FUNC,DSO_R_STACK_ERROR);
return(NULL);
}
id = (image_id)sk_value(dso->meth_data, sk_num(dso->meth_data) - 1);
if(id < 1)
{
DSOerr(DSO_F_BEOS_BIND_FUNC,DSO_R_NULL_HANDLE);
return(NULL);
}
if(get_image_symbol(id, symname, B_SYMBOL_TYPE_TEXT, &sym) != B_OK)
{
DSOerr(DSO_F_BEOS_BIND_FUNC,DSO_R_SYM_FAILURE);
ERR_add_error_data(3, "symname(", symname, ")");
return(NULL);
}
return((DSO_FUNC_TYPE)sym);
}
/* This one is the same as the one in dlfcn */
static char *beos_name_converter(DSO *dso, const char *filename)
{
char *translated;
int len, rsize, transform;
len = strlen(filename);
rsize = len + 1;
transform = (strstr(filename, "/") == NULL);
if(transform)
{
/* We will convert this to "%s.so" or "lib%s.so" */
rsize += 3; /* The length of ".so" */
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
rsize += 3; /* The length of "lib" */
}
translated = OPENSSL_malloc(rsize);
if(translated == NULL)
{
DSOerr(DSO_F_BEOS_NAME_CONVERTER,
DSO_R_NAME_TRANSLATION_FAILED);
return(NULL);
}
if(transform)
{
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
sprintf(translated, "lib%s.so", filename);
else
sprintf(translated, "%s.so", filename);
}
else
sprintf(translated, "%s", filename);
return(translated);
}
#endif
...@@ -74,8 +74,6 @@ DSO_METHOD *DSO_METHOD_openssl(void) ...@@ -74,8 +74,6 @@ DSO_METHOD *DSO_METHOD_openssl(void)
return(DSO_METHOD_win32()); return(DSO_METHOD_win32());
#elif defined(DSO_VMS) #elif defined(DSO_VMS)
return(DSO_METHOD_vms()); return(DSO_METHOD_vms());
#elif defined(DSO_BEOS)
return(DSO_METHOD_beos());
#else #else
return(DSO_METHOD_null()); return(DSO_METHOD_null());
#endif #endif
......
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
* RAND_egd() is a wrapper for RAND_egd_bytes() with numbytes=255. * RAND_egd() is a wrapper for RAND_egd_bytes() with numbytes=255.
*/ */
#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_BEOS) #if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_VOS)
int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes) int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes)
{ {
return(-1); return(-1);
......
...@@ -295,12 +295,7 @@ int RAND_poll(void) ...@@ -295,12 +295,7 @@ int RAND_poll(void)
{ {
int try_read = 0; int try_read = 0;
#if defined(OPENSSL_SYS_BEOS_R5) #if defined(OPENSSL_SYS_LINUX)
/* select() is broken in BeOS R5, so we simply
* try to read something and snooze if we couldn't */
try_read = 1;
#elif defined(OPENSSL_SYS_LINUX)
/* use poll() */ /* use poll() */
struct pollfd pset; struct pollfd pset;
...@@ -347,10 +342,6 @@ int RAND_poll(void) ...@@ -347,10 +342,6 @@ int RAND_poll(void)
r = read(fd,(unsigned char *)tmpbuf+n, ENTROPY_NEEDED-n); r = read(fd,(unsigned char *)tmpbuf+n, ENTROPY_NEEDED-n);
if (r > 0) if (r > 0)
n += r; n += r;
#if defined(OPENSSL_SYS_BEOS_R5)
if (r == 0)
snooze(t.tv_usec);
#endif
} }
else else
r = -1; r = -1;
...@@ -404,14 +395,6 @@ int RAND_poll(void) ...@@ -404,14 +395,6 @@ int RAND_poll(void)
l=time(NULL); l=time(NULL);
RAND_add(&l,sizeof(l),0.0); RAND_add(&l,sizeof(l),0.0);
#if defined(OPENSSL_SYS_BEOS)
{
system_info sysInfo;
get_system_info(&sysInfo);
RAND_add(&sysInfo,sizeof(sysInfo),0);
}
#endif
#if defined(DEVRANDOM) || defined(DEVRANDOM_EGD) #if defined(DEVRANDOM) || defined(DEVRANDOM_EGD)
return 1; return 1;
#else #else
......
...@@ -199,8 +199,6 @@ void CRYPTO_THREADID_current(CRYPTO_THREADID *id) ...@@ -199,8 +199,6 @@ void CRYPTO_THREADID_current(CRYPTO_THREADID *id)
CRYPTO_THREADID_set_numeric(id, (unsigned long)GetCurrentTask()); CRYPTO_THREADID_set_numeric(id, (unsigned long)GetCurrentTask());
#elif defined(OPENSSL_SYS_WIN32) #elif defined(OPENSSL_SYS_WIN32)
CRYPTO_THREADID_set_numeric(id, (unsigned long)GetCurrentThreadId()); CRYPTO_THREADID_set_numeric(id, (unsigned long)GetCurrentThreadId());
#elif defined(OPENSSL_SYS_BEOS)
CRYPTO_THREADID_set_numeric(id, (unsigned long)find_thread(NULL));
#else #else
/* For everything else, default to using the address of 'errno' */ /* For everything else, default to using the address of 'errno' */
CRYPTO_THREADID_set_pointer(id, (void*)&errno); CRYPTO_THREADID_set_pointer(id, (void*)&errno);
...@@ -245,8 +243,6 @@ unsigned long CRYPTO_thread_id(void) ...@@ -245,8 +243,6 @@ unsigned long CRYPTO_thread_id(void)
ret=(unsigned long)GetCurrentThreadId(); ret=(unsigned long)GetCurrentThreadId();
#elif defined(GETPID_IS_MEANINGLESS) #elif defined(GETPID_IS_MEANINGLESS)
ret=1L; ret=1L;
#elif defined(OPENSSL_SYS_BEOS)
ret=(unsigned long)find_thread(NULL);
#else #else
ret=(unsigned long)getpid(); ret=(unsigned long)getpid();
#endif #endif
......
...@@ -1209,100 +1209,3 @@ unsigned long netware_thread_id(void) ...@@ -1209,100 +1209,3 @@ unsigned long netware_thread_id(void)
return(ret); return(ret);
} }
#endif /* NETWARE */ #endif /* NETWARE */
#ifdef BEOS_THREADS
#include <Locker.h>
static BLocker** lock_cs;
static long* lock_count;
void thread_setup(void)
{
int i;
lock_cs=(BLocker**)OPENSSL_malloc(CRYPTO_num_locks() * sizeof(BLocker*));
lock_count=(long*)OPENSSL_malloc(CRYPTO_num_locks() * sizeof(long));
for (i=0; i<CRYPTO_num_locks(); i++)
{
lock_count[i]=0;
lock_cs[i] = new BLocker(CRYPTO_get_lock_name(i));
}
CRYPTO_set_id_callback((unsigned long (*)())beos_thread_id);
CRYPTO_set_locking_callback(beos_locking_callback);
}
void thread_cleanup(void)
{
int i;
CRYPTO_set_locking_callback(NULL);
fprintf(stderr,"cleanup\n");
for (i=0; i<CRYPTO_num_locks(); i++)
{
delete lock_cs[i];
fprintf(stderr,"%8ld:%s\n",lock_count[i],
CRYPTO_get_lock_name(i));
}
OPENSSL_free(lock_cs);
OPENSSL_free(lock_count);
fprintf(stderr,"done cleanup\n");
}
void beos_locking_callback(int mode, int type, const char *file, int line)
{
#if 0
fprintf(stderr,"thread=%4d mode=%s lock=%s %s:%d\n",
CRYPTO_thread_id(),
(mode&CRYPTO_LOCK)?"l":"u",
(type&CRYPTO_READ)?"r":"w",file,line);
#endif
if (mode & CRYPTO_LOCK)
{
lock_cs[type]->Lock();
lock_count[type]++;
}
else
{
lock_cs[type]->Unlock();
}
}
void do_threads(SSL_CTX *s_ctx, SSL_CTX *c_ctx)
{
SSL_CTX *ssl_ctx[2];
thread_id thread_ctx[MAX_THREAD_NUMBER];
int i;
ssl_ctx[0]=s_ctx;
ssl_ctx[1]=c_ctx;
for (i=0; i<thread_number; i++)
{
thread_ctx[i] = spawn_thread((thread_func)ndoit,
NULL, B_NORMAL_PRIORITY, (void *)ssl_ctx);
resume_thread(thread_ctx[i]);
}
printf("waiting...\n");
for (i=0; i<thread_number; i++)
{
status_t result;
wait_for_thread(thread_ctx[i], &result);
}
printf("beos threads done (%d,%d)\n",
s_ctx->references,c_ctx->references);
}
unsigned long beos_thread_id(void)
{
unsigned long ret;
ret=(unsigned long)find_thread(NULL);
return(ret);
}
#endif /* BEOS_THREADS */
...@@ -484,7 +484,7 @@ static int open_console(UI *ui) ...@@ -484,7 +484,7 @@ static int open_console(UI *ui)
CRYPTO_w_lock(CRYPTO_LOCK_UI); CRYPTO_w_lock(CRYPTO_LOCK_UI);
is_a_tty = 1; is_a_tty = 1;
#if defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS) #if defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE)
tty_in=stdin; tty_in=stdin;
tty_out=stderr; tty_out=stderr;
#else #else
......
...@@ -157,13 +157,6 @@ extern "C" { ...@@ -157,13 +157,6 @@ extern "C" {
#define closesocket(s) close(s) #define closesocket(s) close(s)
#define readsocket(s,b,n) read((s),(b),(n)) #define readsocket(s,b,n) read((s),(b),(n))
#define writesocket(s,b,n) write((s),(char *)(b),(n)) #define writesocket(s,b,n) write((s),(char *)(b),(n))
#elif defined(OPENSSL_SYS_BEOS_R5)
#define get_last_socket_error() errno
#define clear_socket_error() errno=0
#define FIONBIO SO_NONBLOCK
#define ioctlsocket(a,b,c) setsockopt((a),SOL_SOCKET,(b),(c),sizeof(*(c)))
#define readsocket(s,b,n) recv((s),(b),(n),0)
#define writesocket(s,b,n) send((s),(b),(n),0)
#elif defined(OPENSSL_SYS_NETWARE) #elif defined(OPENSSL_SYS_NETWARE)
#if defined(NETWARE_BSDSOCK) #if defined(NETWARE_BSDSOCK)
#define get_last_socket_error() errno #define get_last_socket_error() errno
...@@ -568,10 +561,8 @@ static __inline unsigned int _strlen31(const char *str) ...@@ -568,10 +561,8 @@ static __inline unsigned int _strlen31(const char *str)
# include <sys/filio.h> /* Added for FIONBIO under unixware */ # include <sys/filio.h> /* Added for FIONBIO under unixware */
# endif # endif
# include <netinet/in.h> # include <netinet/in.h>
# if !defined(OPENSSL_SYS_BEOS_R5)
# include <arpa/inet.h> # include <arpa/inet.h>
# endif # endif
# endif
# if defined(NeXT) || defined(_NEXT_SOURCE) # if defined(NeXT) || defined(_NEXT_SOURCE)
# include <sys/fcntl.h> # include <sys/fcntl.h>
...@@ -619,7 +610,7 @@ static __inline unsigned int _strlen31(const char *str) ...@@ -619,7 +610,7 @@ static __inline unsigned int _strlen31(const char *str)
* versions. * versions.
*/ */
# if !defined(OPENSSL_USE_IPV6) # if !defined(OPENSSL_USE_IPV6)
# if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB) # if defined(AF_INET6) && !defined(NETWARE_CLIB)
# define OPENSSL_USE_IPV6 1 # define OPENSSL_USE_IPV6 1
# else # else
# define OPENSSL_USE_IPV6 0 # define OPENSSL_USE_IPV6 0
...@@ -714,14 +705,6 @@ struct servent *getservbyname(const char *name, const char *proto); ...@@ -714,14 +705,6 @@ struct servent *getservbyname(const char *name, const char *proto);
#endif #endif
/* end vxworks */ /* end vxworks */
/* beos */
#if defined(OPENSSL_SYS_BEOS_R5)
#define SO_ERROR 0
#define NO_SYS_UN
#define IPPROTO_IP 0
#include <OS.h>
#endif
#if !defined(inline) && !defined(__cplusplus) #if !defined(inline) && !defined(__cplusplus)
# if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L # if defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L
/* do nothing, inline works */ /* do nothing, inline works */
......
...@@ -198,17 +198,6 @@ extern "C" { ...@@ -198,17 +198,6 @@ extern "C" {
# define OPENSSL_SYS_VXWORKS # define OPENSSL_SYS_VXWORKS
#endif #endif
/* --------------------------------- BeOS ---------------------------------- */
#if defined(__BEOS__)
# define OPENSSL_SYS_BEOS
# include <sys/socket.h>
# if defined(BONE_VERSION)
# define OPENSSL_SYS_BEOS_BONE
# else
# define OPENSSL_SYS_BEOS_R5
# endif
#endif
/** /**
* That's it for OS-specific stuff * That's it for OS-specific stuff
*****************************************************************************/ *****************************************************************************/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册