Tolerate a SEQUENCE in DN components.
[oweals/openssl.git] / crypto / ui / ui_openssl.c
index 7c80f5feb21c8bce41ff0a262760be7903705ef4..1f23a45a339bc018eb27cb501076e5440f9bb536 100644 (file)
@@ -578,7 +578,9 @@ static int close_console(UI *ui)
 /* Internal functions to handle signals and act on them */
 static void pushsig(void)
        {
+#ifndef OPENSSL_SYS_WIN32
        int i;
+#endif
 #ifdef SIGACTION
        struct sigaction sa;
 
@@ -586,6 +588,14 @@ static void pushsig(void)
        sa.sa_handler=recsig;
 #endif
 
+#ifdef OPENSSL_SYS_WIN32
+       savsig[SIGABRT]=signal(SIGABRT,recsig);
+       savsig[SIGFPE]=signal(SIGFPE,recsig);
+       savsig[SIGILL]=signal(SIGILL,recsig);
+       savsig[SIGINT]=signal(SIGINT,recsig);
+       savsig[SIGSEGV]=signal(SIGSEGV,recsig);
+       savsig[SIGTERM]=signal(SIGTERM,recsig);
+#else
        for (i=1; i<NX509_SIG; i++)
                {
 #ifdef SIGUSR1
@@ -606,6 +616,7 @@ static void pushsig(void)
                savsig[i]=signal(i,recsig);
 #endif
                }
+#endif
 
 #ifdef SIGWINCH
        signal(SIGWINCH,SIG_DFL);
@@ -614,8 +625,15 @@ static void pushsig(void)
 
 static void popsig(void)
        {
+#ifdef OPENSSL_SYS_WIN32
+       signal(SIGABRT,savsig[SIGABRT]);
+       signal(SIGFPE,savsig[SIGFPE]);
+       signal(SIGILL,savsig[SIGILL]);
+       signal(SIGINT,savsig[SIGINT]);
+       signal(SIGSEGV,savsig[SIGSEGV]);
+       signal(SIGTERM,savsig[SIGTERM]);
+#else
        int i;
-
        for (i=1; i<NX509_SIG; i++)
                {
 #ifdef SIGUSR1
@@ -632,6 +650,7 @@ static void popsig(void)
                signal(i,savsig[i]);
 #endif
                }
+#endif
        }
 
 static void recsig(int i)