openssl: Do not use signals

This commit is contained in:
Sebastian Huber 2022-06-10 08:00:00 +02:00
parent 93519fa764
commit cdb5ac55c6
4 changed files with 13 additions and 3 deletions

View File

@ -58,7 +58,7 @@ NON_EMPTY_TRANSLATION_UNIT
#endif
# if !defined(NO_FORK) && !defined(OPENSSL_NO_SOCK) \
&& !defined(OPENSSL_NO_POSIX_IO)
&& !defined(OPENSSL_NO_POSIX_IO) && !defined(__rtems__)
# define OCSP_DAEMON
# include <sys/types.h>
# include <sys/wait.h>

View File

@ -89,9 +89,11 @@ static void calculate_columns(DISPLAY_COLUMNS *dc)
static int apps_startup(void)
{
#ifndef __rtems__
#ifdef SIGPIPE
signal(SIGPIPE, SIG_IGN);
#endif
#endif /* __rtems__ */
/* Set non-default library initialisation settings */
if (!OPENSSL_init_ssl(OPENSSL_INIT_ENGINE_ALL_BUILTIN

View File

@ -3,6 +3,4 @@
#include "rtems-bsd-openssl-data.h"
/* ocsp.c */
RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *prog);
RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int acfd);
RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int multi);
RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int termsig);

View File

@ -158,11 +158,13 @@ struct IOSB {
# endif
/* Define globals. They are protected by a lock */
#ifndef __rtems__
# ifdef SIGACTION
static struct sigaction savsig[NX509_SIG];
# else
static void (*savsig[NX509_SIG]) (int);
# endif
#endif /* __rtems__ */
# ifdef OPENSSL_SYS_VMS
static struct IOSB iosb;
@ -185,7 +187,9 @@ static int is_a_tty;
/* Declare static functions */
# if !defined(OPENSSL_SYS_WINCE)
static int read_till_nl(FILE *);
#ifndef __rtems__
static void recsig(int);
#endif /* __rtems__ */
static void pushsig(void);
static void popsig(void);
# endif
@ -588,6 +592,7 @@ static int close_console(UI *ui)
/* Internal functions to handle signals and act on them */
static void pushsig(void)
{
#ifndef __rtems__
# ifndef OPENSSL_SYS_WIN32
int i;
# endif
@ -630,10 +635,12 @@ static void pushsig(void)
# ifdef SIGWINCH
signal(SIGWINCH, SIG_DFL);
# endif
#endif /* __rtems__ */
}
static void popsig(void)
{
#ifndef __rtems__
# ifdef OPENSSL_SYS_WIN32
signal(SIGABRT, savsig[SIGABRT]);
signal(SIGFPE, savsig[SIGFPE]);
@ -659,12 +666,15 @@ static void popsig(void)
# endif
}
# endif
#endif /* __rtems__ */
}
#ifndef __rtems__
static void recsig(int i)
{
intr_signal = i;
}
#endif /* __rtems__ */
# endif
/* Internal functions specific for Windows */