That section of code is currently disabled, and there haven't been any reports saying 
it was harmful to do so.  Therefore, this ticket is already resolved.

[[EMAIL PROTECTED] - Tue Dec 10 15:47:59 2002]:

> We at ROXIO are looking at using STunnel in our GoBack product to
>    provide a secure link between a server and many client PCs. We have
>    done some testing and this looks like it will work. We plan to
>    support WinNT, Win2000, and WinXP clients. In our testing we had
>    one (1 of 3) computer that would not start STunnel as a service.
>    This computer has WinNT installed, Service pack 6 build 1381.
>    Investigation determined that the OpenSSL was failing at line 279
>    in the code below. The call to RegQueryValueEx() would never return
>    when bufsz was greater than 32768. I do not know if this is the
>    same problem reported by Jeffrey Altman.
> 
> 
> File crypto\rand\rand_win.c - OpenSSL 0.9.6g 9 Aug 2002
> Code from the RAND_poll() function.
> Line:
> 253        /* It appears like this can cause an exception deep within
>    ADVAPI32.DLL
> 254         * at random times on Windows 2000.  Reported by Jeffrey
>    Altman.
> 255         * Only use it on NT.
> 256         */
> 257        if ( osverinfo.dwPlatformId == VER_PLATFORM_WIN32_NT &&
> 258           osverinfo.dwMajorVersion < 5)
> 259           {
> 260           /* Read Performance Statistics from NT/2000 registry
> 261            * The size of the performance data can vary from call
> 262            * to call so we must guess the size of the buffer to use
> 263            * and increase its size if we get an ERROR_MORE_DATA
> 264            * return instead of ERROR_SUCCESS.
> 265            */
> 266           LONG   rc=ERROR_MORE_DATA;
> 267           char * buf=NULL;
> 268           DWORD bufsz=0;
> 269           DWORD length;
> 270
> 271           while (rc == ERROR_MORE_DATA)
> 272                   {
> 273                   buf = realloc(buf,bufsz+8192);
> 274                   if (!buf)
> 275                           break;
> 276                   bufsz += 8192;
> 277
> 278                   length = bufsz;
> 279                   rc = RegQueryValueEx(HKEY_PERFORMANCE_DATA, "Global",
> 280                           NULL, NULL, buf, &length);
> 281                   }
> 282           if (rc == ERROR_SUCCESS)
> 283                   {
> 284                        /* For entropy count assume only least
>    significant
> 285                    * byte of each DWORD is random.
> 286                         */
> 287                   RAND_add(&length, sizeof(length), 0);
> 288                   RAND_add(buf, length, length / 4.0);
> 289                   }
> 290           if (buf)
> 291                   free(buf);
> 292           }
> 
> 
> I solved my problem 2 different ways.
> One solution was to limit the bufsz to 32768 by inserting at line 273
>    the following:
>                   if (bufsz >= 8192*4)
>                   {
>                       rc = ERROR_SUCCESS;
>                       break;
>                   }
> The other solution was to skip this section if ADVAPI32.DLL is present
>    by changing the line at 258 to
> 257        if ( osverinfo.dwPlatformId == VER_PLATFORM_WIN32_NT &&
> 258           osverinfo.dwMajorVersion < 5 && advapi == NULL)
> 
> This change would make the code behave the same way as Win2000 if
>    ADVAPI32.DLL is installed. When ADVAPI32.DLL is not installed is
>    the only time the RegQueryValueEx() function would be called.
> 
> I do not know the ramification of these changes. This code is run
>    during the seeding of the PRNG and it appears to me that this extra
>    seeding is only needed if ADVAPI32.DLL is not available. I could
>    use advice on this.
> 
> Is it possible to get a fix into OpenSSL?
> 
> Misc Info:
> Compiler:     Microsoft Visual C++ 6.0
> 
> Thanks!
> 
> 
> Ken Mattsen
> Senior Software Engineer
> ROXIO, Inc    The Digital Media Company
> 
> 6900 Wedgwood Road
> Maple Grove, MN 55311 USA
> 763-494-7207 direct
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> www.roxio.com <http://www.roxio.com>
> 
> NASDAQ:"ROXI"
> Featuring the Best-Selling CD-Recording Software in the World
> 


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

Reply via email to