Re: What do you think about Lighttpd?

2007-03-01 Thread Greg Ames

--- steve [EMAIL PROTECTED] wrote:

  I use it too, and have meddled with it enough at a source level to feel
  comfortable running it. It has obvious, documented, problems (don't use
  it with mod_ssl),
 
 I didn't make it clear earlier -- I do use the event mpm.
 Successfully. What *is* the problem with mod_ssl anyway??? I have used
 the two together, and I haven't seen a problem

I had something to do with the event mpm also, but I've been out of the loop on
it for some time, so the following may not be quite right.

basically mod_ssl's input filters and check_pipeline_flush() have different
views of how to tell when there is no more input data queued.  there used to be
the possibility that when a client uses HTTP pipelining (multiple requests
back-to-back without waiting for a response after each), mod_ssl could have
data stashed in its input filters for requests after the first request, and the
httpd core (check_pipeline_flush() ) wouldn't realize it and make a bad
decision.  that could result in hangs or lost input.  you are unlikely to see
this problem without pipelining enabled in a browser.

it's fixable, just a simple matter of programming...

Greg


 

Sucker-punch spam with award-winning protection. 
Try the free Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/features_spam.html


Re: [PATCH 39299] - Patch review request

2007-03-01 Thread Basant Kukreja
Thanks Nick for responding to my request.

My comments are in between.

On Wed, Feb 28, 2007 at 10:49:48PM +, Nick Kew wrote:
 On Wed, 28 Feb 2007 14:31:19 -0800
 Basant Kukreja [EMAIL PROTECTED] wrote:
 
  Hi,
 I am Basant. I work in web tier group in Sun Microsystems Inc.
  
  I have submitted the patch for bug 39299.
  Summary : Internal Server Error (500) on COPY
  URI : http://issues.apache.org/bugzilla/show_bug.cgi?id=39299
  
  
  Can some of the committer kindly review my patch please to see if it
  is acceptable or not?
  Patch is against 2.2.x branch.
 
 409 implies a condition the client can fix.  Your patch tests for
 a particular condition that is likely to be fixable in a server
 with DAV uprunning.  But AFAICS it could also give a bogus 409,
 for example in the case of a newly-installed and misconfigured
 server.
Can you kindly elaborate more? How newly misconfigured server can
send 409? Here is my test case :

DavLockDB /disk/apache/apache2/var/DAVLockFs
Directory /disk/apache/apache2/htdocs/DAVtest
Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
AuthName SMA Development server
AuthType Basic
DAV On
/Directory

Now assuming, I misconfigured the server and I intended to configure /DAVtest1 
instead of
/DAVtest, if I send a request.

--
COPY /DAVtest1/litmus/copysrc HTTP/1.1
Host: myhostname.mydomain:4004
User-Agent: litmus/0.11 neon/0.25.5
Connection: TE
TE: trailers
Depth: 0
Destination: http://myhostname.mydomain:4004/DAVtest/litmus/nonesuch/foo
Overwrite: F
X-Litmus: copymove: 5 (copy_nodestcoll)

--
I will get a 405 response.
--
HTTP/1.1 405 Method Not Allowed
Date: Thu, 01 Mar 2007 04:12:59 GMT
Server: Apache/2.2.5-dev (Unix) mod_ssl/2.2.5-dev OpenSSL/0.9.8a DAV/2 
SVN/1.4.3 mod_perl/2.0.4-dev Perl/v5.8.8
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Length: 245
Content-Type: text/html; charset=iso-8859-1
!DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN
htmlhead
title405 Method Not Allowed/title
/headbody
h1Method Not Allowed/h1
pThe requested method COPY is not allowed for the URL 
/DAVtest1/litmus/copysrc./p
/body/html
--

 
 Does the DAV RFC explicitly tell us to use 409 in this instance?
I didn't find RFC explictly stating 409 response but it is one of the
responses returned by COPY method. I will dig more and return back on this.

Regards,
Basant.

 
 -- 
 Nick Kew
 
 Application Development with Apache - the Apache Modules Book
 http://www.apachetutor.org/


Re: What do you think about Lighttpd?

2007-03-01 Thread steve

Ah, OK so I shouldn't panic until a browser ships with pipelining
enabled by default. HTTP pipelining would be nice, as in limited
tests, it had a nice performance increase on sites with lots of little
images/css/etc.

On 3/1/07, Greg Ames [EMAIL PROTECTED] wrote:


--- steve [EMAIL PROTECTED] wrote:

  I use it too, and have meddled with it enough at a source level to feel
  comfortable running it. It has obvious, documented, problems (don't use
  it with mod_ssl),

 I didn't make it clear earlier -- I do use the event mpm.
 Successfully. What *is* the problem with mod_ssl anyway??? I have used
 the two together, and I haven't seen a problem

I had something to do with the event mpm also, but I've been out of the loop on
it for some time, so the following may not be quite right.

basically mod_ssl's input filters and check_pipeline_flush() have different
views of how to tell when there is no more input data queued.  there used to be
the possibility that when a client uses HTTP pipelining (multiple requests
back-to-back without waiting for a response after each), mod_ssl could have
data stashed in its input filters for requests after the first request, and the
httpd core (check_pipeline_flush() ) wouldn't realize it and make a bad
decision.  that could result in hangs or lost input.  you are unlikely to see
this problem without pipelining enabled in a browser.

it's fixable, just a simple matter of programming...

Greg




Sucker-punch spam with award-winning protection.
Try the free Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/features_spam.html



Re: util_ldap.c use of hardcoded sizelimit on ldap_search_ext_s causing error

2007-03-01 Thread David Jones

How about:
changes to apr_ldap.h.in:
#define APR_HAS_ZOS_LDAPSDK   @apu_has_ldap_zos@

#if APR_LDAP_HAS_ZOS_LDAPSDK
#define APR_LDAP_SIZELIMIT  LDAP_NO_LIMIT
#else
#ifdef LDAP_DEFAULT_LIMIT
#define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT
#else
#define APR_LDAP_SIZELIMIT -1 /* equivalent to LDAP_DEFAULT_LIMIT */
#endif
#endif


This part of  the util_ldap.c patch at the bottom could allow util_ldap.c to
compile regardless of apr-util level, but would not typically commit it?
+#ifndef APR_LDAP_SIZELIMIT
+#define APR_LDAP_SIZELIMIT -1
#endif



Or could add info to apu-conf.m4 for each SDK, eliminating the need for the
ZOS specific #if (would just need #define APR_LDAP_SIZELIMIT
@apu_ldap_sizelimit)
(If get any input from other SDKs then could replace its  -1 with
LDAP_DEFAULT_LIMIT or LDAP_NO_LIMIT as i did for z/OS)

Index: apu-conf.m4
===
RCS file: /m0xa/cvs/phoenix/2.2.4/srclib/apr-util/build/apu-conf.m4,v
retrieving revision 1.2
diff -u -d -b -r1.2 apu-conf.m4
--- apu-conf.m4 12 Feb 2007 18:19:20 -  1.2
+++ apu-conf.m4 1 Mar 2007 20:07:26 -

@@ -267,10 +273,13 @@
apu_has_ldap_sslinit=0
apu_has_ldapssl_install_routines=0
apu_has_ldap_openldap=0
+apu_has_ldap_sizelimit=0
@@ -354,42 +363,57 @@
  AC_EGREP_CPP([OpenLDAP], [$lber_h
   $ldap_h
   LDAP_VENDOR_NAME], [apu_has_ldap_openldap=1
+   apu_ldap_sizelimit=-1
   apr_cv_ldap_toolkit=OpenLDAP])
fi
if test x$apr_cv_ldap_toolkit = x; then
  AC_EGREP_CPP([Sun Microsystems Inc.], [$lber_h
   $ldap_h
   LDAP_VENDOR_NAME], [apu_has_ldap_solaris=1
+   apu_ldap_sizelimit=-1
   apr_cv_ldap_toolkit=Solaris])
fi
if test x$apr_cv_ldap_toolkit = x; then
  AC_EGREP_CPP([Novell], [$lber_h
   $ldap_h
   LDAP_VENDOR_NAME], [apu_has_ldap_novell=1
+   apu_ldap_sizelimit=-1
   apr_cv_ldap_toolkit=Novell])
fi
if test x$apr_cv_ldap_toolkit = x; then
  AC_EGREP_CPP([Microsoft Corporation.], [$lber_h
   $ldap_h
   LDAP_VENDOR_NAME], [apu_has_ldap_microsoft=1
+   apu_ldap_sizelimit=-1

apr_cv_ldap_toolkit=Microsoft])
fi
if test x$apr_cv_ldap_toolkit = x; then
  AC_EGREP_CPP([Netscape Communications Corp.], [$lber_h
   $ldap_h
   LDAP_VENDOR_NAME], [apu_has_ldap_netscape=1
+   apu_ldap_sizelimit=-1
   apr_cv_ldap_toolkit=Netscape])
fi
if test x$apr_cv_ldap_toolkit = x; then
  AC_EGREP_CPP([mozilla.org], [$lber_h
   $ldap_h
   LDAP_VENDOR_NAME], [apu_has_ldap_mozilla=1
+   apu_ldap_sizelimit=-1
   apr_cv_ldap_toolkit=Mozilla])
fi
if test x$apr_cv_ldap_toolkit = x; then
+  AC_EGREP_CPP([IBM], [$lber_h
+   $ldap_h
+   LDAP_VENDOR_NAME], [apu_has_ldap_zos=1
+
apu_ldap_sizelimit=LDAP_NO_LIMIT
+   apr_cv_ldap_toolkit=ZOS])
+fi
+if test x$apr_cv_ldap_toolkit = x; then
  apu_has_ldap_other=1
+  apu_ldap_sizelimit=-1
  apr_cv_ldap_toolkit=unknown
fi
+
  ])
fi

@@ -398,15 +422,20 @@
LIBS=$save_libs
  ])

+AC_SUBST(apu_ldap_sizelimit)
AC_SUBST(ldap_h)
AC_SUBST(lber_h)
AC_SUBST(ldap_ssl_h)

@@ -415,6 +444,7 @@
AC_SUBST(apu_has_ldap_microsoft)
AC_SUBST(apu_has_ldap_netscape)
AC_SUBST(apu_has_ldap_mozilla)
+AC_SUBST(apu_has_ldap_zos)
AC_SUBST(apu_has_ldap_other)

])




And finally this same either way except for the question on #ifndef
APR_LDAP_SIZELIMIT
Index: util_ldap.c
===
RCS file: /m0xa/cvs/phoenix/2.2.4/modules/ldap/util_ldap.c,v
retrieving revision 1.3
diff -u -d -b -r1.3 util_ldap.c
--- util_ldap.c 15 Feb 2007 18:55:41 -  1.3
+++ util_ldap.c 1 Mar 2007 20:19:39 -
@@ -45,15 +45,8 @@
#include unixd.h
#endif

-#ifndef LDAP_NO_LIMIT
-#define LDAP_NO_LIMIT -1
+#ifndef APR_LDAP_SIZELIMIT
+#define APR_LDAP_SIZELIMIT -1
#endif

module AP_MODULE_DECLARE_DATA ldap_module;
@@ -681,7 +681,7 @@
/* search for reqdn */
if ((result = ldap_search_ext_s(ldc-ldap, (char *)reqdn,
LDAP_SCOPE_BASE,
(objectclass=*), NULL, 1,
-NULL, NULL, NULL, LDAP_NO_LIMIT, res))
+NULL, NULL, NULL, 

Re: [PATCH 39299] - Patch review request

2007-03-01 Thread Plüm , Rüdiger , VF EITO


 -Ursprüngliche Nachricht-
 Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
 Gesendet: Freitag, 2. März 2007 02:15
 An: dev@httpd.apache.org
 Betreff: Re: [PATCH 39299] - Patch review request
 
 
 Thanks Nick for responding to my request.
 
 My comments are in between.
 
 On Wed, Feb 28, 2007 at 10:49:48PM +, Nick Kew wrote:
  On Wed, 28 Feb 2007 14:31:19 -0800
  Basant Kukreja [EMAIL PROTECTED] wrote:
  
   Hi,
  I am Basant. I work in web tier group in Sun Microsystems Inc.
   
   I have submitted the patch for bug 39299.
   Summary : Internal Server Error (500) on COPY
   URI : http://issues.apache.org/bugzilla/show_bug.cgi?id=39299
   
   
   Can some of the committer kindly review my patch please 
 to see if it
   is acceptable or not?
   Patch is against 2.2.x branch.
  
  409 implies a condition the client can fix.  Your patch tests for
  a particular condition that is likely to be fixable in a server
  with DAV uprunning.  But AFAICS it could also give a bogus 409,
  for example in the case of a newly-installed and misconfigured
  server.
 Can you kindly elaborate more? How newly misconfigured server can
 send 409? Here is my test case :
 
 DavLockDB /disk/apache/apache2/var/DAVLockFs
 Directory /disk/apache/apache2/htdocs/DAVtest
 Options Indexes FollowSymLinks
 AllowOverride None
 order allow,deny
 allow from all
 AuthName SMA Development server
 AuthType Basic
 DAV On
 /Directory
 
 Now assuming, I misconfigured the server and I intended to 
 configure /DAVtest1 instead of
 /DAVtest, if I send a request.
 
 --
 COPY /DAVtest1/litmus/copysrc HTTP/1.1
 Host: myhostname.mydomain:4004
 User-Agent: litmus/0.11 neon/0.25.5
 Connection: TE
 TE: trailers
 Depth: 0
 Destination: 
 http://myhostname.mydomain:4004/DAVtest/litmus/nonesuch/foo
 Overwrite: F
 X-Litmus: copymove: 5 (copy_nodestcoll

I guess Nicks Idea was the other way round:

COPY /DAVtest/litmus/copysrc

Destination: http://myhostname.mydomain:4004/DAVtest1/litmus/nonesuch/foo

IMHO this direction would also better match the problem described in PR39299.

Regards

Rüdiger