Re: TestConfigPerl problem

2003-02-10 Thread Stas Bekman
Joe Orton wrote:
Since rev 1.63 of TestConfigPerl.pm I get this error running TEST (after
a fresh checkout)
make[1]: Leaving directory `/home/joe/src/httpd-test/pf/c-modules/authany'
!!! configure() has failed:
Use of uninitialized value in subroutine entry at 
/home/joe/src/httpd-test/pf/t/../Apache-Test/lib/Apache/TestConfigPerl.pm 
line 318, GEN48 line 18.

backing down to r1.62 works fine. Any ideas? I'm using perl 5.8.0.
I can't reproduce it. The difference between 1.62 and 1.63 is a big 
refactoring of the code that parses the config sections.

Can you please check what is undefined? $line, $indent? Also a trace of calls 
that leads to this situation will help, which the following patch should 
accomplish:

Index: Apache-Test/lib/Apache/TestConfigPerl.pm
===
RCS file: 
/home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigPerl.pm,v
retrieving revision 1.65
diff -u -r1.65 TestConfigPerl.pm
--- Apache-Test/lib/Apache/TestConfigPerl.pm3 Feb 2003 02:18:32 - 
  1.65
+++ Apache-Test/lib/Apache/TestConfigPerl.pm10 Feb 2003 23:00:46 -
@@ -315,6 +315,9 @@
 sub process_vhost_open_tag {
 my($self, $line, $indent) = @_;

+use Carp;
+Carp::confess(whoah!) unless defined $line and defined $indent;
+
 my $cfg = $self-parse_vhost($line);
 my $port = $cfg-{port};
 $cfg-{out_postamble}-();
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


redirection with Apache module

2003-02-10 Thread Frédéric Vissault



Hi all,

I'm new in this list but please, could you help me 
to do a redirection
in an Apache module with the request_rec 
struct.
I'm sure that for you, it's very 
simple!

Thanks in advance,
Frédéric Vissault http://www.softandem.com/ [EMAIL PROTECTED] 



Re: Client fd?

2003-02-10 Thread Bill Stoddard
Vinod Panicker wrote:

Hi,

Anyone knows where the socket pointing to the client is stored in apache
2?  In apache 1.3 it was in 
r-connection-client-fd

Tx,
Vinod.

It's hidden in the apr_socket_t.  Use apr_os_sock_get() to retrieve it 
from the client apr_socket_t.

Bill




Re: suexec bug #9977 on sunos4

2003-02-10 Thread André Malo
* Glenn wrote:

 On Mon, Feb 10, 2003 at 04:51:38AM +0100, Andr? Malo wrote:
 http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9977

 can someone have a look at it? I can't verify, because I don't have access
 to a sunos4 system :)
 
 I don't have access to such a system either, but I do remember seeing
 a similar bug report a long, long time ago.  See:
   http://bugs.apache.org/index.cgi/full/5913

ah, thanks. After some further looking through the rest of apache code, I'd
consider this to be correct. I've attached patches for 1.3 and 2.1. Any
objections, someone?

nd
-- 
s  s^saoaaaoaaoaaaom  a  alataa  aaoat  a  a
a maoaa a laoata  a  oia a o  a m a  o  alaoooat aaool aaoaa
matooololaaatoto  aaa o a  o ms;s;\s;s;g;y;s;:;s;y#mailto: #
 \51/\134\137| http://www.perlig.de #;print;#  [EMAIL PROTECTED]


Index: src/CHANGES
===
RCS file: /home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1874
diff -u -r1.1874 CHANGES
--- src/CHANGES 31 Jan 2003 02:25:36 -  1.1874
+++ src/CHANGES 10 Feb 2003 14:03:19 -
@@ -1,5 +1,8 @@
 Changes with Apache 1.3.28
 
+  *) Fix suexec compile error under SUNOS4, where strerror() doesn't
+ exist. PR 5913, 9977.  [André Malo]
+
   *) Fix bug where 'Satisfy Any' without an AuthType resulted in an
  Internal Server Error response. PR 9076.  [André Malo]
 
Index: src/support/suexec.c
===
RCS file: /home/cvs/apache-1.3/src/support/suexec.c,v
retrieving revision 1.58
diff -u -r1.58 suexec.c
--- src/support/suexec.c3 Feb 2003 17:13:37 -   1.58
+++ src/support/suexec.c10 Feb 2003 14:03:21 -
@@ -111,6 +111,11 @@
 }
 #endif
 
+#if defined(NEED_STRERROR)
+extern char *sys_errlist[];
+#define strerror(x) sys_errlist[(x)]
+#endif
+
 #if defined(PATH_MAX)
 #define AP_MAXPATH PATH_MAX
 #elif defined(MAXPATHLEN)

Index: CHANGES
===
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.1056
diff -u -r1.1056 CHANGES
--- CHANGES 10 Feb 2003 03:37:22 -  1.1056
+++ CHANGES 10 Feb 2003 14:02:17 -
@@ -2,6 +2,9 @@
 
   [Remove entries to the current 2.0 section below, when backported]
 
+  *) Fix suexec compile error under SUNOS4, where strerror() doesn't
+ exist. PR 5913, 9977.  [André Malo]
+
   *) Let suexec send a message to stderr, if it failed or its policy
  was violated. This message appears in the error log and allows
  for easier debugging. PR 10773.  [André Malo]
Index: support/suexec.c
===
RCS file: /home/cvs/httpd-2.0/support/suexec.c,v
retrieving revision 1.23
diff -u -r1.23 suexec.c
--- support/suexec.c10 Feb 2003 03:37:22 -  1.23
+++ support/suexec.c10 Feb 2003 14:02:20 -
@@ -111,6 +111,11 @@
 }
 #endif
 
+#if defined(SUNOS4)
+extern char *sys_errlist[];
+#define strerror(x) sys_errlist[(x)]
+#endif
+
 #if defined(PATH_MAX)
 #define AP_MAXPATH PATH_MAX
 #elif defined(MAXPATHLEN)



Re: story posted

2003-02-10 Thread Rasmus Lerdorf
Do you really think we don't know this?

The point is that at this point we would basically have to mutex every 
call to every 3rd-party library function since we simply don't know which 
ones are threadsafe and which ones aren't.  And if we lock everything, 
isn't it simpler to just go prefork and avoid the whole thing?

It boils down to where our time is best spent.  Yes, we can come up with 
all sorts of tricks to sorta-kinda-almost make this work.  But why?  What 
do we gain?  At this point most of us feel that we really don't gain 
anything.

-Rasmus

On Sun, 9 Feb 2003, Glenn wrote:

 At the risk of inflaming an already tense conversation (too late),
 I have to say that third party thread-safety issues are not a very
 good excuse.
 
 It's trivial to make a library thread safe by serializing access to the
 functions of the non-thread-safe library.  Although scripts that employ
 the non-thread-safe library would suffer a performance penalty, they
 would still work!
 
 If the core of PHP is thread safe, then this should not be a big deal.
 Also, as time goes on, third party library locks can be removed as
 thread-safe versions of the libraries become available.
 
 For a well-written and concise explanation, please refer to:
 
http://www.unet.univie.ac.at/aix/aixprggd/genprogc/writing_reentrant_thread_safe_code.htm
 
 Cheers,
 -Glenn
 
 On Fri, Feb 07, 2003 at 02:02:39AM +0100, Sascha Schumann wrote:
   Rather than fix the TS issues in all the 3rd party libraries
   that can be used with PHP's and its extension its more
   pragmatic to sort out thread/filter issues in PHP core.
  
  The PHP project has been working on thread-safety since 1999.
  All core components and most extensions can be compiled in
  thread-safe mode.
  
  The first SAPI module for a threaded UNIX web server was
  completed in the same year (for AOLserver).
  
  It's safe to assert that we need to primarily worry about 3rd
  party libraries.
  
   Also blaming on use of TLS seems a little strange since use of
   TLS is supposed to improve re-entrancy isn't it ?
  
  Let me just quickly define what these concepts refer to.
  
  Thread-safe means that you can run code in multiple threads
  concurrently (e.g. multiple worker threads).
  
  Reentrant means that you can run code in a single thread
  context in a nested way (e.g. Apache sub-requests).
  
  Thread local storage aids only the former one.
  
  From my point of view we should not worry about reentrancy
  right now, at least not until we a have firm grasp on the 3rd
  party TS issues.
  
  - Sascha
 




Re: cvs commit: httpd-2.0/server log.c

2003-02-10 Thread William A. Rowe, Jr.
At 10:27 AM 2/10/2003, [EMAIL PROTECTED] wrote:
trawick 2003/02/10 08:27:28

  Modified:.CHANGES
   server   log.c
  Log:
  Fix an existing problem with error handling in piped_log_spawn().
  
  Use new APR apr_proc_create() features to prevent Apache from starting
  on Unix* in most cases where a piped log program can be started,
  and add log messages for the other situations.  *Other platforms
  already failed Apache initialization if a piped log program

+1 for backporting to 2.0.45-dev for the coming release!

Bill 




Re: story posted

2003-02-10 Thread Glenn
Jeff Trawick asked a well-directed pair of questions:

 What I think is useful information to people who want PHP+Apache-2.0 is:

 a) is PHP not production ready with Apache 2.0 because it was not high
 enough priority for PHP to be tested?

 or

 b) is PHP not production ready with Apache 2.0 because Apache 2.0 must
 be fixed before such a thing is even possible?

 I see more comments implying b) than a).  As such, it seems that anybody
 that wants to hack PHP to work better with 2.0 is wasting their time.

The comments implying b) have to do with the problems with implementing
PHP as a filter versus PHP as a handler.  The discussion on that front
has been positive and I'm hopeful that a solution can be reached.

On to a).  The PHP developers have screamed quite loudly about the
failings of Apache2, when, in fact, the largest reason why mod_php will
not work with Apache2 is because it is not a priority for PHP developers.

I wrote:
 It's trivial to make a library thread safe by serializing access to the
 functions of the non-thread-safe library.

and Rasmus' irked response was:
 Do you really think we don't know this?

I do think you know this.
I was making a point and I thank you for your help in doing so.

Rasmus continued:
 It boils down to where our time is best spent.  Yes, we can come up with
 all sorts of tricks to sorta-kinda-almost make this work.  But why?  What
 do we gain?  At this point most of us feel that we really don't gain
 anything.

I respectfully request that PHP developers own up to the fact that
while there are issues with Apache2 and PHP as a filter/handler, that
the main reason why mod_php is not production ready with Apache2 is
because of the PHP developer non-interest in fixing the PHP core
non-reentrancy (use of thread local storage) and because PHP uses
many non-thread-safe third party libraries and does not think it
worth the time to protect accesses to those non-thread-safe functions.
If properly documented, you might find some people willing to tackle
the problem rather than finger pointing at the Apache developers.
Currently, PHP propaganda implies that the reason is the ASF's fault.

Yes, PHP is the #1 module in Apache, but Apache installations generally
serve content in addition to PHP.  The new threading models make a huge
difference in performance on some platforms for that additional content
and it is egomaniacal to refuse to acknowledge that people use Apache
for more than just PHP.  Will a possibly slower Apache2 PHP hurt more
than help in such environments?  I don't know and make no claims.  My
aim here is to clarify the issues to answer Jeff's question.

Personally, my servers run PHP as CGI.  Works well.  Thank you.
Kudos for safe_mode and safe_mode_gid.

-Glenn

Please direct flames to gs-apache-dev at gluelogic.com.
They will be read and responded to privately.



RE: [PATCH] HPUX static's and Mixing C with C++ modules

2003-02-10 Thread Arliss, Noah
I understand BIND_NOSTART has been in the code since it was first checked
into apache 1.3. I also understand the desire not to break existing
functionality. I can tell you that BIND_NOSTART prevents any C++ module
developer from being able to take advantage of static initialization. I'd be
more than happy to leave that code be if I had a definative way to enable
dlopen instead of shl_load.

-N

-Original Message-
From: Joe Orton [mailto:[EMAIL PROTECTED]]
Sent: Saturday, February 08, 2003 5:01 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: [PATCH] HPUX static's and Mixing C with C++ modules


Hi,

On Fri, Feb 07, 2003 at 12:23:09PM -0500, Arliss, Noah wrote:
 I'll try to clarify things as best I can. First off, BIND_VERBOSE would be
 fantastic. I had to add it in order to get my module to load at all with
 shl_load, even though it still would not function. If there was a good
 reason to remove BIND_VERBOSE that history would be nice to have. The
 shl_load call would look better as: 

BIND_VERBOSE means the library writes error message to whatever file you
happen to have open as fd 2 - which is unacceptable for a library. (the
app may have closed stderr and be using fd 2 for something completely
different).  You get exactly the same error string back via
apr_dso_error() anyway, which is the defined interface for retrieving
the error string.

Changing the call to:

 + shl_t os_handle = shl_load(path, BIND_IMMEDIATE, 0L); 

seems fine to me, FWIW, but as Will says, the BIND_NOSTART has been
there since the code was first checked into Apache 1.3, so there may be
some subtle reason why it's needed.

Regards,

joe



Re: story posted

2003-02-10 Thread André Malo
* Rasmus Lerdorf wrote:

 Do you really think we don't know this?
 
 The point is that at this point we would basically have to mutex every
 call to every 3rd-party library function since we simply don't know which
 ones are threadsafe and which ones aren't.  And if we lock everything,
 isn't it simpler to just go prefork and avoid the whole thing?

just an idea: why not make such mutexes configurable anyway? It would 
probably not be such a big effort and lets the user decide. It would need 
some documentation (why and when it's neccessary with some hints about TS), 
of course.

nd
-- 
Gib' mal folgendes in die Kommandozeile ein (und einen Moment warten):

net send localhost Buuuh!
Na, erschreckt?  -- Markus Becker in mpdsh



RE: [PATCH] HPUX static's and Mixing C with C++ modules

2003-02-10 Thread MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1)
I agree with Noah.. Moreover, we've removed the BIND_NOSTART from our
version (both 1.3 and 2.x), and not had any problems so far.
As regards enabling dlopen instead of shl_load, I think you can do it using
a engineered config.cache file, and then giving it to configure..

-Madhu

-Original Message-
From: Arliss, Noah [mailto:[EMAIL PROTECTED]]
Sent: Monday, February 10, 2003 10:51 AM
To: 'Joe Orton'; [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: [PATCH] HPUX static's and Mixing C with C++ modules


I understand BIND_NOSTART has been in the code since it was 
first checked
into apache 1.3. I also understand the desire not to break existing
functionality. I can tell you that BIND_NOSTART prevents any C++ module
developer from being able to take advantage of static 
initialization. I'd be
more than happy to leave that code be if I had a definative 
way to enable
dlopen instead of shl_load.

-N

-Original Message-
From: Joe Orton [mailto:[EMAIL PROTECTED]]
Sent: Saturday, February 08, 2003 5:01 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: [PATCH] HPUX static's and Mixing C with C++ modules


Hi,

On Fri, Feb 07, 2003 at 12:23:09PM -0500, Arliss, Noah wrote:
 I'll try to clarify things as best I can. First off, 
BIND_VERBOSE would be
 fantastic. I had to add it in order to get my module to load 
at all with
 shl_load, even though it still would not function. If there 
was a good
 reason to remove BIND_VERBOSE that history would be nice to have. The
 shl_load call would look better as: 

BIND_VERBOSE means the library writes error message to 
whatever file you
happen to have open as fd 2 - which is unacceptable for a library. (the
app may have closed stderr and be using fd 2 for something completely
different).  You get exactly the same error string back via
apr_dso_error() anyway, which is the defined interface for retrieving
the error string.

Changing the call to:

 + shl_t os_handle = shl_load(path, BIND_IMMEDIATE, 0L); 

seems fine to me, FWIW, but as Will says, the BIND_NOSTART has been
there since the code was first checked into Apache 1.3, so there may be
some subtle reason why it's needed.

Regards,

joe




Strange Behavior of Apache 2.0.43 on SPARC MP system

2003-02-10 Thread Min Xu
Hi All,

Sorry I am posting this directly to the development list. But
I think this is not a user setup problem and it is so strange
maybe only you guys will have a clue on what's going on.

I am a student of UW-Madison. In order to study computer
architecture of commercial multiprocessor servers, we have used
APACHE as one of our important workloads.

I am the one who setup the workload on a 14-processor Sun
Enterprise server. During setup I found a very strange behavior
of the apache server (running with worker MPM). Essentially the
strange thing is that:

  The server optimal throughput is not achieved by using a
  greedy client, who drive the server with no think time. But
  with tiny amount of think time, much better throughput is
  archievable. Also, with the greedy client, the server's
  performance decreased over time, which seems to be very
  counter-intuitive.

Of course, just give you the short decription above does not
help you to help me. So I will give you the detail problem
description and data in the following. With the understanding
of the source code, maybe you can give me some more hypothesises
to try on.

Workload background
---
The setup of apache workload on is fairly simple comparing with
some of the other workloads we have (OLTP). In this workload, we
have a HTTP server and an automatic request generator(SURGE).
Both of the programs are highly multi-threaded. The server has
a pool of static text files to be served from a known URL to the
request generator (the client). The size of the files follows a
statistical distribution. And the client has multiple threads each
emulate a user who access a serial of files in fixed order.

In previous setup of the workload, we have removed client think time.
The basis of that is the following: (we also have to put the server
and the client on the same machine for other reasons)

The workload (server + client) is a closed queueing system. The
throughput of the system is ultimately determined by the bottleneck in
the system. Having think time in the client only increase the parallelism
in the system. It shouldn't change the maximum throughput too much.
BTW, our goal is to archieve realistic workload setup with available
hardware.

If you think about it, for our current server throughput level, say 5000
trans/sec, if each user have 1 second think time between fetching each
file, this will need 5000 users to sustain this throughput. On the other
hand, if we remove the think time from the client, maybe 10 users can also
generate the same 5000 requests per second. So the difference here is that
one server has 5000 httpd threads and the other has only 10 httpd threads.
10 won't be worse(in terms of server behavior) than 5000, right? Greedy
client won't be worse(in terms of performance) than the lazy client, right?

Well it is not that simple...


I know how to get higher performance, but I don't know why it works!

I have two version of surge clients in my hand. One is the original,
one is my modified version. The difference between them would be the
client efficiency. My modified version would fetch files more efficiently
(because I made it emulate a simpler user) and have less thread
switching overhead.

However, when I comparing the server throughput using these two clients,
I got very surprising results, roughly:

  old client: 3000 trans/sec
  new client: starts out from 4700 trans/sec, gradually degrade to 2500
  trans/sec after 10-20 minutes of runtime.

And this really puzzled me for a long time. My supposedly performance
enhancement did not improve the server Xput, but hurt it!

Turns out the reason for this is the new client was too efficient! I
added the think time between each URL request and new client was able
to drive the server Xput to as high as 5000 trans/sec. But note, the
real interesting thing is not the think time, but how sensitive the
Xput was affected by it.

I'd prefer to call the think time delay time in the following because
I really only introduced very small amount of delay between each file
fetch. The result can be seen in the following plots:

http://www.cs.wisc.edu/~xu/files/delay_results.eps
http://www.cs.wisc.edu/~xu/files/side1.eps
http://www.cs.wisc.edu/~xu/files/side2.eps

In this experiment, instead of using both old and new version of the
client, I just used the new version with varying delay time and number
of threads. Since there are two dimensions of freedom in the client,
the plot is in 3D. The figures side1 and side2 is roughly the 2D
projection of the Xput vs. thread and Xput vs. delay time.

Each point on the plot is a 30 minutes benchmarking on a 14P MP system.

Clearly, driving the server using no delay time is not optimal. No
matter using same amount of threads or less number of threads, the
server Xput is no higher than delayed counterparts. However, you can see,
the server Xput raise rapidly with client 

Re: story posted

2003-02-10 Thread Rasmus Lerdorf
 On to a).  The PHP developers have screamed quite loudly about the
 failings of Apache2, when, in fact, the largest reason why mod_php will
 not work with Apache2 is because it is not a priority for PHP developers.

Nobody is screaming.

 Personally, my servers run PHP as CGI.  Works well.  Thank you.
 Kudos for safe_mode and safe_mode_gid.

??  safe_mode and safe_mode_gid are rather useless when running PHP as a 
CGI.  All you are doing is burning syscalls aimlessly and slowing 
everything down.  If you are running PHP as a CGI anyway, run it under 
suExec.

As for the Apache2+PHP stuff, we are not deflecting blame.  We are simply
not acknowledging that it is somehow our duty to drop everything and
support Apache2 just because someone decided it was a good idea to release
a new web server.  And when attacked repeatedly on this issue we tend to
point out that thread safety issues in commonly used libraries pretty much
nullify any threading gains of the new architecture since we'd have to
mutex them, and also the fact that the filter api's complexity isn't
making life easy for us, nor does the architecture mesh well with how PHP
likes to do things.  As a handler under prefork it may work very well.  
Who knows.  Feel free to apply for a CVS account and write it, but please
stop trying to browbeat us into doing something.  I personally have a
working web server that does what I need.  Show me something irresistible
about this new server and I will be compelled to work on it myself.

-Rasmus




Re: [PATCH] HPUX static's and Mixing C with C++ modules

2003-02-10 Thread Branko ibej
Just a side note here; although I haven't the faintest idea about the
intricacies of dynamic loading on HP-UX, I _do_ know that in some
situations, even plain C code needs constructor-like initialization when
a shared library is loaded. This leads me to guess that BIND_NOSTART
might be bad even for C, not just C++.

Arliss, Noah wrote:

I understand BIND_NOSTART has been in the code since it was first checked
into apache 1.3. I also understand the desire not to break existing
functionality. I can tell you that BIND_NOSTART prevents any C++ module
developer from being able to take advantage of static initialization. I'd be
more than happy to leave that code be if I had a definative way to enable
dlopen instead of shl_load.

-N

-Original Message-
From: Joe Orton [mailto:[EMAIL PROTECTED]]
Sent: Saturday, February 08, 2003 5:01 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: [PATCH] HPUX static's and Mixing C with C++ modules


Hi,

On Fri, Feb 07, 2003 at 12:23:09PM -0500, Arliss, Noah wrote:
  

I'll try to clarify things as best I can. First off, BIND_VERBOSE would be
fantastic. I had to add it in order to get my module to load at all with
shl_load, even though it still would not function. If there was a good
reason to remove BIND_VERBOSE that history would be nice to have. The
shl_load call would look better as: 



BIND_VERBOSE means the library writes error message to whatever file you
happen to have open as fd 2 - which is unacceptable for a library. (the
app may have closed stderr and be using fd 2 for something completely
different).  You get exactly the same error string back via
apr_dso_error() anyway, which is the defined interface for retrieving
the error string.

Changing the call to:

  

+ shl_t os_handle = shl_load(path, BIND_IMMEDIATE, 0L); 



seems fine to me, FWIW, but as Will says, the BIND_NOSTART has been
there since the code was first checked into Apache 1.3, so there may be
some subtle reason why it's needed.

Regards,

joe
  


-- 
Brane Čibej   [EMAIL PROTECTED]   http://www.xbc.nu/brane/




layering mod_auth_digest and mod_python authentication in apache2

2003-02-10 Thread Paul Querna
I am trying to setup mod_auth_digest to work with a mod_python script.

What I want is AuthDigest to decode the username, and password, and then to
pass this onto my mod_python authenticationn scripts, without having to
re-write the entire mod_auth_digest in Python.

I have been tyying to use the mod_python's PythonAuthenHandler[1] and AuthType
Digest in my httpd.conf, but AuthDigest is always rejecting the
users/passwords, because I am not using a localfile at all.

I thought mod_auth_digest would have somthing simular to mod_auth_ldap's
AuthLDAPAuthoritative[2], which can pass authentication onto the next handler,
but I don't think that exists for mod_auth_digest

Here is the basic plan, the HTTP client, uses Digest authentication to apache,
which passes it onto mod_auth_digest, who will NOT find it in a local text
file, but instead will pass on the request with the decoded username and
password to mod_python's PythonAuthenHandler where i will use my own python
scripts to validate the user information.

Is what I am trying todo even possible, and if it is, what do i need todo?

Thanks, 
-chip

[1] http://www.modpython.org/live/mod_python-3.0.1/doc-html/node54.html
[2] http://httpd.apache.org/docs-2.0/mod/mod_auth_ldap.html#authldapauthoritative



Re: layering mod_auth_digest and mod_python authentication inapache2

2003-02-10 Thread Justin Erenkrantz
--On Monday, February 10, 2003 3:39 PM -0800 Paul Querna 
[EMAIL PROTECTED] wrote:

What I want is AuthDigest to decode the username, and password, and
then to pass this onto my mod_python authenticationn scripts,
without having to re-write the entire mod_auth_digest in Python.


The easiest thing to do would be to rewrite mod_python's 
authentication handler as an auth provider for 2.1.  You would want 
to make sure that the provider implements the get_realm_hash function.

That doesn't help for 2.0, but you can't do this type of layering in 
2.0 anyway.  -- justin


Re: layering mod_auth_digest and mod_python authentication in apache2

2003-02-10 Thread Paul Querna
On Mon, 10 Feb 2003 15:55:21 -0800, Justin Erenkrantz wrote
 The easiest thing to do would be to rewrite mod_python's
 authentication handler as an auth provider for 2.1.  You would want
 to make sure that the provider implements the get_realm_hash function.
 
 That doesn't help for 2.0, but you can't do this type of layering in
 2.0 anyway.  -- justin

Okay, so now the big question, how long do you think it will be before
Apache2.1 is released?  2 Months? 6 Months? 1+ Year(s)?

I am willing to code it out for Apache2.1 assuming it will be coming fairly
soon, but if it is too far off, i will have todo it another way.

-chip



Re: layering mod_auth_digest and mod_python authentication inapache2

2003-02-10 Thread Justin Erenkrantz
--On Monday, February 10, 2003 4:42 PM -0800 Paul Querna 
[EMAIL PROTECTED] wrote:

Okay, so now the big question, how long do you think it will be
before Apache2.1 is released?  2 Months? 6 Months? 1+ Year(s)?

I am willing to code it out for Apache2.1 assuming it will be
coming fairly soon, but if it is too far off, i will have todo it
another way.


I'd hope within 3-4 months, but the real answer is, 'whenever it is 
ready.'  I have a feeling we'd be better off with smaller more 
incremental changes between minor releases.  (The aaa code has been 
there since last August, so I think it is reasonably stable.)

I think we definitely have to have the APR situation straightened out 
before we can even consider a 2.2.  Yet, perhaps I will roll a 2.1 
release in the next few weeks just to get one out there.

At ApacheCon, we discussed a way that we could backport the new aaa 
modules to 2.0, but I won't have the time to do that.  If someone 
wanted to do that, it'd be goodness.  (It wouldn't break backwards 
compatibility if done carefully.)

The only major thing I'd like to see happen before 2.2 (and that I 
think is reasonable in that timeframe) is getting a handle on the 
mod_dav memory situation and cleaning up how it uses pools.  I know 
some other people have thoughts for HEAD that they could get in in 
the next few months.  -- justin


Re: story posted

2003-02-10 Thread Ian Holsman
On Mon, 10 Feb 2003 11:42:49 -0800, Rasmus Lerdorf wrote:

 As for the Apache2+PHP stuff, we are not deflecting blame.  We are simply
 not acknowledging that it is somehow our duty to drop everything and
 support Apache2 just because someone decided it was a good idea to release
 a new web server.  And when attacked repeatedly on this issue we tend to
 point out that thread safety issues in commonly used libraries pretty much
 nullify any threading gains of the new architecture since we'd have to
 mutex them, and also the fact that the filter api's complexity isn't
 making life easy for us, nor does the architecture mesh well with how PHP
 likes to do things.  As a handler under prefork it may work very well. Who
 knows.  Feel free to apply for a CVS account and write it, but please stop
 trying to browbeat us into doing something.  I personally have a working
 web server that does what I need.  Show me something irresistible about
 this new server and I will be compelled to work on it myself.
 

ok.
you know have 2 implementations of the handler based php sapi for use with
apache2, instead of using the Filter API.

www.apache.org/~ianh
www.apache.org/~jerenkrantz/apache2handler


I don't know PHP's code review process or how to check the code in (I have
a CVS account for PHP)

my limited testing of the code appears that it works correctly.

--Ian
 -Rasmus