cURL / Mailing Lists / curl-users / Single Mail

curl-users

Re: 7.9.4 count-down

From: Miklos Nemeth <mnemeth_at_kfkisystems.com>
Date: Tue, 05 Feb 2002 17:21:50 -0800

Daniel Stenberg wrote:

> On Tue, 5 Feb 2002, Miklos Nemeth wrote:
>
>
>>I compiled 7.9.4-pre2 and it does not work correctly with a popular payment
>>gateway HTTP/SSL site (https://ipgtst.paymentech.net:3443). The header is
>>returned but then curl hangs:
>>
>
> This is probably the same problem Kevin Roth saw. Get a patch here:
> http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/curl/curl/lib/sendf.c.diff?r1=1.43&r2=1.44

You were right as always ;)
I applied this patch and this curl release now works for me
with all nifty SSL-fortified sites.

>
>>However, it is strange that curl reports "Empty reply from server", then
>>dumps a normal response data block.
>>
>
> That looked very strange, yes.

This feature remained :(, later I'll try to find the reason.

>
>>Nonetheless, I cannot upgrade to 7.9.4 until it is not solved :(
>>
>
> I'm doing my best
 
You did, and now I think I'll upgrade as well when the new 7.9.4 release is

officially published.

BTW, I also updated the make files for command line compilation
with Visual C/C++ 6 to provide more seamless compilation.
At the same time I also updated the INSTALL doc to reflect the
modifications I did.
The diff file is attached.
Apply 'patch -p0 < curl-7.9.4-pre2-nmpatch' against a
curl-7.9.4-pre2 subdirectory.

Thanks again,

Miklos

diff -cr curl-7.9.4-pre2\docs\INSTALL curl-7.9.4-pre2.new\docs\INSTALL
*** curl-7.9.4-pre2\docs\INSTALL Tue Jan 08 15:27:22 2002
--- curl-7.9.4-pre2.new\docs\INSTALL Tue Feb 05 16:40:44 2002
***************
*** 203,217 ****
        ----------------------------
          Please read the OpenSSL documentation on how to compile and install
          the OpenSSL library. This generates the libeay32.dll and ssleay32.dll
! files.
  
          Run the 'vcvars32.bat' file to get the proper environment variables
! set. Edit the makefile.vc6 in the lib directory and define
! OPENSSL_PATH. Set the location of the OpenSSL library and run 'nmake
! vc-ssl' in the root directory.
!
! The vcvars32.bat file is part of the Microsoft development
! environment.
  
        Microsoft / Borland style
        -------------------------
--- 203,233 ----
        ----------------------------
          Please read the OpenSSL documentation on how to compile and install
          the OpenSSL library. This generates the libeay32.dll and ssleay32.dll
! files in the out32dll subdirectory in the OpenSSL home directory.
! If you compiled OpenSSL static libraries (libeay32.lib, ssleay32.lib,
! RSAglue.lib) they are created in the out32 subdirectory.
  
          Run the 'vcvars32.bat' file to get the proper environment variables
! set. The vcvars32.bat file is part of the Microsoft development
! environment and you may find it in 'C:\Program Files\Microsoft Visual
! Studio\vc98\bin' if you installed Visual C/C++ 6 in the default
! directory.
! Before running nmake define the OPENSSL_PATH environment variable
! with the root/base directory of OpenSSL, for example:
! set OPENSSL_PATH=c:\openssl-0.9.6b
! Then run 'nmake vc-ssl' or 'nmake vc-ssl-dll'
! in the curl's root directory.
! 'nmake vc-ssl' will create a libcurl static
! and dynamic libraries in the lib subdirectory, as well as
! a statically linked version of curl.exe in the scr subdirectory.
! This statically linked version is a standalone executable
! not requiring any DLL at runtime. This making method
! requires that you have build the static libraries of OpenSSL
! available in OpenSSL's out32 subdirectory.
! 'nmake vc-ssl-dll' creates the libcurl dynamic library and
! links curl.exe against libcurl and OpenSSL dynamically.
! This executables requires libcurl.dll and the OpenSSL DLLs
! at runtime.
  
        Microsoft / Borland style
        -------------------------
Only in curl-7.9.4-pre2.new\lib: libcurl.lib
diff -cr curl-7.9.4-pre2\lib\Makefile.vc6 curl-7.9.4-pre2.new\lib\Makefile.vc6
*** curl-7.9.4-pre2\lib\Makefile.vc6 Mon Jan 07 06:55:22 2002
--- curl-7.9.4-pre2.new\lib\Makefile.vc6 Tue Feb 05 14:55:32 2002
***************
*** 23,35 ****
  # CHANGE LOG
  # ------------------------------------------------------------
  # 05.11.2001 John Lask Initial Release
! #
! #
  ##############################################################
  
  LIB_NAME = libcurl
  LIB_NAME_DEBUG = libcurld
  OPENSSL_PATH = ../../openssl-0.9.6
  
  #############################################################
  ## Nothing more to do below this line!
--- 23,38 ----
  # CHANGE LOG
  # ------------------------------------------------------------
  # 05.11.2001 John Lask Initial Release
! # 02.05.2002 Miklos Nemeth OPENSSL_PATH environment; no need
! # for OpenSSL libraries when creating a
! # static libcurl.lib
  ##############################################################
  
  LIB_NAME = libcurl
  LIB_NAME_DEBUG = libcurld
+ !IFNDEF OPENSSL_PATH
  OPENSSL_PATH = ../../openssl-0.9.6
+ !ENDIF
  
  #############################################################
  ## Nothing more to do below this line!
***************
*** 79,84 ****
--- 82,89 ----
  LINKLIBS = $(LINKLIBS) $(SSLLIBS)
  CC = $(CCNODBG) $(CFLAGSSSL)
  CFGSET = TRUE
+ LFLAGSSSL=
+ SSLLIBS =
  !ENDIF
  
  ######################
Only in curl-7.9.4-pre2.new\lib: release-ssl
Only in curl-7.9.4-pre2.new\lib: release-ssl-dll
diff -cr curl-7.9.4-pre2\lib\sendf.c curl-7.9.4-pre2.new\lib\sendf.c
*** curl-7.9.4-pre2\lib\sendf.c Wed Jan 30 13:49:28 2002
--- curl-7.9.4-pre2.new\lib\sendf.c Tue Feb 05 15:56:48 2002
***************
*** 310,316 ****
      do {
        nread = SSL_read(conn->ssl.handle, buf, buffersize);
  
! if(nread > 0)
          /* successful read */
          break;
  
--- 310,316 ----
      do {
        nread = SSL_read(conn->ssl.handle, buf, buffersize);
  
! if(nread >= 0)
          /* successful read */
          break;
  
Only in curl-7.9.4-pre2.new\lib: sendf.c~
Only in curl-7.9.4-pre2.new\lib: vc60.idb
Only in curl-7.9.4-pre2.new\lib: vc60.pch
diff -cr curl-7.9.4-pre2\Makefile curl-7.9.4-pre2.new\Makefile
*** curl-7.9.4-pre2\Makefile Mon Feb 04 01:49:46 2002
--- curl-7.9.4-pre2.new\Makefile Tue Feb 05 16:28:52 2002
***************
*** 51,56 ****
--- 51,62 ----
          cd lib
          nmake -f Makefile.vc6 cfg=release-ssl
          cd ..\src
+ nmake -f Makefile.vc6 cfg=release-ssl
+
+ vc-ssl-dll:
+ cd lib
+ nmake -f Makefile.vc6 cfg=release-ssl-dll
+ cd ..\src
          nmake -f Makefile.vc6
  
  cygwin:
Only in curl-7.9.4-pre2.new\src: curl.exe
Only in curl-7.9.4-pre2.new\src: hugehelp.obj
Only in curl-7.9.4-pre2.new\src: main.obj
diff -cr curl-7.9.4-pre2\src\Makefile.vc6 curl-7.9.4-pre2.new\src\Makefile.vc6
*** curl-7.9.4-pre2\src\Makefile.vc6 Mon Sep 17 07:38:08 2001
--- curl-7.9.4-pre2.new\src\Makefile.vc6 Tue Feb 05 14:52:28 2002
***************
*** 1,10 ****
  ########################################################
  ## Makefile for building curl.exe with MSVC6
! ## Use: nmake -f makefile.vc6 [release | debug]
  ## (default is release)
  ##
  ## Comments to: Troy Engel <tengel_at_sonic.net>
  ## Updated by: Craig Davison <cd_at_securityfocus.com>
  
  PROGRAM_NAME = curl.exe
  
--- 1,13 ----
  ########################################################
  ## Makefile for building curl.exe with MSVC6
! ## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]
  ## (default is release)
+ ## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
+ ## into curl.exe producing a standalone SSL-enabled executable.
  ##
  ## Comments to: Troy Engel <tengel_at_sonic.net>
  ## Updated by: Craig Davison <cd_at_securityfocus.com>
+ ## release-ssl added by Miklos Nemeth <mnemeth_at_kfkisystems.com>
  
  PROGRAM_NAME = curl.exe
  
***************
*** 41,46 ****
--- 44,62 ----
          writeout.obj \
          urlglob.obj \
          main.obj
+
+ ######################
+ # release-ssl
+
+ !IF "$(CFG)" == "release-ssl"
+ !IFNDEF OPENSSL_PATH
+ OPENSSL_PATH = ../../openssl-0.9.6
+ !ENDIF
+ LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)/out32
+ SSLLIBS = libeay32.lib ssleay32.lib RSAglue.lib user32.lib gdi32.lib
+ LINKLIBS = $(LINKLIBS) $(SSLLIBS)
+ LFLAGS = $(LFLAGS) $(LFLAGSSSL)
+ !ENDIF
  
  all : release
  
Only in curl-7.9.4-pre2.new\src: urlglob.obj
Only in curl-7.9.4-pre2.new\src: vc60.idb
Only in curl-7.9.4-pre2.new\src: vc60.pch
Only in curl-7.9.4-pre2.new\src: writeout.obj
Received on 2002-02-06