axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <samisa_abeysin...@yahoo.com>
Subject Re: various bugs found, see attached patch
Date Mon, 13 Sep 2004 01:17:06 GMT

--- Valentine Kouznetsov <vkuznet@yahoo.com> wrote:
> I would suggest
> to remove /usr/local/Axis/libs path at all, leave
> names of the libraries, such as  libaxis_xmlparser.so
> and rely on LD_LIBRARY_PATH 

+1

Samisa...


> Hi Damitha,
> thanks for applying my patches.
> Regarding hardcoded path. I still disagree since
> in our application we are not deploying Axis, we are
> using it as a part. That means we link agaist axis
> libraries. We are not using any configuration files
> and it is not necessary for our case. I would suggest
> to remove /usr/local/Axis/libs path at all, leave
> names of the libraries, such as  libaxis_xmlparser.so
> and rely on LD_LIBRARY_PATH (the way I originally
> propose it is also not good, since it introduce new
> environment variables). Since your code uses dlopen
> the libraries would be found according to system
> settings or LD_LIBRARY_PATH.
> Valentin.
> 
> 
> --- damitha kumarage <damitha@opensource.lk> wrote:
> 
> > Hi
> > 
> > On Fri, 2004-08-20 at 19:35, Valentine Kouznetsov
> > wrote:
> > > Dear Axis developers,
> > > I found several bugs, design flows in Axis C++ 1.2
> > > code. Instead of reporting 
> > > a bug I'm sending you a patch which fix the
> > following
> > > bugs:
> > > 
> > > 1) The code cannot handle 100 HTTP request Code
> > > According to HTTP 1.1 specification you may get
> > 100
> > > code which means that 
> > > server is still not ready to give OK request and
> > you
> > > need to continue
> > 
> > done
> > 
> > > 
> > > 2) Using HARDCODED PATH to "/usr/local/Axis/" is
> > EVIL.
> > > I'm a user not a 
> > > sys-admin on 800 nodes in our cluster and I don't
> > have
> > > privilages to write to 
> > > this location. The fix I applied is to introduce
> > > environment variable instead 
> > > of hardcoded path
> > 
> > Actually this is not hard coded. The are just
> > default values
> > that the engine assumes if it cannot determine them
> > from
> > the configuration file at
> > $AXICPP_DEPLLY/etc/axiscpp.conf
> > 
> > 
> > > 4) Bug in AxisTransport.cpp where you reject to
> > read
> > > rest of the buffer if 
> > > it's bigger you buffer size (which is 1024). For
> > long
> > > soap messages (which I 
> > > doubt you tested) the XMLParser can handle to
> > parse
> > > them in chunks. But 
> > > AxisTransport.cpp was unable to deliver correctly
> > > parts of long soap message.
> > > To fix this I applied
> > >  AXIS_TRANSPORT_STATUS
> > AxisTransport::getBytes(char*
> > > pcBuffer, int* pSize)
> > >  {
> > > -    if (0 <= m_iBytesLeft)
> > > +    if (0 >= m_iBytesLeft)
> > > 
> > 
> > done
> > 
> > > 5) It's worthwhile to mentioned that you're using
> > in a
> > > wrong way string class.
> > > Instead of using 
> > > strlen (m_PayLoad.c_str ());
> > > it's better (and faster) to use
> > > m_PayLoad.size()
> > > since m_PayLoad is a string.
> > > I found quite a lot of places where you mismatch C
> > and
> > > C++.
> > 
> > true
> > 
> > regds
> > damitha
> > 
> > > 
> > > I appreciate your effort of developing such nice
> > > package and hope you will 
> > > consider my comments seriously and apply the patch
> > I
> > > provide.
> > > 
> > > The patch was done against axis-c-src-1-2-linux
> > code
> > > and can be applied as
> > > patch -p0 < axis.patch
> > > 
> > > (You need to stay in directory where
> > > axis-c-src-1-2-linux resides).
> > > 
> > > If you need further assistance don't hesitate to
> > > contact me.
> > > Sincerely,
> > > Valentin.
> > > 
> > > 
> > > 		
> > > _______________________________
> > > Do you Yahoo!?
> > > Win 1 of 4,000 free domain names from Yahoo! Enter
> > now.
> > > http://promotions.yahoo.com/goldrush
> > > 
> > >
> >
> ______________________________________________________________________
> > > 
> > > diff -Naur
> > axis-c-src-1-2-linux/src/common/AxisConfig.cpp
> > axis-c-src-1-2-linux-vk/src/common/AxisConfig.cpp
> > > --- axis-c-src-1-2-linux/src/common/AxisConfig.cpp
> > 2004-07-09 07:22:04.000000000 +0000
> > > +++
> > axis-c-src-1-2-linux-vk/src/common/AxisConfig.cpp
> > 2004-08-18 16:35:50.246450056 +0000
> > > @@ -25,7 +25,8 @@
> > >  #include <axis/server/AxisFile.h>
> > >  #include "AxisUtils.h"
> > >  #include <stdlib.h>
> > > -#include <stdio.h>
> > > +//#include <stdio.h>
> > > +#include <iostream>
> > >  #include <string.h>
> > >  
> > >  AxisConfig::AxisConfig ()
> > > @@ -58,8 +59,22 @@
> > >      m_pcValueArray[AXCONF_NODENAME] = "server
> > name";
> > >      m_pcValueArray[AXCONF_LISTENPORT] = "listen
> > port";
> > >  #else
> > > -	m_pcValueArray[AXCONF_XMLPARSER] =
> > "/usr/local/Axis/libs/libaxis_xmlparser.so";
> > > -	m_pcValueArray[AXCONF_TRANSPORTHTTP] =
> > "/usr/local/Axis/libs/libaxis_transport.so";
> > > +    char* axis_xmlparser =
> > getenv("AXIS_XMLPARSER");
> > > +    if(!axis_xmlparser) {
> > > +      std::cerr<<"No AXIS_XMLPARSER environment
> > variable found"<<endl;
> > > +      exit(1);
> > > +    } else {
> > > +      m_pcValueArray[AXCONF_XMLPARSER] =
> > axis_xmlparser;
> > > +    }
> > > +    char* axis_transport =
> > getenv("AXIS_TRANSPORT");
> > > +    if(!axis_transport) {
> > > +       std::cerr<<"No AXIS_TRANSPORT environment
> > variable found"<<endl; 
> > > +       exit(1);
> > > +    } else {
> > > +      m_pcValueArray[AXCONF_TRANSPORTHTTP] =
> > axis_transport;
> > > +    }
> > > +//        m_pcValueArray[AXCONF_XMLPARSER] =
> > "/usr/local/Axis/libs/libaxis_xmlparser.so";
> > > +//        m_pcValueArray[AXCONF_TRANSPORTHTTP] =
> > "/usr/local/Axis/libs/libaxis_transport.so";
> > >      m_pcValueArray[AXCONF_NODENAME] = "server
> > name";
> > >      m_pcValueArray[AXCONF_LISTENPORT] = "listen
> > port";
> > >  #endif
> > > @@ -68,10 +83,38 @@
> > >      m_pcValueArray[AXCONF_XMLPARSER] =
> > "AxisXMLParser.dll";
> > >  	m_pcValueArray[AXCONF_TRANSPORTHTTP] =
> > "AxisTransport.dll";
> > >  #else
> > > -	m_pcValueArray[AXCONF_XMLPARSER] =
> > "/usr/local/Axis/libs/libaxis_xmlparser.so";
> > > -	m_pcValueArray[AXCONF_TRANSPORTHTTP] =
> > "/usr/local/Axis/libs/libaxis_transport.so";
> > > -        m_pcValueArray[AXCONF_LOGPATH] =
> > "/usr/local/Axis/logs/AxisLog";
> > > -        m_pcValueArray[AXCONF_CLIENTLOGPATH] =
> > "/usr/local/Axis/logs/AxisClientLog";
> 
=== message truncated ===



		
__________________________________
Do you Yahoo!?
Y! Messenger - Communicate in real time. Download now. 
http://messenger.yahoo.com

Mime
View raw message