diff options
| author | markus <> | 2003-05-11 21:36:58 +0000 | 
|---|---|---|
| committer | markus <> | 2003-05-11 21:36:58 +0000 | 
| commit | 1c98a87f0daac81245653c227eb2f2508a22a965 (patch) | |
| tree | 3de6d603296ec563b936da4e6a8a1e33d48f8884 /src/lib/libcrypto/ui/ui_openssl.c | |
| parent | 31392c89d1135cf2a416f97295f6d21681b3fbc4 (diff) | |
| download | openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.gz openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.bz2 openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.zip | |
import 0.9.7b (without idea and rc5)
Diffstat (limited to 'src/lib/libcrypto/ui/ui_openssl.c')
| -rw-r--r-- | src/lib/libcrypto/ui/ui_openssl.c | 28 | 
1 files changed, 20 insertions, 8 deletions
| diff --git a/src/lib/libcrypto/ui/ui_openssl.c b/src/lib/libcrypto/ui/ui_openssl.c index 2c2fbc0443..75318d48a1 100644 --- a/src/lib/libcrypto/ui/ui_openssl.c +++ b/src/lib/libcrypto/ui/ui_openssl.c | |||
| @@ -159,8 +159,10 @@ | |||
| 159 | 159 | ||
| 160 | #ifdef WIN_CONSOLE_BUG | 160 | #ifdef WIN_CONSOLE_BUG | 
| 161 | # include <windows.h> | 161 | # include <windows.h> | 
| 162 | #ifndef OPENSSL_SYS_WINCE | ||
| 162 | # include <wincon.h> | 163 | # include <wincon.h> | 
| 163 | #endif | 164 | #endif | 
| 165 | #endif | ||
| 164 | 166 | ||
| 165 | 167 | ||
| 166 | /* There are 5 types of terminal interface supported, | 168 | /* There are 5 types of terminal interface supported, | 
| @@ -191,7 +193,7 @@ | |||
| 191 | # define SGTTY | 193 | # define SGTTY | 
| 192 | #endif | 194 | #endif | 
| 193 | 195 | ||
| 194 | #if defined(OPENSSL_SYS_VSWORKS) | 196 | #if defined(OPENSSL_SYS_VXWORKS) | 
| 195 | #undef TERMIOS | 197 | #undef TERMIOS | 
| 196 | #undef TERMIO | 198 | #undef TERMIO | 
| 197 | #undef SGTTY | 199 | #undef SGTTY | 
| @@ -221,7 +223,7 @@ | |||
| 221 | # define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) | 223 | # define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) | 
| 222 | #endif | 224 | #endif | 
| 223 | 225 | ||
| 224 | #if !defined(_LIBC) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) | 226 | #if !defined(_LIBC) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(OPENSSL_SYS_SUNOS) | 
| 225 | # include <sys/ioctl.h> | 227 | # include <sys/ioctl.h> | 
| 226 | #endif | 228 | #endif | 
| 227 | 229 | ||
| @@ -241,6 +243,10 @@ struct IOSB { | |||
| 241 | }; | 243 | }; | 
| 242 | #endif | 244 | #endif | 
| 243 | 245 | ||
| 246 | #ifdef OPENSSL_SYS_SUNOS | ||
| 247 | typedef int sig_atomic_t; | ||
| 248 | #endif | ||
| 249 | |||
| 244 | #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(MAC_OS_GUSI_SOURCE) | 250 | #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(MAC_OS_GUSI_SOURCE) | 
| 245 | /* | 251 | /* | 
| 246 | * This one needs work. As a matter of fact the code is unoperational | 252 | * This one needs work. As a matter of fact the code is unoperational | 
| @@ -277,10 +283,12 @@ static FILE *tty_in, *tty_out; | |||
| 277 | static int is_a_tty; | 283 | static int is_a_tty; | 
| 278 | 284 | ||
| 279 | /* Declare static functions */ | 285 | /* Declare static functions */ | 
| 286 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) | ||
| 280 | static void read_till_nl(FILE *); | 287 | static void read_till_nl(FILE *); | 
| 281 | static void recsig(int); | 288 | static void recsig(int); | 
| 282 | static void pushsig(void); | 289 | static void pushsig(void); | 
| 283 | static void popsig(void); | 290 | static void popsig(void); | 
| 291 | #endif | ||
| 284 | #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) | 292 | #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) | 
| 285 | static int noecho_fgets(char *buf, int size, FILE *tty); | 293 | static int noecho_fgets(char *buf, int size, FILE *tty); | 
| 286 | #endif | 294 | #endif | 
| @@ -367,6 +375,7 @@ static int read_string(UI *ui, UI_STRING *uis) | |||
| 367 | } | 375 | } | 
| 368 | 376 | ||
| 369 | 377 | ||
| 378 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) | ||
| 370 | /* Internal functions to read a string without echoing */ | 379 | /* Internal functions to read a string without echoing */ | 
| 371 | static void read_till_nl(FILE *in) | 380 | static void read_till_nl(FILE *in) | 
| 372 | { | 381 | { | 
| @@ -378,7 +387,8 @@ static void read_till_nl(FILE *in) | |||
| 378 | } while (strchr(buf,'\n') == NULL); | 387 | } while (strchr(buf,'\n') == NULL); | 
| 379 | } | 388 | } | 
| 380 | 389 | ||
| 381 | static sig_atomic_t intr_signal; | 390 | static volatile sig_atomic_t intr_signal; | 
| 391 | #endif | ||
| 382 | 392 | ||
| 383 | static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) | 393 | static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) | 
| 384 | { | 394 | { | 
| @@ -386,9 +396,9 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) | |||
| 386 | int ok; | 396 | int ok; | 
| 387 | char result[BUFSIZ]; | 397 | char result[BUFSIZ]; | 
| 388 | int maxsize = BUFSIZ-1; | 398 | int maxsize = BUFSIZ-1; | 
| 399 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) | ||
| 389 | char *p; | 400 | char *p; | 
| 390 | 401 | ||
| 391 | #ifndef OPENSSL_SYS_WIN16 | ||
| 392 | intr_signal=0; | 402 | intr_signal=0; | 
| 393 | ok=0; | 403 | ok=0; | 
| 394 | ps=0; | 404 | ps=0; | 
| @@ -439,7 +449,7 @@ error: | |||
| 439 | ok=1; | 449 | ok=1; | 
| 440 | #endif | 450 | #endif | 
| 441 | 451 | ||
| 442 | memset(result,0,BUFSIZ); | 452 | OPENSSL_cleanse(result,BUFSIZ); | 
| 443 | return ok; | 453 | return ok; | 
| 444 | } | 454 | } | 
| 445 | 455 | ||
| @@ -450,7 +460,7 @@ static int open_console(UI *ui) | |||
| 450 | CRYPTO_w_lock(CRYPTO_LOCK_UI); | 460 | CRYPTO_w_lock(CRYPTO_LOCK_UI); | 
| 451 | is_a_tty = 1; | 461 | is_a_tty = 1; | 
| 452 | 462 | ||
| 453 | #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VSWORKS) | 463 | #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VXWORKS) | 
| 454 | tty_in=stdin; | 464 | tty_in=stdin; | 
| 455 | tty_out=stderr; | 465 | tty_out=stderr; | 
| 456 | #else | 466 | #else | 
| @@ -540,7 +550,7 @@ static int echo_console(UI *ui) | |||
| 540 | 550 | ||
| 541 | static int close_console(UI *ui) | 551 | static int close_console(UI *ui) | 
| 542 | { | 552 | { | 
| 543 | if (tty_in != stderr) fclose(tty_in); | 553 | if (tty_in != stdin) fclose(tty_in); | 
| 544 | if (tty_out != stderr) fclose(tty_out); | 554 | if (tty_out != stderr) fclose(tty_out); | 
| 545 | #ifdef OPENSSL_SYS_VMS | 555 | #ifdef OPENSSL_SYS_VMS | 
| 546 | status = sys$dassgn(channel); | 556 | status = sys$dassgn(channel); | 
| @@ -551,6 +561,7 @@ static int close_console(UI *ui) | |||
| 551 | } | 561 | } | 
| 552 | 562 | ||
| 553 | 563 | ||
| 564 | #if !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) | ||
| 554 | /* Internal functions to handle signals and act on them */ | 565 | /* Internal functions to handle signals and act on them */ | 
| 555 | static void pushsig(void) | 566 | static void pushsig(void) | 
| 556 | { | 567 | { | 
| @@ -614,9 +625,10 @@ static void recsig(int i) | |||
| 614 | { | 625 | { | 
| 615 | intr_signal=i; | 626 | intr_signal=i; | 
| 616 | } | 627 | } | 
| 628 | #endif | ||
| 617 | 629 | ||
| 618 | /* Internal functions specific for Windows */ | 630 | /* Internal functions specific for Windows */ | 
| 619 | #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) | 631 | #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) && !defined(OPENSSL_SYS_WINCE) | 
| 620 | static int noecho_fgets(char *buf, int size, FILE *tty) | 632 | static int noecho_fgets(char *buf, int size, FILE *tty) | 
| 621 | { | 633 | { | 
| 622 | int i; | 634 | int i; | 
