RT3548: Remove some obsolete platforms
This commit removes BEOS. Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
179f6b2f55
commit
b317819b2e
14 changed files with 14 additions and 484 deletions
3
CHANGES
3
CHANGES
|
@ -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;
|
||||||
#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)
|
||||||
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);
|
||||||
|
|
||||||
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);
|
||||||
} 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);
|
||||||
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
|
||||||
#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;
|
||||||
#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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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=
|
||||||
|
|
||||||
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:
|
||||||
|
|
||||||
# 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
|
||||||
|
|
|
@ -1,270 +0,0 @@
|
||||||
/* 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)
|
||||||
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 @@
|
||||||
* 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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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
|
||||||
|
|
19
e_os.h
19
e_os.h
|
@ -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)
|
||||||
# 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)
|
||||||
* 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);
|
||||||
#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 */
|
||||||
|
|
11
e_os2.h
11
e_os2.h
|
@ -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
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
Loading…
Reference in a new issue