I just applied the patch and committed.  Please test tomorrows 
snapshot.

This ticket is now resolved.

[[EMAIL PROTECTED] - Tue Nov 12 22:31:27 2002]:

> Here are some patches for MSDOS and djgpp using Watt-32 tcp/ip 
stack.
> Patch against snapshot 11-Nov 2002.
> 
> 1. sock_init() renamed to ssl_sock_init() in ./apps/s_socket.c due
>    to name-clash with Watt-32.
> 
> 2. rand() renamed to Rand() in ./crypto/bn/divtest.c due to 
name-clash
>    with <stdlib.h>
> 
> 3. Added calls to dbug_init()/sock_init() in some demo programs.
> 
> 4. Changed cflags/lflags in configure. Watt-32 install root now 
taken
>    from $WATT_ROOT.
> 
> -------------------------------------------
> 
> diff -B -H -u3 -r ./apps/s_client.c ./patch/apps/s_client.c
> --- ./apps/s_client.c              Tue Jul 16 07:00:18 2002
> +++ ./patch/apps/s_client.c        Tue Nov 12 18:06:32 2002
> @@ -746,8 +746,8 @@
>      goto shut;
>      }
>     }
> -#ifdef OPENSSL_SYS_WINDOWS
> -  /* Assume Windows can always write */
> +#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
> +                /* Assume Windows/DOS can always write */
>    else if (!ssl_pending && write_tty)
>  #else
>    else if (!ssl_pending && FD_ISSET(fileno(stdout),&writefds))
> 
> diff -B -H -u3 -r ./apps/s_server.c ./patch/apps/s_server.c
> --- ./apps/s_server.c              Thu Aug 15 15:00:20 2002
> +++ ./patch/apps/s_server.c        Tue Nov 12 18:02:08 2002
> @@ -1473,8 +1473,8 @@
>     else
>      {
>      BIO_printf(bio_s_out,"read R BLOCK\n");
> -#ifndef OPENSSL_SYS_MSDOS
> -    sleep(1);
> +#if !defined(OPENSSL_SYS_MSDOS) && !defined(__DJGPP__)
> +                               sleep(1);
>  #endif
>      continue;
>      }
> 
> diff -B -H -u3 -r ./apps/s_socket.c ./patch/apps/s_socket.c
> --- ./apps/s_socket.c              Tue Feb 20 18:00:10 2001
> +++ ./patch/apps/s_socket.c        Thu Sep 13 08:23:08 2002
> @@ -85,7 +85,7 @@
>  #ifdef OPENSSL_SYS_WINDOWS
>  static void sock_cleanup(void);
>  #endif
> -static int sock_init(void);
> +static int ssl_sock_init(void);
>  static int init_client_ip(int *sock,unsigned char ip[4], int 
port);
>  static int init_server(int *sock, int port);
>  static int init_server_long(int *sock, int port,char *ip);
> @@ -146,9 +146,16 @@
>   }
>  #endif
> 
> -static int sock_init(void)
> +static int ssl_sock_init(void)
>   {
> -#ifdef OPENSSL_SYS_WINDOWS
> +#ifdef WATT32
> +        extern int _watt_do_exit;
> +        _watt_do_exit = 0;
> +        dbug_init();
> +        if (sock_init())
> +           return (0);
> +
> +#elif defined(OPENSSL_SYS_WINDOWS)
>   if (!wsa_init_done)
>    {
>    int err;
> @@ -196,7 +203,7 @@
>   struct sockaddr_in them;
>   int s,i;
> 
> - if (!sock_init()) return(0);
> +       if (!ssl_sock_init()) return(0);
> 
>   memset((char *)&them,0,sizeof(them));
>   them.sin_family=AF_INET;
> @@ -261,7 +268,7 @@
>   struct sockaddr_in server;
>   int s= -1,i;
> 
> - if (!sock_init()) return(0);
> +       if (!ssl_sock_init()) return(0);
> 
>   memset((char *)&server,0,sizeof(server));
>   server.sin_family=AF_INET;
> @@ -318,7 +325,7 @@
>   int len;
>  /* struct linger ling; */
> 
> - if (!sock_init()) return(0);
> +       if (!ssl_sock_init()) return(0);
> 
>  #ifndef OPENSSL_SYS_WINDOWS
>  redoit:
> @@ -448,7 +455,7 @@
>    { /* do a gethostbyname */
>    struct hostent *he;
> 
> -  if (!sock_init()) return(0);
> +               if (!ssl_sock_init()) return(0);
> 
>    he=GetHostByName(str);
>    if (he == NULL)
> 
> diff -B -H -u3 -r ./configur ./patch/configur
> --- ./configur             Tue Nov 12 17:56:10 2002
> +++ ./patch/configur       Tue Nov 12 18:00:44 2002
> @@ -521,7 +521,7 @@
>  "Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486
>    -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des}
> ${x86_gcc_opts}:${x86_out_asm}:win32:cygwin-shared:::.dll",
> 
>  # DJGPP
> -"DJGPP",
> "gcc:-I/dev/env/DJDIR/watt32/inc -DTERMIOS -DL_ENDIAN
>    -fomit-frame-pointer -O2 
-Wall:::MSDOS:-L/dev/env/DJDIR/watt32/lib
>    -lwatt:BN_L
> LONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::",
> +"DJGPP",
> "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN
>    -fomit-frame-pointer -O2 -Wall:::MSDOS:-L/dev/env/WATT_ROOT/lib
>    -lwatt:BN_LLONG
> ${x86_gcc_des} ${x86_gcc_opts}::::::::::",
> 
>  # Ultrix from Bernhard Simon <[EMAIL PROTECTED]>
>  "ultrix-cc","cc:-std1 -O -Olimit 1000 
-DL_ENDIAN::(unknown):::::::",
> 
> diff -B -H -u3 -r ./crypto/bio/b_sock.c ./patch/crypto/bio/b_sock.c
> --- ./crypto/bio/b_sock.c          Thu Jun 13 21:00:34 2002
> +++ ./patch/crypto/bio/b_sock.c    Mon Jun 17 11:24:28 2002
> @@ -463,7 +463,14 @@
>     }
>    }
>  #endif /* OPENSSL_SYS_WINDOWS */
> - return(1);
> +
> +#ifdef WATT32
> +        extern int _watt_do_exit;
> +        _watt_do_exit = 0;    /* don't make sock_init() call 
exit()
>    */
> +        if (sock_init())
> +           return (-1);
> +#endif
> +        return(1);
>   }
> 
>  void BIO_sock_cleanup(void)
> 
> diff -B -H -u3 -r ./crypto/bio/bss_log.c 
./patch/crypto/bio/bss_log.c
> --- ./crypto/bio/bss_log.c         Thu Feb 14 16:00:44 2002
> +++ ./patch/crypto/bio/bss_log.c   Tue Nov 12 18:04:32 2002
> @@ -77,7 +77,7 @@
>  #  include <starlet.h>
>  #elif defined(__ultrix)
>  #  include <sys/syslog.h>
> -#elif !defined(MSDOS) && !defined(OPENSSL_SYS_VXWORKS) &&
>    !defined(NO_SYSLOG) /* Unix */
> +#elif (!defined(MSDOS) || defined(WATT32)) &&
>    !defined(OPENSSL_SYS_VXWORKS) && !defined(NO_SYSLOG)
>  #  include <syslog.h>
>  #endif
> 
> @@ -373,11 +373,15 @@
>  {
>  }
> 
> -#else /* Unix */
> +#else /* Unix/Watt32 */
> 
>  static void xopenlog(BIO* bp, char* name, int level)
>  {
> - openlog(name, LOG_PID|LOG_CONS, level);
> +#ifdef WATT32   /* djgpp/DOS */
> +        openlog(name, LOG_PID|LOG_CONS|LOG_NDELAY, level);
> +#else
> +        openlog(name, LOG_PID|LOG_CONS, level);
> +#endif
>  }
> 
>  static void xsyslog(BIO *bp, int priority, const char *string)
> 
> diff -B -H -u3 -r ./crypto/bio/bss_sock.c
>    ./patch/crypto/bio/bss_sock.c
> --- ./crypto/bio/bss_sock.c        Tue Feb 20 09:00:38 2001
> +++ ./patch/crypto/bio/bss_sock.c  Wed Feb 21 10:27:04 2001
> @@ -64,6 +64,12 @@
>  #include "cryptlib.h"
>  #include <openssl/bio.h>
> 
> +#ifdef WATT32
> +#define sock_write SockWrite  /* Watt-32 uses same names */
> +#define sock_read  SockRead
> +#define sock_puts  SockPuts
> +#endif
> +
>  static int sock_write(BIO *h, const char *buf, int num);
>  static int sock_read(BIO *h, char *buf, int size);
>  static int sock_puts(BIO *h, const char *str);
> 
> diff -B -H -u3 -r ./crypto/bn/divtest.c ./patch/crypto/bn/divtest.c
> --- ./crypto/bn/divtest.c          Sun Feb 27 23:00:38 2000
> +++ ./patch/crypto/bn/divtest.c    Thu Mar 14 08:25:26 2002
> @@ -1,7 +1,7 @@
>  #include <openssl/bn.h>
>  #include <openssl/rand.h>
> 
> -static int rand(n)
> +static int Rand(n)
>  {
>      unsigned char x[2];
>      RAND_pseudo_bytes(x,2);
> @@ -26,8 +26,8 @@
>      BN_CTX *ctx=BN_CTX_new();
> 
>      for(;;) {
> - BN_pseudo_rand(a,rand(),0,0);
> - BN_pseudo_rand(b,rand(),0,0);
> +       BN_pseudo_rand(a,Rand(),0,0);
> +       BN_pseudo_rand(b,Rand(),0,0);
>   if (BN_is_zero(b)) continue;
> 
>   BN_RECP_CTX_set(recp,b,ctx);
> 
> diff -B -H -u3 -r ./demos/bio/saccept.c ./patch/demos/bio/saccept.c
> --- ./demos/bio/saccept.c          Fri Feb  4 15:00:26 2000
> +++ ./patch/demos/bio/saccept.c    Thu Sep 13 08:24:26 2001
> @@ -45,6 +45,11 @@
> 
>   SSL_load_error_strings();
> 
> +#ifdef WATT32
> +       dbug_init();
> +       sock_init();
> +#endif
> +
>   /* Add ciphers and message digests */
>   OpenSSL_add_ssl_algorithms();
> 
> diff -B -H -u3 -r ./demos/bio/sconnect.c 
./patch/demos/bio/sconnect.c
> --- ./demos/bio/sconnect.c         Fri Feb  4 15:00:26 2000
> +++ ./patch/demos/bio/sconnect.c   Thu Sep 13 08:24:10 2001
> @@ -32,6 +32,10 @@
>   else
>    host=argv[1];
> 
> +#ifdef WATT32
> +       dbug_init();
> +       sock_init();
> +#endif
>   /* Lets get nice error messages */
>   SSL_load_error_strings();
> 
> diff -B -H -u3 -r ./e_os.h ./patch/e_os.h
> --- ./e_os.h        Wed Oct  9 14:00:26 2002
> +++ ./patch/e_os.h  Tue Nov 12 18:01:26 2002
> @@ -154,6 +154,13 @@
>  #define readsocket(s,b,n) recv((s),(b),(n),0)
>  #define writesocket(s,b,n) send((s),(b),(n),0)
>  #define EADDRINUSE  WSAEADDRINUSE
> +#elif defined(__DJGPP__)
> +#define WATT32
> +#define get_last_socket_error() errno
> +#define clear_socket_error()    errno=0
> +#define closesocket(s)          close_s(s)
> +#define readsocket(s,b,n)       read_s(s,b,n)
> +#define writesocket(s,b,n)      send(s,b,n,0)
>  #elif defined(MAC_OS_pre_X)
>  #define get_last_socket_error() errno
>  #define clear_socket_error() errno=0
> @@ -207,7 +214,7 @@
>  #    define S_IFMT _S_IFMT
>  #  endif
> 
> -#  if !defined(WINNT)
> +#  if !defined(WINNT) && !defined(__DJGPP__)
>  #    define NO_SYSLOG
>  #  endif
>  #  define NO_DIRENT
> @@ -344,7 +351,7 @@
>  /*************/
> 
>  #ifdef USE_SOCKETS
> -#  if (defined(WINDOWS) || defined(MSDOS)) && !defined(__DJGPP__)
> +#  if defined(WINDOWS) || defined(MSDOS)
>        /* windows world */
> 
>  #    ifdef OPENSSL_NO_SOCK
> @@ -352,13 +359,18 @@
>  #      define SSLeay_Read(a,b,c) (-1)
>  #      define SHUTDOWN(fd)  close(fd)
>  #      define SHUTDOWN2(fd)  close(fd)
> -#    else
> +#    elif defined(WINDOWS)
>  #      include <winsock.h>
>  extern HINSTANCE _hInstance;
>  #      define SSLeay_Write(a,b,c) send((a),(b),(c),0)
>  #      define SSLeay_Read(a,b,c) recv((a),(b),(c),0)
>  #      define SHUTDOWN(fd)  { shutdown((fd),0); closesocket(fd); }
>  #      define SHUTDOWN2(fd)  { shutdown((fd),2); closesocket(fd); 
}
> +#    elif defined(__DJGPP__)
> +#      define SSLeay_Write(a,b,c)       write_s(a,b,c,0)
> +#      define SSLeay_Read(a,b,c)        read_s(a,b,c)
> +#      define SHUTDOWN(fd)              close_s(fd)
> +#      define SHUTDOWN2(fd)             close_s(fd)
>  #    endif
> 
>  #  elif defined(MAC_OS_pre_X)
> 
> 
--------------------------------------------------------------------------
> 
> Gisle V.
> 
> 
> 
______________________________________________________________________
> OpenSSL Project                                 
http://www.openssl.org
> Development Mailing List                       
[EMAIL PROTECTED]
> Automated List Manager                           
[EMAIL PROTECTED]


-- 
Richard Levitte
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to