axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wayne Johnson <w...@yahoo.com>
Subject Re: Statically linking Windows OpenSSL in HTTPSSLChannel
Date Mon, 30 Apr 2007 13:51:13 GMT
Thanks for the response.  I'll try changing the order in the path, not sure how DB2 will react
to a newer version of OpenSSL, but technically it should work :{)>

I've got the changes needed to do the static linking.  It required a rebuild of the OpenSSL
package to provide the static libraries (it's not in the default config).  It also requires
some changes to buildSSLChannel.xml in AxisCPP.  

The changes I have are hardcoded and will likely need to be modified to use a build option
in order for it to be included in the  product, if at all.  Should I open a Jira on this?

Index: buildSSLChannel.xml
===================================================================
--- buildSSLChannel.xml (revision 516429)
+++ buildSSLChannel.xml (working copy)
@@ -52,7 +52,7 @@
                   </defineset>
                </compiler>
                <!-- required libraries -->
-               <syslibset libs="${HTTP.SSLChannel.libs}" dir="${HTTP.SSLChannel.dir}/out32dll"
if="windows"/>
+               <syslibset libs="${HTTP.SSLChannel.libs}" dir="${HTTP.SSLChannel.dir}/out32"
type="static" if="windows"/>
                <syslibset libs="${HTTP.SSLChannel.libs}" dir="${HTTP.SSLChannel.dir}/lib"
unless="windows"/>
                <defineset>
                   <define name="ENABLE_AXISTRACE" if="trace"/>
@@ -69,6 +69,8 @@
                           <linker refid="HP-UXLinker"/>
                <linker extends="VisualC++Linker">
                   <syslibset libs="wsock32"/>
+                  <syslibset libs="user32"/>
+                  <syslibset libs="gdi32"/>
                </linker>

                <linker refid="OS400Linker"/>

Fred Preston <PRESTONF@uk.ibm.com> wrote:  
Hi Wayne, 
        I think the library is listed as part of the dependent libraries parameter in the
link options.  When starting up AXIS, the library loader will attempt to load the dependent
libraries.  The HTTPSSLChannel DLL is dynamically loaded from within AXIS.  The AXIS LoadLibrary
function will use the usual Microsoft search criteria to look for dependent libraries using
the contents of the PATH environment variable.  If you have DB2 already up and running (using
something like ODBC and SQL to connect to it), (hopefully on a different thread or process
;-)), then you should be able to change the environment path before running your client so
that the correct OpenSSL library is found, loaded and run. As far as I know, there is no existing
parameter that will statically link the OpenSSL libraries, but you can quite easily do this
yourself by changing the link options.  Both options should work.  It really just depends
on your preference. 
 
Regards,
 
 Fred Preston.
  
 
 
   Wayne Johnson <wdtj@yahoo.com>  27/04/2007 19:16    Please respond to
 "Apache AXIS C User List" <axis-c-user@ws.apache.org>
 
 
    To
 axis-c <axis-c-user@ws.apache.org>   cc
  
  Subject
 Staticly linking Windows OpenSSL in HTTPSSLChannel 
    

 
 
 
 
We have an interesting problem.  Our app uses both DB2 and Axis.  DB2 automatically loads
it's copy of OpenSSL's libeay32.dll.  When we attempt to load HTTPSSLChannel.dll, it sees
DB2's libeay32.dll already loaded and attempts to use it.  Since they're different versions,
and we have no control over what version DB2 is using, we're toast.
 
 At this point, we're looking at linking Axis statically with the OpenSSL library (like the
UNIX platforms do).  Anyone see any issues with this?  Don't suppose there is a build parameter
that does this?
 
 
 --- 
 Wayne Johnson,             | There are two kinds of people: Those 
 3943 Penn Ave. N.          | who say to God, "Thy will be done," 
 Minneapolis, MN 55412-1908 | and those to whom God says, "All right, 
 (612) 522-7003             | then, have it your way." --C.S. Lewis   

---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check out new cars at Yahoo! Autos.  

  

  
---------------------------------

 
  Unless stated otherwise above:
 IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
 Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU 

 
  
 

 



--- 
Wayne Johnson,                         | There are two kinds of people: Those 
3943 Penn Ave. N.          | who say to God, "Thy will be done," 
Minneapolis, MN 55412-1908 | and those to whom God says, "All right, 
(612) 522-7003                         | then,  have it your way." --C.S. Lewis

       
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check outnew cars at Yahoo! Autos.
Mime
View raw message