[libbsd 4/9] openssl: Do not use signals

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jun 10 06:08:30 UTC 2022


---
 freebsd/crypto/openssl/apps/ocsp.c                     |  2 +-
 freebsd/crypto/openssl/apps/openssl.c                  |  2 ++
 .../crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h  |  2 --
 freebsd/crypto/openssl/crypto/ui/ui_openssl.c          | 10 ++++++++++
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/freebsd/crypto/openssl/apps/ocsp.c b/freebsd/crypto/openssl/apps/ocsp.c
index 7ff6a20c..dba8e6a9 100644
--- a/freebsd/crypto/openssl/apps/ocsp.c
+++ b/freebsd/crypto/openssl/apps/ocsp.c
@@ -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>
diff --git a/freebsd/crypto/openssl/apps/openssl.c b/freebsd/crypto/openssl/apps/openssl.c
index 31ec58d8..cdbb262b 100644
--- a/freebsd/crypto/openssl/apps/openssl.c
+++ b/freebsd/crypto/openssl/apps/openssl.c
@@ -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
diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h
index 2c2b926e..90043fb0 100644
--- a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h
+++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h
@@ -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);
diff --git a/freebsd/crypto/openssl/crypto/ui/ui_openssl.c b/freebsd/crypto/openssl/crypto/ui/ui_openssl.c
index 03596eee..6a040553 100644
--- a/freebsd/crypto/openssl/crypto/ui/ui_openssl.c
+++ b/freebsd/crypto/openssl/crypto/ui/ui_openssl.c
@@ -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 */
-- 
2.35.3



More information about the devel mailing list