Re: PCRE pcreposix.h header missing from Apache 2.2 downloads

2008-02-05 Thread David McCreedy
On Feb 4, 2008 1:20 PM, William A. Rowe, Jr. <[EMAIL PROTECTED]> wrote:

> Arfrever Frehtes Taifersar Arahesis wrote:
> > 2008-02-04 20:41:47 David McCreedy napisał(a):
> >> It seems that the pcreposix.h header file, which pcreposix.c includes,
> isn't
> >> in the Apache 2.2 source tree.
> >> But I can find it in Apache 2.0 and that version appears to work OK
> with 2.2's
> >> pcreposix.c.
> >>
> >> Is the operating system now assumed to have a pcreposix.h header?
> >> Or maybe pcreposix.h is auto-generated and I'm just not seeing it?
> >> Or is it really missing?  And can it be added back?
>
> See http://svn.apache.org/viewvc?view=rev&revision=153384
>
>
Thanks.  I think I understand now.

-David


PCRE pcreposix.h header missing from Apache 2.2 downloads

2008-02-04 Thread David McCreedy
It seems that the pcreposix.h header file, which pcreposix.c includes, isn't
in the Apache 2.2 source tree.
But I can find it in Apache 2.0 and that version appears to work OK with 2.2's
pcreposix.c.

Is the operating system now assumed to have a pcreposix.h header?
Or maybe pcreposix.h is auto-generated and I'm just not seeing it?
Or is it really missing?  And can it be added back?

Thanks,

-David McCreedy


Re: [VOTE] Apache HTTP Server 1.3.41, 2.0.63 and 2.2.8

2008-01-11 Thread David McCreedy
+1 for Apache HTTP Server 1.3.41 on TPF


-David

Re: [VOTE] Apache 2.2.6, 2.0.61 and 1.3.39 release candidate tarballs for review

2007-09-05 Thread David McCreedy
Jim Jagielski wrote on Tuesday, September 04, 2007:

> This vote will run through Sept 6, 2007 and close
> Sept 7, unless otherwise noted...
>+/-1   (x == +1)
>[  ]apache_1.3.39
>[  ]httpd-2.0.61
>[  ]httpd-2.2.6

+1 for Apache_1.3.39 on TPF
(TPF doesn't support Apache 2 yet so no vote on those.)

-David

Re: svn commit: r543511 - /httpd/httpd/branches/1.3.x/src/main/http_main.c

2007-06-05 Thread David McCreedy
>On June 05, 2007 1:45 AM Rüdiger  wrote

>> On June 04, 2007 5:51 PM David McCreedy wrote:

>> I've figured out why some pids aren't being "unset" and I think it could 
>> affect other platforms besides TPF.
>> They're hitting the else part of the "if (child_slot >= 0)" statement in 
>> http_main.c's standalone_main function.
>> I think the unset_pid_table call should be moved before this "if".
>> If we're in this section of code, don't we want to remove the pid from the 
>> table regardless of whether the slot is found in the scoreboard?
>
>Yes, we want to. Please have a look at r544218 
>(http://svn.apache.org/viewvc?view=rev&revision=544218<http://svn.apache.org/viewvc?view=rev&revision=544218>)
>
>
> Rüdiger

Perfect.

Thanks,

-David

  - Original Message - 
  From: Plüm<mailto:Plüm> ; Rüdiger<mailto:Rüdiger> ; VF-Group<mailto:[EMAIL 
PROTECTED]> 
  To: dev@httpd.apache.org<mailto:dev@httpd.apache.org> 
  Sent: Tuesday, June 05, 2007 1:45 AM
  Subject: AW: svn commit: r543511 - 
/httpd/httpd/branches/1.3.x/src/main/http_main.c



  -Ursprüngliche Nachricht-
  Von: David McCreedy 
  Gesendet: Dienstag, 5. Juni 2007 04:29
  An: dev@httpd.apache.org<mailto:dev@httpd.apache.org>
  Betreff: Re: svn commit: r543511 - 
/httpd/httpd/branches/1.3.x/src/main/http_main.c


  June 04, 2007 5:51 PM David McCreedy wrote:

  >On 06/01/2007 05:42 PM, [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> wrote:
  >>
  >>I think I squashed those. Could you check out
  >>trunk and try another test? Thanks!
  >>
  > 
  >It fixes the "Bad pid" error but I'm not sure all is well...
  > 
  >On TPF we're not calling unset_pid_table on SIG_IDLE_KILLs.
  >I'll have to track down why.
  > 

  > I've figured out why some pids aren't being "unset" and I think it could 
affect other platforms besides TPF.
  > They're hitting the else part of the "if (child_slot >= 0)" statement in 
http_main.c's standalone_main function.
  > I think the unset_pid_table call should be moved before this "if".
  > If we're in this section of code, don't we want to remove the pid from the 
table regardless of whether the slot is found in the scoreboard?

  Yes, we want to. Please have a look at r544218 
(http://svn.apache.org/viewvc?view=rev&revision=544218<http://svn.apache.org/viewvc?view=rev&revision=544218>)

  Regards

  Rüdiger


Re: svn commit: r543511 - /httpd/httpd/branches/1.3.x/src/main/http_main.c

2007-06-04 Thread David McCreedy
June 04, 2007 5:51 PM David McCreedy wrote:

>On 06/01/2007 05:42 PM, [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> wrote:
>>
>>I think I squashed those. Could you check out
>>trunk and try another test? Thanks!
>>
> 
>It fixes the "Bad pid" error but I'm not sure all is well...
> 
>On TPF we're not calling unset_pid_table on SIG_IDLE_KILLs.
>I'll have to track down why.
> 

I've figured out why some pids aren't being "unset" and I think it could affect 
other platforms besides TPF.
They're hitting the else part of the "if (child_slot >= 0)" statement in 
http_main.c's standalone_main function.
I think the unset_pid_table call should be moved before this "if".
If we're in this section of code, don't we want to remove the pid from the 
table regardless of whether the slot is found in the scoreboard?

-David McCreedy


Re: svn commit: r543511 - /httpd/httpd/branches/1.3.x/src/main/http_main.c

2007-06-04 Thread David McCreedy
On 06/01/2007 05:42 PM, [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> wrote:
>
>I think I squashed those. Could you check out
>trunk and try another test? Thanks!
>

It fixes the "Bad pid" error but I'm not sure all is well...

On TPF we're not calling unset_pid_table on SIG_IDLE_KILLs.
I'll have to track down why.

It seems OK on Linux but I see SIG_IDLE_KILL being sent twice to the same PID 
before it calls unset_pid_table.
That seems odd to me.

-David McCreedy

Re: svn commit: r543511 - /httpd/httpd/branches/1.3.x/src/main/http_main.c

2007-06-03 Thread David McCreedy
On 06/01/2007 05:42 PM, [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> wrote:
> Author: jim
> Date: Fri Jun  1 08:42:57 2007
> New Revision: 543511
> 
> URL: 
> http://svn.apache.org/viewvc?view=rev&rev=543511<http://svn.apache.org/viewvc?view=rev&rev=543511>
> Log:
> Add in parent process PID table, to provide for
> a check against the pid values located in the
> scoreboard.
> 
> Modified:
> httpd/httpd/branches/1.3.x/src/main/http_main.c
> 

I tried out the code in apache-1.3_20070603161656.tar.gz on TPF because I
thought the pid_table stuff might affect the platform.

I found some problems in main/http_main.c on both Linux and TPF:

1)  The new snprintf calls need to be changed to ap_snprintf for it to
compile on TPF (and possibly other platforms without a native snprintf).

2)  For both Linux and TPF, idle server maintenance can cause "Bad pid in
scoreboard slot" errors:

I tied up several children with requests and then let them time out so
they'd become idle.
(I lowered MinSpareServers to 1 and MaxSpareServers to 3 so it was easy to
reach the limits.)
This hit the kill(pid, SIG_TIMEOUT_KILL) and kill(pid, SIG_IDLE_KILL) code
in perform_idle_server_maintenance.
Those same pids showed up later in "Bad pid in scoreboard slot" errors.

3)  For both Linux and TPF, "Bad pid in scoreboard slot" errors can loop:

I hit this with issue #2 above but presumably you could get it on any
in_pid_table error where that scoreboard slot is hit again at a later
time...

I got looping error messages if the idle child that initially cause the
"Bad pid ..." error was the one that perform_idle_server_maintenance was
trying to get rid of.
An in_pid_table() error writes to the log but leaves the scoreboard slot
as-is.
So when we come through perform_idle_server_maintenance the next time, the
same error is logged for the same slot and pid.
Again, and again.

Hopefully this is enough information to recreate the issues.
If I left something out please let me know.

-David McCreedy

Re: [VOTE] Apache HTTP Server 1.3.36 Candidate

2006-05-14 Thread David McCreedy




+1 for IBM's TPF platform.
 
David McCreedy

  - Original Message - 
  From: Jim Jagielski 
  To: dev@httpd.apache.org ; testers@httpd.apache.org 
  Sent: Sunday, May 14, 2006 7:34 AM
  Subject: [VOTE] Apache HTTP Server 1.3.36 
  Candidate
  Please test and vote on releasing Apache httpd 
  1.3.36Download from: http://httpd.apache.org/dev/dist/Changes: 
  http://httpd.apacheorg/dev/dist/CHANGES_1.3MD5s: 
  MD5 (apache_1.3.36.tar.Z) = 
  2c310916fb97a9d4d700d8b8fad29423 MD5 
  (apache_1.3.36.tar.gz) = d6c0709fc1f20d6d93d30435fcfc4843(NOTE: http://people.apache.org/~jim/apache_1.3.36/ 
  isalso a valid URL to use until httpd.apache.org syncswith 
  people.apache.org)-- 
  ===    Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   
  http:// www.jaguNET.com/ 
  "If you can dodge a wrench, you can dodge a 
ball."


Re: [VOTE] Apache HTTP Server 1.3.35 Candidate

2006-04-25 Thread David McCreedy




+1 on IBM's TPF platform.
 
David McCreedy

  - Original Message - 
  From: Jim Jagielski 
  To: dev@httpd.apache.org ; testers@httpd.apache.org 
  Sent: Monday, April 24, 2006 11:55 
  AM
  Subject: [VOTE] Apache HTTP Server 1.3.35 
  Candidate
  Please test and vote on releasing Apache httpd 
  1.3.35Download from: http://httpd.apache.org/dev/dist/Changes: 
  http://httpd.apacheorg/dev/dist/CHANGES_1.3MD5s:    
  MD5 (apache_1.3.35.tar.Z) = 
  e05c80bd0bffcf90df6c66db88106274    MD5 
  (apache_1.3.35.tar.gz) = 
  31f99663028828a8b56633e255ee634e-- 
  ===    Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   
  http:// www.jaguNET.com/ 
  "If you can dodge a wrench, you can dodge a 
ball."


Re: Apache HTTP Server 1.3.34 prerelease tarballs

2005-10-14 Thread David McCreedy




+1 for IBM's TPF operating system.
 
David McCreedy

  Jim Jagielski wrote:> Look for the Apache 
  HTTP Server 1.3.34 prerelease tarballs in:> >    
  http://httpd.apache.org/dev/dist/> 
  > Please test :)


Re: 1.3.33 RC tarballs available for review

2004-10-28 Thread David McCreedy




+1 on IBM's TPF operating system.
 
David McCreedy

  - Original Message - 
  From: Jim Jagielski 
  To: [EMAIL PROTECTED] 
  Sent: Wednesday, October 27, 2004 5:15 
  PM
  Subject: 1.3.33 RC tarballs available for 
  review
  Tarballs for Apache HTTP Server 1.3.33 are available for 
  review.This does not constitute a release, but the opportunity 
  toreview these tarballs in anticipation of one :)   http://httpd.apache.org/dev/dist/-- 
  ===   
  Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   
  http://www.jaguNET.com/    
  "There 10 types of people: those who read binary and everyone 
else."


Re: Apache HTTP Server 1.3.32 RC Tarballs available for test

2004-10-19 Thread David McCreedy




+1
Checks out OK on IBM's TPF platform.
 
-David McCreedy

  - Original Message - 
  From: Jim Jagielski 
  To: [EMAIL PROTECTED] 
  Sent: Monday, October 18, 2004 8:15 
  PM
  Subject: Apache HTTP Server 1.3.32 RC 
  Tarballs available for test
  The RC tarballs for 1.3.32 are available for review and 
  feedback:    http://httpd.apache.org/dev/dist/1.3.32 
  is *not* yet released; these are simply the releasecandidate 
  tarballs.-- 
  ===   
  Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   
  http://www.jaguNET.com/    
  "There 10 types of people: those who read binary and everyone 
else."


Re: Time to test...

2004-10-04 Thread David McCreedy




Builds and tests OK on TPF
 
-David McCreedy
 
- Original Message - 

  From: Jim Jagielski 
  To: [EMAIL PROTECTED] 
  Sent: Friday, October 01, 2004 10:05 
  AM
  Subject: Time to test...
  If you haven't already, please grab 1.3.32-dev HEAD andtest 
  it out. I'd like some additional good feedbackbefore I commit to a 
  T&R. As such, I'd like toimpose a on-hold policy for any more code 
  commits.--===  
  Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   
  http://www.jaguNET.com/   
  "There 10 types of people: those who read binary and everyone 
else."


Re: cvs commit: apache-1.3/src/os/tpf/samples uri_delims.txt test_char.txt sample_env.txt sample_mak.txt linkhttp.jcl loadset.jcl

2004-09-16 Thread David McCreedy




>> mccreedy    2004/09/15 
16:45:18>>>>    
src/modules/proxy mod_proxy.h>>   Index: 
mod_proxy.h>>   
===>>   
RCS file: 
/home/cvs/apache-1.3/src/modules/proxy/mod_proxy.h,v>>   
retrieving revision 1.62>>   retrieving revision 
1.63>>   diff -u -r1.62 -r1.63>>   --- 
mod_proxy.h   17 Feb 2004 21:52:22 
-  1.62>>   +++ 
mod_proxy.h   15 Sep 2004 23:45:18 
-  1.63>>   @@ -213,7 
+213,11 @@>>>>    struct per_thread_data 
{>>    struct hostent 
hpbuf;>>   +#ifdef TPF>>   
+    u_int  ipaddr;>>   
+#else>>    u_long 
ipaddr;>>   
+#endif>>    char 
*charpbuf[2];>>    };>64-bit fix for 
TPF?  looks like u_long is a hold-over from the very>old days and we 
should use in_addr_t wherever it exists, and define>in_addr_t 
appropriately on other platforms
 
Since I can't #ifdef for the typedef of in_add_t I can only think 
of three approaches to make this code generic:
 
1)  Change the "u_int ipaddr;" line to "in_addr_t ipaddr;" and let 
other platforms with in_addr_t add their platforms to the #ifdef TPF.
2)  Ditch the #ifdef TPF and change the original "u_long ipaddr;" line 
to "in_addr_t ipaddr;" for all platforms.  This would force the ones that 
don't have in_addr_t to change (by either typedef'ing in_addr_t to a u_long 
or by adding an #ifdef fin mod_proxy.h or themselves).
3)  Add a flag like "AP_HAVE_IN_ADDR_T to ap_config.h or some 
other header file and using that to determine if "in_addr_t ipaddr;" should be 
used in mod_proxy.h.
 
I'd prefer #1, unless there's a 4th option.
 
-David McCreedy


Re: Apache 1.3.30 release candidate tarball available for testing

2004-04-13 Thread David McCreedy




Tests out OK on IBM's TPF platform.

-David



   
 Jim Jagielski 
 <[EMAIL PROTECTED]> 
To 
 04/12/2004 12:48  [EMAIL PROTECTED]
 PM cc 
   [EMAIL PROTECTED]   
   Subject 
 Please respond to Apache 1.3.30 release candidate 
devtarball available for testing   
   
   
   
   
   
   




At:

http://httpd.apache.org/dev/dist/

Please check it out in anticipation for a release
tomorrow or so.





Re: 1.3.29 tarballs available for testing, Take II

2003-10-27 Thread David McCreedy




+1 on IBM's TPF operating system

-David



   

  Jim Jagielski

  <[EMAIL PROTECTED]>To:   [EMAIL PROTECTED]   
   
   cc: 

  10/26/2003 06:46 Subject:  1.3.29 tarballs available for 
testing, Take II
  AM   

  Please respond to

  dev  

   

   





If you've rec'd 2 copies of this (the 1st on Friday), please ignore.

The 1.3.29 tarballs are available for testing at:

http://httpd.apache.org/dev/dist

Feedback desired and welcomed.
--
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
  "A society that will trade a little liberty for a little order
 will lose both and deserve neither" - T.Jefferson





Re: 1.3.28 tarballs...

2003-07-16 Thread David McCreedy




+1 for IBM's TPF.

-David



   

  Jim Jagielski

  <[EMAIL PROTECTED]>To:   [EMAIL PROTECTED]   
   
   cc:   [EMAIL PROTECTED], [EMAIL 
PROTECTED], [EMAIL PROTECTED]   
  07/16/2003 03:04 Subject:  1.3.28 tarballs...

  PM   

  Please respond to

  dev  

   

   





Are ready for testing...

http://httpd.apache.org/dev/dist/

Looking to announce/release this Friday... We want to move the approved
tarballs over as soon as feasible to give mirrors time
to grab 'em.






Re: Release of 1.3.28 RSN

2003-07-16 Thread David McCreedy




IBM's TPF looks good.

-David



   

  Bill Stoddard

  <[EMAIL PROTECTED]To:   [EMAIL PROTECTED]
  
  om>  cc: 

   Subject:  Re: Release of 1.3.28 RSN 

  07/16/2003 08:42 

  AM   

  Please respond to

  dev  

   

   





Jim Jagielski wrote:

> In anticipation of a "very soon" T&R of 1.3.28, please try
> out HEAD. All expected patches have been folded in.
>
Quick spin on Windows looks good. +1 on release.

Bill






Re: 1.3.28

2003-06-19 Thread David McCreedy




It tests out OK on IBM's TPF system.

-David



   

  "Brad Nicholes"  

  <[EMAIL PROTECTED]To:   <[EMAIL PROTECTED]>, <[EMAIL 
PROTECTED]>   
  .com>cc: 

   Subject:  Re: 1.3.28

  06/19/2003 09:24 

  AM   

  Please respond to

  dev  

   

   





A quick build and run on NetWare looks good.

Brad

Brad Nicholes
Senior Software Engineer
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com

>>> [EMAIL PROTECTED] Thursday, June 19, 2003 9:14:54 AM >>>
Jim Jagielski wrote:
> OK, let's get 1.3.28 out the door. I'd like to hear some feedback
> on whether there is stuff people want to see in this release.
> I'd also like some feedback on some testing on the latest HEAD.
> It is likely that 1.3.28 will be out there for quite awhile,
> so let's get it out soon, but also get it out right.

I did quite a bit of banging on HEAD of core code on AIX and Solaris
when I tested some recent changes to http_main.c, but I'll bang some
more today.






RE: cvs commit: httpd-dist/tools release.sh

2003-01-03 Thread David McCreedy

I updated install-tpf.html in December but I don't know why this would
interfere with your script.
(I don't use CVS often and the document handling has always been a mystery
for me.)
Please let me know if I need to take any action to clear this error.

-David McCreedy



   

  "Sander Striker" 

  <[EMAIL PROTECTED]To:   <[EMAIL PROTECTED]>

  rg>  cc: 

   Subject:  RE: cvs commit: 
httpd-dist/tools release.sh   
  01/03/2003 02:46 

  AM   

  Please respond to

  dev  

   

   





> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Friday, January 03, 2003 10:32 AM

> striker 2003/01/03 01:32:17
>
>   Added:   toolsrelease.sh
>   Log:
>   A new release script to make rolling releases easier.  Derived from
>   apr-dist/tools/release.sh.
>
>   Revision  ChangesPath
>   1.1  httpd-dist/tools/release.sh

A new release script aimed to replace the in-tree roll release script.
It needs some work to gain the same functionality*, but it's a start
to make things even easier.

Note: it currently fails for 1.3 due to:
cvs export: move away apache-1.3.27/htdocs/manual/install-tpf.html; it is
in the way

I'm sure Jim is able to resolve this in the correct way ;)

Jim, could you enlighten me about the 1.3 roll process?  I can't
seem to find the appropiate httpd_roll_release script.

Sander

*) So don't use it yet!








[PATCH] Have Makefile.tmpl use the platform's apache/src/os directory

2002-12-27 Thread David McCreedy
Proposed change to Makefile.tmpl to replace the hardcoded os/unix/os.h
dependencies with ones that use the platform's specific os directory.
For example, Linux would continue to use os/unix/os.h while TPF would
use os/tpf/os.h.

-David



Index: apache-1.3/src/Makefile.tmpl
===
RCS file: /home/cvs/apache-1.3/src/Makefile.tmpl,v
retrieving revision 1.119
diff -u -d -b -r1.119 Makefile.tmpl
--- apache-1.3/src/Makefile.tmpl13 May 2002 08:13:06 -  1.119
+++ apache-1.3/src/Makefile.tmpl27 Dec 2002 20:29:02 -
@@ -125,10 +125,10 @@
 
 # DO NOT REMOVE
 buildmark.o: buildmark.c include/ap_config.h include/ap_mmn.h \
- include/ap_config_auto.h os/unix/os.h include/ap_ctype.h \
+ include/ap_config_auto.h $(OSDIR)/os.h include/ap_ctype.h \
  include/hsregex.h include/httpd.h include/ap_alloc.h include/buff.h \
  include/ap.h include/util_uri.h
 modules.o: modules.c include/httpd.h include/ap_config.h \
- include/ap_mmn.h include/ap_config_auto.h os/unix/os.h \
+ include/ap_mmn.h include/ap_config_auto.h $(OSDIR)/os.h \
  include/ap_ctype.h include/hsregex.h include/ap_alloc.h include/buff.h \
  include/ap.h include/util_uri.h include/http_config.h



RE: cvs commit: apache-1.3/src/main alloc.c

2002-12-16 Thread David McCreedy

Yes.  Thanks.

-David



   

  "Bill Stoddard"  

  <[EMAIL PROTECTED]To:   <[EMAIL PROTECTED]>

  om>  cc: 

   Subject:  RE: cvs commit: 
apache-1.3/src/main alloc.c   
  12/16/2002 01:35 

  PM   

  Please respond to

  dev  

   

   





Does this patch work for you?

Index: alloc.c
===
RCS file: /home/cvs/apache-1.3/src/main/alloc.c,v
retrieving revision 1.132
diff -u -r1.132 alloc.c
--- alloc.c8 Dec 2002 20:51:43 -   1.132
+++ alloc.c16 Dec 2002 20:35:19 -
@@ -2788,7 +2788,7 @@
 timeout_interval = TIMEOUT_INTERVAL;
 tv.tv_sec = 0;
 tv.tv_usec = timeout_interval;
-select(0, NULL, NULL, NULL, &tv);
+ap_select(0, NULL, NULL, NULL, &tv);

 do {
 need_timeout = 0;
@@ -2806,7 +2806,7 @@
 }
 tv.tv_sec = timeout_interval / 100;
 tv.tv_usec = timeout_interval % 100;
-select(0, NULL, NULL, NULL, &tv);
+ap_select(0, NULL, NULL, NULL, &tv);
 timeout_interval *= 2;
 }
 } while (need_timeout);

> Can these added "select" calls be changed to "ap_select"?
> That way the ap_select #define's in ap_config.h will get applied.
>
> Sorry for the late feedback.
>
> -David
>
>
>
>
>
>   [EMAIL PROTECTED]
>
>   rg   To:
> [EMAIL PROTECTED]
>cc:
>

>   11/12/2002 03:44 Subject:  cvs commit:
> apache-1.3/src/main alloc.c
>   PM
>
>   Please respond to
>
>   dev
>
>
>
>
>
>
>
>
>
> stoddard2002/11/12 14:44:07
>
>   Modified:src  CHANGES
>src/main alloc.c
>   Log:
>   Update timeout algorithm in free_proc_chain.  Try polling the existing
> subprocess
>   a few times before going into a 3 second sleep. Often we find that the
> subprocess
>   will exit within milliseconds.
>
>   Revision  ChangesPath
>   1.1861+8 -0  apache-1.3/src/CHANGES
>
>   Index: CHANGES
>   ===
>   RCS file: /home/cvs/apache-1.3/src/CHANGES,v
>   retrieving revision 1.1860
>   retrieving revision 1.1861
>   diff -u -r1.1860 -r1.1861
>   --- CHANGES12 Nov 2002 19:59:15 -  1.1860
>   +++ CHANGES12 Nov 2002 22:44:05 -  1.1861
>   @@ -1,4 +1,12 @@
>Changes with Apache 1.3.28
>   +  *) Update timeout algorithm in free_proc_chain. If a subprocess
>   + did not exit immediately, the thread would sleep for 3 seconds
>   + before checking the subprocess exit status again. In a very
>   + common case when the subprocess was an HTTP server CGI script,
>   + the CGI script actually exited a fraction of a second into the 3
>   + second sleep, which effectively limited the server to serving one
>   + CGI request every 3 seconds across a persistent connection.
>   + PRs 6961, 8664 [Bill Stoddard]
>
>  *) mod_setenvif: Add SERVER_ADDR special keyword to allow
> envariable setting according to the server IP address
>
>
>
>   1.129 +50 -7 apache-1.3/src/main/alloc.c
>
>   Index: alloc.c
>   ===
>   RCS file: /home/cvs/apache-1.3/src/main/alloc.c,v
>   retrieving revision 1.128
>   retrieving revision 1.129
>   diff -u -r1.128 -r1.129
>   --- alloc.c7 Sep 2002 22:57:05 -   1.128
>   +++ alloc.c12 Nov 2002 22:44:06 -  1.129
>   @@ -2624

Re: cvs commit: apache-1.3/src/main alloc.c

2002-12-16 Thread David McCreedy

Can these added "select" calls be changed to "ap_select"?
That way the ap_select #define's in ap_config.h will get applied.

Sorry for the late feedback.

-David



   

  [EMAIL PROTECTED]

  rg   To:   [EMAIL PROTECTED] 

   cc: 

  11/12/2002 03:44 Subject:  cvs commit: 
apache-1.3/src/main alloc.c   
  PM   

  Please respond to

  dev  

   

   





stoddard2002/11/12 14:44:07

  Modified:src  CHANGES
   src/main alloc.c
  Log:
  Update timeout algorithm in free_proc_chain.  Try polling the existing
subprocess
  a few times before going into a 3 second sleep. Often we find that the
subprocess
  will exit within milliseconds.

  Revision  ChangesPath
  1.1861+8 -0  apache-1.3/src/CHANGES

  Index: CHANGES
  ===
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1860
  retrieving revision 1.1861
  diff -u -r1.1860 -r1.1861
  --- CHANGES12 Nov 2002 19:59:15 -  1.1860
  +++ CHANGES12 Nov 2002 22:44:05 -  1.1861
  @@ -1,4 +1,12 @@
   Changes with Apache 1.3.28
  +  *) Update timeout algorithm in free_proc_chain. If a subprocess
  + did not exit immediately, the thread would sleep for 3 seconds
  + before checking the subprocess exit status again. In a very
  + common case when the subprocess was an HTTP server CGI script,
  + the CGI script actually exited a fraction of a second into the 3
  + second sleep, which effectively limited the server to serving one
  + CGI request every 3 seconds across a persistent connection.
  + PRs 6961, 8664 [Bill Stoddard]

 *) mod_setenvif: Add SERVER_ADDR special keyword to allow
envariable setting according to the server IP address



  1.129 +50 -7 apache-1.3/src/main/alloc.c

  Index: alloc.c
  ===
  RCS file: /home/cvs/apache-1.3/src/main/alloc.c,v
  retrieving revision 1.128
  retrieving revision 1.129
  diff -u -r1.128 -r1.129
  --- alloc.c7 Sep 2002 22:57:05 -   1.128
  +++ alloc.c12 Nov 2002 22:44:06 -  1.129
  @@ -2624,15 +2624,28 @@
   return pid;
   }

  +
  +/*
  + * Timing constants for killing subprocesses
  + * There is a total 3-second delay between sending a SIGINT
  + * and sending of the final SIGKILL.
  + * TIMEOUT_INTERVAL should be set to TIMEOUT_USECS / 64
  + * for the exponetial timeout alogrithm.
  + */
  +#define TIMEOUT_USECS300
  +#define TIMEOUT_INTERVAL   46875
  +
   static void free_proc_chain(struct process_chain *procs)
   {
   /* Dispose of the subprocesses we've spawned off in the course of
* whatever it was we're cleaning up now.  This may involve killing
* some of them off...
*/
  -
  +struct timeval tv;
   struct process_chain *p;
   int need_timeout = 0;
  +int timeout_interval;
  +int exit_int;
   int status;

   if (procs == NULL)
  @@ -2694,18 +2707,49 @@
 if ((p->kill_how == kill_after_timeout)
 || (p->kill_how == kill_only_once)) {
 /* Subprocess may be dead already.  Only need the timeout
if not. */
  -  if (ap_os_kill(p->pid, SIGTERM) != -1)
  +  if (ap_os_kill(p->pid, SIGTERM) == -1) {
  +p->kill_how = kill_never;
  +}
  +else {
 need_timeout = 1;
  +}
 }
 else if (p->kill_how == kill_always) {
 kill(p->pid, SIGKILL);
 }
   }

  -/* Sleep only if we have to... */
  -
  -if (need_timeout)
  -  sleep(3);
  +/* Sleep only if we have to. The sleep algorithm grows
  + 

Apache 1.3 timeout processing question

2002-07-29 Thread David McCreedy

I'm struggling with some Apache 1.3 logic and would like some advice in 
order to make changes specific to the TPF operating system.

Various routines call ap_set_callback_and_alarm() to set a timeout 
value, such as ap_keepalive_timeout() and ap_hard_timeout() in http_main.c.
The read in buff.c's ap_read(), which is called by buff_read(), 
presumably gets interrupted by the alarm if no data is received in the 
allotted time.
On TPF, neither select() nor socket reads are interrupted by signals.
So with the initial Apache port to TPF, code was put into buff_read() to 
do a select on the socket with a hardcoded time of one second.
This works OK if the client is quick but otherwise it causes "500 
unexpected EOF before status line seen" or "no data returned" errors on 
the client.
It also bypasses the configurable httpd.conf timeout directives, in 
effect using "Timeout 1" and "KeepAliveTimeout 1".

Win32 has special handling to set and retrieve timeout values.
(The code is in ap_set_callback_and_alarm and ap_check_alarm respectively).
I was thinking along these lines but would like to use more of the main 
line ap_set_callback_and_alarm processing.
I could add this routine to http_main.c to determine the current timeout 
value:

  #ifdef TPF
  API_EXPORT(int) ap_check_alarm(void)
  {
  int i;

  /* determine time left */
  /* the 2 seconds is just an arbitrary amount of time to keep
 the alarm from expiring before it is reset */
  i = ap_set_callback_and_alarm(alarm_fn, 2);

  ap_set_callback_and_alarm(alarm_fn, i); /* restore time left */
  return i;   /* return time left */
  }
  #endif

And then use it in buff.c to control the select prior to the socket read 
in the TPF-specific code in buff_read:

...
/* tv.tv_sec = 1; */  /* <=== old line */
tv.tv_sec = ap_check_alarm(); /* <=== new line */
tv.tv_usec = 0;
rv = ap_select(fb->fd_in + 1, &fds, NULL, NULL, &tv);
if (rv > 0)
rv = ap_read(fb, buf, nbyte);
}
...

I'm not comfortable with my understanding of Apache timeout processing 
which is why I'm requesting feedback.
Please let me know the pitfalls or merits of taking the above approach.

Thank you,

-David McCreedy




"[PATCH] EBCDIC fix to ap_strtol.c

2002-06-24 Thread David McCreedy

This change makes ap_strtol( ) work with EBCDIC, where A-Z/a-z are not
contiguous.
I have NOT tested it on an ASCII machine to verify that I didn't
inadvertently break ap_strtol( ) on ASCII machines.
I need someone else to give that a try.

Thank you,

David McCreedy
IBM



Index: apache-1.3/src/ap/ap_strtol.c
===
RCS file: /home/cvs/apache-1.3/src/ap/ap_strtol.c,v
retrieving revision 1.7
diff -u -d -b -r1.7 ap_strtol.c
--- apache-1.3/src/ap/ap_strtol.c   18 Jun 2002 17:57:59 -  1.7
+++ apache-1.3/src/ap/ap_strtol.c   24 Jun 2002 21:19:02 -
@@ -106,9 +106,8 @@
  *
  * Assumes that the upper and lower case
  * alphabets and digits are each contiguous.
- * As such, this will break on EBCDIC machines
- * if base is >19. The highest we use is 16
- * so we're OK, but you are warned!
+ * (On EBCDIC machines it assumes that digits and
+ *  upper/lower case A-I, J-R, and S-Z are contiguous.)
  */
 
 API_EXPORT(long) ap_strtol(const char *nptr, char **endptr, int base)
@@ -173,10 +172,25 @@
for ( ; ; c = *s++) {
if (c >= '0' && c <= '9')
c -= '0';
+#ifdef CHARSET_EBCDIC
+   else if (c >= 'A' && c <= 'I')
+   c -= 'A' - 10;
+   else if (c >= 'a' && c <= 'i')
+   c -= 'a' - 10;
+   else if (c >= 'J' && c <= 'R')
+   c -= 'J' - 19;
+   else if (c >= 'j' && c <= 'r')
+   c -= 'j' - 19;
+   else if (c >= 'S' && c <= 'Z')
+   c -= 'S' - 28;
+   else if (c >= 's' && c <= 'z')
+   c -= 's' - 28;
+#else
else if (c >= 'A' && c <= 'Z')
c -= 'A' - 10;
else if (c >= 'a' && c <= 'z')
c -= 'a' - 10;
+#endif /* CHARSET_EBCDIC */
else
break;
if (c >= base)



Re: [TEST PLEASE!!] apache 1.3 and 2.0 nearing release

2002-06-18 Thread David McCreedy


Builds and runs OK on TPF.

-David






Re: tarballs are up for testing

2002-06-11 Thread David McCreedy


Are there tarballs for 1.3.25 or just 2.0.37?

-David



   

  Cliff Woolley

 cc: 

   Subject:  tarballs are up for testing   

  06/11/2002 11:03 

  AM   

  Please respond to

  dev  

   

   





... in http://httpd.apache.org/dev/dist/

--Cliff









[PATCH] TPF InetD change to src/os/tpf/os.c

2002-05-29 Thread David McCreedy

This patch reworks some of the checks in TPF's os_check_server function
to better accommodate TPF's Internet Daemon processing.

David McCreedy



Index: apache-1.3/src/os/tpf/os.c
===
RCS file: /home/cvs/apache-1.3/src/os/tpf/os.c,v
retrieving revision 1.17
diff -u -d -b -r1.17 os.c
--- apache-1.3/src/os/tpf/os.c  19 May 2002 04:55:39 -  1.17
+++ apache-1.3/src/os/tpf/os.c  29 May 2002 14:59:53 -
@@ -448,25 +448,25 @@
 int os_check_server(char *server) {
 int *current_acn;
 
-if (zinet_model == INETD_IDCF_MODEL_NOLISTEN) {
-/* if NOLISTEN model, check with ZINET for status */
-if (inetd_getServerStatus(server) == INETD_SERVER_STATUS_INACTIVE) {
-return 1;
-}
-/* and check that program activation number hasn't changed */
+/* check that the program activation number hasn't changed */
 current_acn = (int *)cinfc_fast(CINFC_CMMACNUM);
 if (ecbp2()->ce2acn != *current_acn) {
-return 1;
+return 1;  /* shutdown */
 }
 
-} else {
-/* if DAEMON model, just make sure parent is still around */
+/* check our InetD status */
+if (inetd_getServerStatus(server) != INETD_SERVER_STATUS_ACTIVE) {
+return 1;  /* shutdown */
+}
+
+/* if DAEMON model, make sure parent is still around */
+if (zinet_model == INETD_IDCF_MODEL_DAEMON) {
 if (getppid() == 1) {
-return 1;
+return 1;  /* shutdown */
 }
 }
 
-return 0;
+return 0;  /* keep on running... */
 }
 
 void os_note_additional_cleanups(pool *p, int sd) {



[PATCH] TPF doc update of install-tpf.html

2002-05-17 Thread David McCreedy

Update to the installation instructions for TPF to clarify how to
exclude expat-lite from the Apache compilation.
Submitted at a customer's request.

David McCreedy
[EMAIL PROTECTED]



Index: httpd-docs-1.3/htdocs/manual/install-tpf.html
===
RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/install-tpf.html,v
retrieving revision 1.16
diff -u -d -b -r1.16 install-tpf.html
--- httpd-docs-1.3/htdocs/manual/install-tpf.html   29 Mar 2002 19:05:54 - 
 1.16
+++ httpd-docs-1.3/htdocs/manual/install-tpf.html   17 May 2002 15:10:08 -
@@ -113,14 +113,14 @@
   
pax -rvzkf os390_unix_filename.tar.Z -o from=ISO8859-1,to=IBM-1047 "*/src"
 
 
-  
+  
 Remove unnecessary subdirectories: 
 
-  
-  cd apache_1.3.xx/src/os
-
-  
-  
rm -r bs2000 cygwin mpeix netware os2 os390 win32
+  cd apache_1.3.xx/src/lib
+  rm -r expat-lite sdbm
+  cd ../os
+  
+rm -r bs2000 cygwin mpeix netware os2 os390 win32
+  cd ..
 
  
   
@@ -174,11 +174,6 @@
 
 
 
-  adjust the rules and
-  EXTRA_CFLAGS|LIBS|LDFLAGS|INCLUDES if you feel
-  so inclined
-    
-
   comment out (by preceding the line with a "#") lines
   corresponding to those modules you DO NOT wish to
   include
@@ -189,6 +184,14 @@
   or add new lines corresponding to any custom modules you
   have written (the readme-tpf.html document 
lists
   the modules that have been tested on TPF) 
+
+  if you did not delete the src/lib/expat-lite directory
+  as noted in the download instructions,
+  add "Rule EXPAT=no" to the src/Configuration file
+
+  adjust the other rules, EXTRA_CFLAGS, EXTRA_LIBS, 
+EXTRA_LDFLAGS,
+  and EXTRA_INCLUDES settings if you feel so inclined
+
 
 
 The modules placed in the Apache distribution are the
@@ -328,7 +331,7 @@
   TPF. 
 
 
-  
+  
 Run the "Configure" script:
 Configure 
  
@@ -349,7 +352,6 @@
   Creating Makefile in os/tpf
   Creating Makefile in ap
   Creating Makefile in main
-  Creating Makefile in lib/expat-lite
   Creating Makefile in modules/standard
   $ _
 
@@ -379,14 +381,12 @@
 or find a line with a "\":   /\\
 
 
-
   The end of line should display as "\$". If it is
   displayed as "\ $" (with a blank between \
   and $) then you should revert to the distributed version
   of the file and make the site-specific changes again
   using a UNIX compatible editor such as vi or emacs. Then
   try the Configure command again. 
-
 
  close the file: :q  (or :quit!)
 
@@ -471,7 +471,6 @@
 has been included as src/os/tpf/samples/linkhttp.jcl. You
 will need to modify this JCL:
    
-
 
   Change the IDs, data set names, and libraries for
   your particular site. 
@@ -484,8 +483,18 @@
  TIP:
 Do NOT include gen_test_char.o or gen_uri_delims.o in the
 link JCL since these files are only used during the
-make step. 
+make step. 
+
+
+If you receive an "Unresolved references" error for "XML_ErrorString"
+you probably need to remove the expat-lite 
+directory
+and start back at the "Run the Configure script" 
+step
+
+  
+If you receive an "unable to open" error  for 
+lib/expat-lite/hashtable.o"
+you probably need to remove all of the expat-lite .o's from your link JCL
   
+
   
 
   Create a loadset. Sample loadset JCL has been included as
@@ -561,8 +570,6 @@
 fopen error while running Apache:
 
  
-
-
   If you're running a PUT10 or higher version of TPF make
   the directory using the zfile
   mkdir /usr/local/apache/logs command.
@@ -570,7 +577,7 @@
If you're running TPF version PUT09 TFTP an empty file
   into the logs subdirectory to create it. 
   
-
+
 Make sure Apache can write into the logs subdirectory by
 doing a zfile chmod on it with the
 appropriate permission settings. 



question about cvs doc trees

2002-05-16 Thread David McCreedy


I'm trying to understand where the docs live so I can update them properly.

Using install-tpf.html for the example...
I'm guessing that httpd-docs-1.3/htdocs/manual/install-tpf.html is what
shows up on the Apache website.
And that apache-1.3/htdocs/manual/install-tpf.html is what shows up in the
tarball.

Is this correct?

-David






[PATCH] resubmission of TPF specific changes for syslog & flags

2002-05-15 Thread David McCreedy

This is a resubmission of my original patch with Jeff Trawick's
suggestions now incorporated...

This patch is specific to TPF code and therefore shouldn't affect other
platforms.

It does the following:

1) Allow the use of Apache's -f, -d, -D, & -X flags on IBM's TPF
operating system
2) Allow syslog to be used by Apache on TPF
3) Remove unused expat-lite object files from the sample link JCL

Please let me know if you have any concerns or comments.

Thank you,

David McCreedy
[EMAIL PROTECTED]



Index: apache-1.3/src/main/http_log.c
===
RCS file: /home/cvs/apache-1.3/src/main/http_log.c,v
retrieving revision 1.93
diff -u -d -b -r1.93 http_log.c
--- apache-1.3/src/main/http_log.c  13 Mar 2002 21:05:30 -  1.93
+++ apache-1.3/src/main/http_log.c  16 May 2002 04:39:38 -
@@ -339,18 +339,6 @@
return;
logf = s->error_log;
 }
-#ifdef TPF
-else if (tpf_child) {
-/*
- * If we are doing normal logging, don't log messages that are
- * above the server log level unless it is a startup/shutdown notice
- */
-if (((level & APLOG_LEVELMASK) != APLOG_NOTICE) &&
-((level & APLOG_LEVELMASK) > s->loglevel))
-return;
-logf = stderr;
-}
-#endif /* TPF */
 else {
/*
 * If we are doing syslog logging, don't log messages that are
Index: apache-1.3/src/main/http_main.c
===
RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
retrieving revision 1.582
diff -u -d -b -r1.582 http_main.c
--- apache-1.3/src/main/http_main.c 13 May 2002 23:12:02 -  1.582
+++ apache-1.3/src/main/http_main.c 16 May 2002 04:39:39 -
@@ -5438,15 +5438,23 @@
 tpf_server_name[INETD_SERVNAME_LENGTH + 1] = '\0';
 ap_open_logs(server_conf, plog);
 ap_tpf_zinet_checks(ap_standalone, tpf_server_name, server_conf);
+ap_tpf_save_argv(argc, argv);/* save argv parms for children */
 }
 if (ap_standalone) {
 ap_set_version();
 ap_init_modules(pconf, server_conf);
 version_locked++;
 if(tpf_child) {
+   server_conf->error_log = stderr;
+#ifdef HAVE_SYSLOG
+/* if ErrorLog is syslog call ap_open_logs from the child since
+   syslog isn't redirected to stderr by the Apache parent */
+if (strncasecmp(server_conf->error_fname, "syslog", 6) == 0) {
+   ap_open_logs(server_conf, plog);
+}
+#endif /* HAVE_SYSLOG */
 copy_listeners(pconf);
 reset_tpf_listeners(&input_parms.child);
-server_conf->error_log = NULL;
 #ifdef SCOREBOARD_FILE
 scoreboard_fd = input_parms.child.scoreboard_fd;
 ap_scoreboard_image = &_scoreboard_image;
Index: apache-1.3/src/os/tpf/os.c
===
RCS file: /home/cvs/apache-1.3/src/os/tpf/os.c,v
retrieving revision 1.16
diff -u -d -b -r1.16 os.c
--- apache-1.3/src/os/tpf/os.c  13 Mar 2002 21:05:36 -  1.16
+++ apache-1.3/src/os/tpf/os.c  16 May 2002 04:39:39 -
@@ -75,6 +75,7 @@
 
 void *tpf_shm_static_ptr = NULL;
 unsigned short zinet_model;
+char *argv_ptr = NULL;
 
 static FILE *sock_fp;
 
@@ -394,7 +395,7 @@
 fork_input.prog_type = TPF_FORK_NAME;
 fork_input.istream = TPF_FORK_IS_BALANCE;
 fork_input.ebw_data_length = sizeof(input_parms);
-fork_input.parm_data = "-x";
+fork_input.parm_data = argv_ptr;
 #ifdef TPF_FORK_EXTENDED
 return tpf_fork(&fork_input, NULL, NULL);
 #else
@@ -479,6 +480,23 @@
 fcntl(sd,F_SETFD,FD_CLOEXEC);
 }
 
+void ap_tpf_save_argv(int argc, char **argv) {
+
+int i, len = 3;  /* 3 for "-x "   */
+
+for (i = 1; i < argc; i++) {/* find len for calloc */
+ len += strlen (argv[i]);
+ ++len; /* 1 for blank */
+}
+
+argv_ptr = malloc(len + 1);
+strcpy(argv_ptr, "-x");
+for (i = 1; i < argc; i++) {
+ strcat(argv_ptr, " ");
+ strcat(argv_ptr, argv[i]);
+}
+}
+
 void os_tpf_child(APACHE_TPF_INPUT *input_parms) {
 tpf_child = 1;
 ap_my_generation = input_parms->generation;
@@ -794,6 +812,10 @@
  
 #ifdef TPF_HAVE_NSD
 printf(" -D TPF_HAVE_NSD\n");
+#endif
+ 
+#ifdef HAVE_SYSLOG
+printf(" -D HAVE_SYSLOG\n");
 #endif
 
 }
Index: apache-1.3/src/os/tpf/os.h
===
RCS file: /home/cvs/apache-1.3/src/os/tpf/os.h,v
retrieving revision 1.14
diff -u -d -b -r1.14 os.h
--- apache-1.3/src/os/tpf/os.h  22 Jun 2001 12:43:55 -  1.14
+++ apache-1.3/src/os/tpf/os.h  16 May 2002 04:39:39 -
@@ -76,6 +76,10 @@
 #undef HAVE_ISNAN
 #endif
 
+#ifdef HAVE_ISINF
+#und

[PATCH] TPF specific changes for syslog & flags

2002-05-15 Thread David McCreedy

This patch is specific to TPF code and therefore shouldn't affect other
platforms.

It does the following:

1) Allow the use of Apache's -f, -d, -D, & -X flags on IBM's TPF
operating system
2) Allow syslog to be used by Apache on TPF
3) Remove unused expat-lite object files from the sample link JCL

Please let me know if you have any concerns or comments.

Thank you,

David McCreedy
[EMAIL PROTECTED]





Index: apache-1.3/src/main/http_log.c
===
RCS file: /home/cvs/apache-1.3/src/main/http_log.c,v
retrieving revision 1.93
diff -u -d -b -r1.93 http_log.c
--- apache-1.3/src/main/http_log.c  13 Mar 2002 21:05:30 -  1.93
+++ apache-1.3/src/main/http_log.c  15 May 2002 17:48:09 -
@@ -339,18 +339,6 @@
return;
logf = s->error_log;
 }
-#ifdef TPF
-else if (tpf_child) {
-/*
- * If we are doing normal logging, don't log messages that are
- * above the server log level unless it is a startup/shutdown notice
- */
-if (((level & APLOG_LEVELMASK) != APLOG_NOTICE) &&
-((level & APLOG_LEVELMASK) > s->loglevel))
-return;
-logf = stderr;
-}
-#endif /* TPF */
 else {
/*
 * If we are doing syslog logging, don't log messages that are
Index: apache-1.3/src/main/http_main.c
===
RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
retrieving revision 1.582
diff -u -d -b -r1.582 http_main.c
--- apache-1.3/src/main/http_main.c 13 May 2002 23:12:02 -  1.582
+++ apache-1.3/src/main/http_main.c 15 May 2002 17:48:10 -
@@ -5438,15 +5438,23 @@
 tpf_server_name[INETD_SERVNAME_LENGTH + 1] = '\0';
 ap_open_logs(server_conf, plog);
 ap_tpf_zinet_checks(ap_standalone, tpf_server_name, server_conf);
+ap_tpf_save_argv(argc, argv);/* save argv parms for children */
 }
 if (ap_standalone) {
 ap_set_version();
 ap_init_modules(pconf, server_conf);
 version_locked++;
 if(tpf_child) {
+   server_conf->error_log = stderr;
+#ifdef HAVE_SYSLOG
+/* if ErrorLog is syslog call ap_open_logs from the child since
+   syslog isn't redirected to stderr by the Apache parent */
+if (strncasecmp(server_conf->error_fname, "syslog", 6) == 0) {
+   ap_open_logs(server_conf, plog);
+}
+#endif /* HAVE_SYSLOG */
 copy_listeners(pconf);
 reset_tpf_listeners(&input_parms.child);
-server_conf->error_log = NULL;
 #ifdef SCOREBOARD_FILE
 scoreboard_fd = input_parms.child.scoreboard_fd;
 ap_scoreboard_image = &_scoreboard_image;
Index: apache-1.3/src/os/tpf/os.c
===
RCS file: /home/cvs/apache-1.3/src/os/tpf/os.c,v
retrieving revision 1.16
diff -u -d -b -r1.16 os.c
--- apache-1.3/src/os/tpf/os.c  13 Mar 2002 21:05:36 -  1.16
+++ apache-1.3/src/os/tpf/os.c  15 May 2002 17:48:10 -
@@ -75,6 +75,7 @@
 
 void *tpf_shm_static_ptr = NULL;
 unsigned short zinet_model;
+char *argv_ptr = NULL;
 
 static FILE *sock_fp;
 
@@ -394,7 +395,7 @@
 fork_input.prog_type = TPF_FORK_NAME;
 fork_input.istream = TPF_FORK_IS_BALANCE;
 fork_input.ebw_data_length = sizeof(input_parms);
-fork_input.parm_data = "-x";
+fork_input.parm_data = argv_ptr;
 #ifdef TPF_FORK_EXTENDED
 return tpf_fork(&fork_input, NULL, NULL);
 #else
@@ -479,6 +480,23 @@
 fcntl(sd,F_SETFD,FD_CLOEXEC);
 }
 
+void ap_tpf_save_argv(int argc, char **argv) {
+
+int i, len=3;  /* 3 for "-x "   */
+
+for (i= 1; i < argc; i++) { /* find len for calloc */
+ len += strlen (argv[i]);
+ ++len; /* 1 for blank */
+}
+
+argv_ptr = calloc (1, len + 1);
+strcpy(argv_ptr, "-x");
+for (i= 1; i < argc; i++) {
+ strcat(argv_ptr, " ");
+ strcat(argv_ptr, argv[i]);
+}
+}
+
 void os_tpf_child(APACHE_TPF_INPUT *input_parms) {
 tpf_child = 1;
 ap_my_generation = input_parms->generation;
@@ -794,6 +812,10 @@
  
 #ifdef TPF_HAVE_NSD
 printf(" -D TPF_HAVE_NSD\n");
+#endif
+ 
+#ifdef HAVE_SYSLOG
+printf(" -D HAVE_SYSLOG\n");
 #endif
 
 }
Index: apache-1.3/src/os/tpf/os.h
===
RCS file: /home/cvs/apache-1.3/src/os/tpf/os.h,v
retrieving revision 1.14
diff -u -d -b -r1.14 os.h
--- apache-1.3/src/os/tpf/os.h  22 Jun 2001 12:43:55 -  1.14
+++ apache-1.3/src/os/tpf/os.h  15 May 2002 17:48:10 -
@@ -76,6 +76,10 @@
 #undef HAVE_ISNAN
 #endif
 
+#ifdef HAVE_ISINF
+#undef HAVE_ISINF
+#endif
+
 #if !defined(INLINE) && defined(USE_GNU_INLINE)
 /* Compiler 

[PATCH] TPF Docs: install-tpf.html and readme-tpf.html

2002-03-29 Thread David McCreedy

This patch updates the readme and install files for TPF.
Minor updates to the latest version of the TPF operating system are now
reflected in the documents.
Also, changes to the documents were made so that they now pass W3C
validation for xhtml 1.0 transitional.

David McCreedy
Title: The Apache TPF Port


Index: httpd-docs-1.3/htdocs/manual/readme-tpf.html
===
RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/readme-tpf.html,v
retrieving revision 1.11
diff -u -d -b -r1.11 readme-tpf.html
--- httpd-docs-1.3/htdocs/manual/readme-tpf.html	2 Oct 2001 11:02:58 -	1.11
+++ httpd-docs-1.3/htdocs/manual/readme-tpf.html	29 Mar 2002 17:39:08 -
@@ -3,7 +3,7 @@
 
 
   
 
   
 
-  Installing the Apache 1.3 HTTP
-  Server on TPF
+  Installing the Apache 1.3 HTTP
+  Server on TPF
 
 
 
@@ -81,9 +83,8 @@
   
 
   FTP the tarball to your OS/390 UNIX machine using binary
-  mode: 
+  mode: 
 
-  
 
   activate FTP in an MSDOS window:
   ftp your.os390.unix.machine.com 
@@ -108,22 +109,18 @@
   
 
   Decompress and extract the archived files necessary for compiling
-  Apache:
+  Apache:
   pax -rvzkf os390_unix_filename.tar.Z -o from=ISO8859-1,to=IBM-1047 "*/src"
 
 
   
 Remove unnecessary subdirectories: 
-
 
   
   cd apache_1.3.xx/src/os
 
   
   rm -r bs2000 cygwin mpeix netware os2 os390 win32
-
-  
-  
 
  
   
@@ -174,26 +171,24 @@
   Edit src/Configuration. It contains the list and settings
   of various "Rules" and an additional section at the bottom
   that determines which modules to compile:
-    
+    
 
-  
 
-  Adjust the Rules and
+  adjust the rules and
   EXTRA_CFLAGS|LIBS|LDFLAGS|INCLUDES if you feel
-  so inclined.
+  so inclined
 
 
-  Comment out (by preceding the line with a "#") lines
+  comment out (by preceding the line with a "#") lines
   corresponding to those modules you DO NOT wish to
-  include.
+  include
 
 
-  Uncomment (by removing the initial "#", if present)
+  uncomment (by removing the initial "#", if present)
   lines corresponding to those modules you wish to include
   or add new lines corresponding to any custom modules you
-  have written. The readme-tpf.html document lists
-  the modules that have been tested on TPF. 
+  have written (the readme-tpf.html document lists
+  the modules that have been tested on TPF) 
 
 
 The modules placed in the Apache distribution are the
@@ -230,8 +225,6 @@
   _C89_OPTIONS export in src/os/tpf/TPFExport
 
 
-
- 
 
 Otherwise:
 
@@ -245,8 +238,6 @@
   _C89_OPTIONS export in src/os/tpf/TPFExport
 
 
-
- 
 
 Without non_socket_select CGI output is
 buffered and only sent to the browser when the CGI program
@@ -276,8 +267,6 @@
   _C89_OPTIONS export in src/os/tpf/TPFExport
 
 
-
- 
 
 Otherwise:
 
@@ -290,17 +279,37 @@
   _C89_OPTIONS export in src/os/tpf/TPFExport
 
 
-
- 
 
 The use of tpf_sawnc allows for a cleaner
 shutdown of Apache.
   
 
-  
+  
+Indicate if you would like to use the TCP/IP network services database.
+(This only applies if you are using TCP/IP native stack.)
 
-  Set the TPF environment variables:
+If you are on a PUT16 or higher system, or have PJ28195 installed,
+   you can use the TCP/IP network services database.
+   To do so, you must do one of the following:
+
+
+
+  add "#define TPF_HAVE_NSD" to
+  src/os/tpf/os.h   or
+
+  add "-DTPF_HAVE_NSD" to the
+  _C89_OPTIONS export in src/os/tpf/TPFExport
+
+
+
+
+See TPF Transmission Control Protocol/Internet Protocol for more information
+   about the TCP/IP network services database:
+   http://www.ibm.com/tpf/pubs/tpfpubs.htm.
+  
+
+  
+  Set the TPF environment variables:
   . os/tpf/TPFExport 
   
TIP: The
@@ -427,11 +436,10 @@
 
  
 
-
   util_uri.c:   Function argument
   assignment between types "unsigned char*" and "const
   unsigned char*" is not allowed.
-
+
 
   
 
@@ -494,10 +502,10 @@
 
   Ensure that the program name you are using for Apache has
   RESTRICT and KEY0 authorization

Re: 1.3.24 tarballs...

2002-03-21 Thread David McCreedy


Apache 1.3.24  checks out OK on TPF.

David McCreedy



   

  Jim Jagielski

  <[EMAIL PROTECTED]>To:   [EMAIL PROTECTED]  

   cc: 

  03/21/2002 11:15 Subject:  1.3.24 tarballs...

  AM   

  Please respond to

  dev  

   

   




... are available on http://httpd.apache.org/dev/dist/
--
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
  "A society that will trade a little liberty for a little order
 will lose both and deserve neither" - T.Jefferson







[PATCH] TPF-specific addition to main/http_main.c and modification to os/tpf/os.c

2002-02-25 Thread David McCreedy

This patch adds a small, TPF-specific section to http_main.c to
interface with a new TPF operating system feature.
(I used "diff -ru9" because the normal "diff -ru3" would not uniquely
identify the code being changed in http_main.c.)

Please let me know if you have any questions or concerns.

Thank you,

David McCreedy
[EMAIL PROTECTED]



diff -ru9 before/src/main/http_main.c after/src/main/http_main.c
--- before/src/main/http_main.c Mon Feb 25 11:53:47 2002
+++ after/src/main/http_main.c  Mon Feb 25 11:53:36 2002
@@ -4561,18 +4561,29 @@
 
/* process the request if it was read without error */
 
if (r->status == HTTP_OK)
ap_process_request(r);
 
if(ap_extended_status)
increment_counts(my_child_num, r);
 
+#ifdef TPF_HAVE_NSD
+/* Update the TPF Network Services Database message counters */
+tpf_tcpip_message_cnt(NSDB_INPUT_CNT,
+((struct sockaddr_in *)&sa_server)->sin_port,
+NSDB_TCP_S, 1);
+
+tpf_tcpip_message_cnt(NSDB_OUTPUT_CNT,
+((struct sockaddr_in *)&sa_server)->sin_port,
+NSDB_TCP_S, 1);
+#endif /* TPF_HAVE_NSD */ 
+
if (!current_conn->keepalive || current_conn->aborted)
break;
 
ap_destroy_pool(r->pool);
(void) ap_update_child_status(my_child_num, SERVER_BUSY_KEEPALIVE,
   (request_rec *) NULL);
 
ap_sync_scoreboard_image();
if (ap_scoreboard_image->global.running_generation != ap_my_generation) {
diff -ru9 before/src/os/tpf/os.c after/src/os/tpf/os.c
--- before/src/os/tpf/os.c  Mon Feb 25 11:59:05 2002
+++ after/src/os/tpf/os.c   Mon Feb 25 11:59:09 2002
@@ -786,10 +786,14 @@
 
 #ifdef TPF_HAVE_SAWNC
 printf(" -D TPF_HAVE_SAWNC\n"); 
 #endif
 
 #ifdef TPF_NO_SAWNC
 printf(" -D TPF_NO_SAWNC\n"); 
 #endif
 
+#ifdef TPF_HAVE_NSD
+printf(" -D TPF_HAVE_NSD\n"); 
+#endif
+
 }



[PATCH] TPF-Specific section of http_main.c

2002-02-21 Thread David McCreedy

This patch changes a TPF-specific section of http_main.c to use the
correct subpool when initially opening the error log.
This makes TPF's ap_open_logs call the same as other platforms and
prevents a possible SIGPIPE in standalone_main on TPF.

Please let me know if you have any questions or concerns.

Thank you,

David McCreedy
[EMAIL PROTECTED]



diff -ru3 before/main/http_main.c after/main/http_main.c
--- before/main/http_main.c Thu Feb 21 13:51:19 2002
+++ after/main/http_main.c  Thu Feb 21 13:51:02 2002
@@ -5405,7 +5405,7 @@
 memcpy(tpf_server_name, input_parms.parent.servname,
INETD_SERVNAME_LENGTH);
 tpf_server_name[INETD_SERVNAME_LENGTH + 1] = '\0';
-ap_open_logs(server_conf, pconf);
+ap_open_logs(server_conf, plog);
 ap_tpf_zinet_checks(ap_standalone, tpf_server_name, server_conf);
 }
 if (ap_standalone) {



[PATCH] TPF changes for rotatelogs

2001-12-21 Thread David McCreedy

These two patches allow rotatelogs to function properly on TPF.
They are TPF-specific and will not affect other platforms.

The os/tpf/os.c change is required for arguments to be properly passed
to rotatelogs (or any other piped log program).
The support/rotatlogs.c change is due to a quirk in TPF signal handling.

Please let me know if you have any questions or concerns.

Thank you,

David McCreedy
[EMAIL PROTECTED]



diff -ru3 before/src/os/tpf/os.c after/src/os/tpf/os.c
--- before/src/os/tpf/os.c  Thu Dec 20 17:05:19 2001
+++ after/src/os/tpf/os.c   Thu Dec 20 17:11:41 2001
@@ -203,7 +203,10 @@
array_header *env_arr = ap_table_elts ((array_header *) 
cld->subprocess_env);
table_entry  *elts = (table_entry *) env_arr->elts;
 #ifdef TPF_FORK_EXTENDED
-   char *args[2];
+#define WHITE " \t\n"
+#define MAXARGC 49
+   char *arguments;
+   char *args[MAXARGC + 1];
char **envp = NULL;
pool *subpool = NULL;
 
@@ -267,8 +270,15 @@
fork_input.parm_data = NULL;
 
 #ifdef TPF_FORK_EXTENDED
-   args[0] = cld->filename;
-   args[1] = NULL;
+   /* use a copy of cld->filename because strtok is destructive */
+   arguments = ap_pstrdup(p, cld->filename);
+   args[0] = strtok(arguments, WHITE);
+   args[MAXARGC + 1] = NULL;
+
+   for (i = 0; i < MAXARGC && args[i] ; i++) {
+   args[i + 1] = strtok(NULL, WHITE);
+   }
+
if ((pid = tpf_fork(&fork_input,
(const char **)args,
(const char **)envp)) < 0) {
diff -ru3 before/src/support/rotatelogs.c after/src/support/rotatelogs.c
--- before/src/support/rotatelogs.c Thu Dec 20 17:05:22 2001
+++ after/src/support/rotatelogs.c  Thu Dec 20 17:05:33 2001
@@ -28,6 +28,12 @@
 time_t now;
 char *szLogRoot;
 
+#ifdef TPF
+/* set up signal handling to avoid default OPR-I00 dump */
+signal(SIGPIPE, exit);
+signal(SIGTERM, exit);
+#endif
+
 if (argc < 3) {
 fprintf(stderr,
 "Usage: %s   "



[PATCH] TPF additional fix in http_main.c

2001-10-05 Thread David McCreedy

In testing the 1.3.21 tarball I found another fix required in a
TPF-specific block of http_main.c due to mutex processing changes.
I don't want to nix 1.3.21 but if 1.3.22 is going to happen anyway this
change should be incorporated before it's rolled.
As I said above, the patch is in a TPF-specific block of code so it
won't affect other platforms.

Sorry to be a pest...

David McCreedy



diff -ru3 before/src/main/http_main.c after/src/main/http_main.c
--- before/src/main/http_main.c Fri Oct  5 21:04:12 2001
+++ after/src/main/http_main.c  Fri Oct  5 21:06:54 2001
@@ -5323,6 +5323,7 @@
 ap_scoreboard_image =
 (scoreboard *)input_parms.child.scoreboard_heap;
 #endif
+ap_init_mutex_method(ap_default_mutex_method());
 child_main(input_parms.child.slot);
 }
 else



[PATCH] TPF http_main.c change for 1.3.21

2001-10-05 Thread David McCreedy

Here is the http_main.c change to fix the compilation error on TPF.
This change is within an "#if defined(HAVE_TPF_CORE_SERIALIZED_ACCEPT)"
block of code so it should not affect any other platforms.

Thank you,

David McCreedy



diff -ru3 before/src/main/http_main.c after/src/main/http_main.c
--- before/src/main/http_main.c Wed Oct  3 19:30:29 2001
+++ after/src/main/http_main.c  Wed Oct  3 19:28:44 2001
@@ -1074,7 +1074,9 @@
 coruc(RESOURCE_KEY);
 }
 
-#define accept_mutex_init_tpfcore(x)
+static void accept_mutex_init_tpfcore(pool *foo)
+{
+}
 
 static void accept_mutex_child_init_tpfcore(pool *p)
 {



Re: cvs commit: apache-1.3/src/main http_main.c

2001-10-04 Thread David McCreedy


That should be fine... It's one of the options I tested when I was working
up my patch.

Thanks,

-David



   

Jim Jagielski  

<[EMAIL PROTECTED]   To: [EMAIL PROTECTED]  

om>  cc:   

 Subject: Re: cvs commit: 
apache-1.3/src/main http_main.c  
10/04/2001 

06:19 AM   

Please respond 

to dev 

   

   




[EMAIL PROTECTED] wrote:
>
>   -static void accept_mutex_init_tpfcore(pool *foo)
>   -{
>   -}
>   +#define accept_mutex_init_tpfcore(x)
>
>static void accept_mutex_child_init_tpfcore(pool *p)
>{
>   @@ -1100,7 +1098,7 @@
>
>accept_mutex_methods_s accept_mutex_tpfcore_s = {
>accept_mutex_child_init_tpfcore,
>   -accept_mutex_init_tpfcore,
>   +NULL,
>accept_mutex_on_tpfcore,
>accept_mutex_off_tpfcore,
>"tpfcore"
>

Ideally, what I should have done in the 1st place is:

   #define accept_mutex_foo_bar NULL

for those nop's that way we would have avoided the above, and all the
structures would be semi-consistant, rather than a mix of real
functions and NULLs... I never documented that those mutex functions that
were null defines mapped to NULL entries in the struct... Worth holding
off 1.3.21 for this??

--
===
   Jim Jagielski   [|]   [EMAIL PROTECTED]   [|]   http://www.jaguNET.com/
  "A society that will trade a little liberty for a little order
   will lose both and deserve neither"







Re: Tagging 1.3.21 now

2001-10-04 Thread David McCreedy


Stupid question... where do I pull APACHE_1_3_21 from?

-David



   

"Bill  

Stoddard"To: <[EMAIL PROTECTED]>

   Subject: Re: Tagging 1.3.21 now   

   

10/04/2001 

07:47 AM   

Please respond 

to dev 

   

   




Tagged. Please test APACHE_1_3_21 tag. Plan to roll the tarball in 24
hours.

Bill

> Hold on commits.
>
> Bill,
> Let's save the usertrack patch for 1.3.22. I did a bit of
testing/compiling last night
and
> I would prefer not to redo that work.
>
>
> Bill
>








[PATCH (again)] TPF http_main.c change for 1.3.21

2001-10-03 Thread David McCreedy

Here is the http_main.c change to fix the compilation error on TPF.
(I omitted the actual patch on my first note.)
It's change is within an "#if defined(HAVE_TPF_CORE_SERIALIZED_ACCEPT)"
block of code so it should not affect any other platforms.

Thank you,

David McCreedy



diff -ru3 before/src/main/http_main.c after/src/main/http_main.c
--- before/src/main/http_main.c Wed Oct  3 19:30:29 2001
+++ after/src/main/http_main.c  Wed Oct  3 19:28:44 2001
@@ -1074,7 +1074,9 @@
 coruc(RESOURCE_KEY);
 }
 
-#define accept_mutex_init_tpfcore(x)
+static void accept_mutex_init_tpfcore(pool *foo)
+{
+}
 
 static void accept_mutex_child_init_tpfcore(pool *p)
 {



[PATCH] TPF http_main.c change for 1.3.21

2001-10-03 Thread David McCreedy

Here is the http_main.c change to fix the compilation error on TPF.
It's change is within an "#if defined(HAVE_TPF_CORE_SERIALIZED_ACCEPT)"
block of code so it should not affect any other platforms.

Thank you,

David McCreedy



Re: 1.3 src/Configure

2001-10-03 Thread David McCreedy


Yes... src/Configure is used on TPF.
And it still works.

-David



   

Rodent of  

Unusual Size To: Apache Developers 
<[EMAIL PROTECTED]>  
   Subject: 1.3 src/Configure

   

10/03/2001 

05:53 PM   

Please respond 

to dev 

   

   




I know I was one of the last holdouts that used the old
src/Configure method, before being converted to APACI.
Which suddenly makes me wonder.. is there *anyone* that
still uses src/Configure?  Does anyone know if it still
works? :-)
--
#ken   P-)}

Ken Coar, Sanagendamgagwedweinini  http://Golux.Com/coar/
Author, developer, opinionist  http://Apache-Server.Com/

"All right everyone!  Step away from the glowing hamburger!"







RE: Apache 1.3.21 tag this evening....

2001-10-03 Thread David McCreedy


I'm hitting a fatal compilation error on TPF with some "accept mutex" code
what was added.
I was unaware of these changes but believe it was part of the
"make-accept-mutex-method-runtime patch".
(I didn't realize the changes affected TPF-specific code until today.)

I think I have a fix but won't be able to test it for several hours (7pm
Eastern Time).
Can the tag wait until I've tested and submitted this fix?

-David





[PATCH] new readme and install pages for TPF

2001-09-11 Thread David McCreedy

Attached are the updated install-tpf.html and readme-tpf.html pages.
Due to the number of updates, and since they're just documents, I've
included the entire files for a replacement versus a patch.
(But I will produce a diff file if needed.)

It would be nice to have these updated in 1.3.21's apache/htdocs/manual
directory as well as at http://httpd.apache.org/docs/ once 1.3.21 goes out.

Thank you,

David McCreedy

(See attached file: readme-tpf.html)(See attached file: install-tpf.html)

Title: The Apache TPF Port






Overview of the Apache TPF Port



[ Configuration
Files  | What's
Available    | CGI Scripts 
 | Options 
 | Porting Notes 
]


This version of Apache includes changes allowing it to run on
IBM's EBCDIC-based TPF
(Transaction Processing Facility) operating system.
Unless otherwise noted TPF version 4.1 PUT09 is required. 

Refer to install-tpf.html for step-by-step installation
instructions. 

This port builds upon the EBCDIC changes
previously made to Apache. 



Apache Configuration Files


The distributed configuration files (httpd.conf-dist and
mime.types, both located in the conf subdirectory) work on TPF.
Performance considerations may dictate setting KeepAlive to "Off"
(the default is "On") or lowering the Timeout value from the
default 300 seconds (5 minutes) in order to reduce the number of
active ECBs on your system.
 


What's Available in this Version


The Apache organization provides online documentation describing
the various modules and components of the server. 

Components/modules tested on TPF:


alloc.c 

ap_base64.c 

ap_checkpass.c 

ap_cpystrn.c 

ap_ebcdic.c 

ap_fnmatch.c 

ap_md5c.c 

ap_sha1.c 

ap_signal.c 

ap_slack.c 

ap_snprintf.c 

buff.c 

buildmark.c 

gen_test.char.c 

gen_uri_delims.c 

htpasswd.c (requires PUT10) 

http_config.c 

http_core.c 

http_log.c 

http_main.c 

http_protocol.c 

http_request.c 

http_vhost.c 

logresolve.c (requires PUT10) 

mod_access.c (Use of mod_access directives
"allow from" &
"deny from" with host
names (verses ip addresses)
requires PUT10) 

mod_actions.c 

mod_alias.c 

mod_asis.c 

mod_auth.c 

mod_auth_anon.c 

mod_autoindex.c 

mod_cern_meta.c 

mod_cgi.c (requires
PUT10) 

mod_digest.c 

mod_dir.c 

mod_env.c 

mod_example.c 

mod_expires.c 

mod_headers.c 

mod_imap.c 

mod_include.c (CGI execution
requires TPF version 4.1 PUT10) 

mod_info.c 

mod_log_agent.c 

mod_log_config.c 

mod_log_referer.c 

mod_mime.c 

mod_mime_magic.c 

mod_negotiation.c 


mod_put.c (third party
module) 

mod_proxy.c 

mod_setenvif.c 

mod_speling.c 

mod_status.c 

mod_tpf_shm_static.c (third party module,
requires PUT10) 

mod_unique_id.c (requires
PUT10) 

mod_userdir.c 

mod_usertrack.c 

os.c 

os-inline.c 

proxy_cache.c 

proxy_connect.c 

proxy_ftp.c 

proxy_http.c 

proxy_util.c 

regular expression parser 

regular expression test tool (requires
PUT10) 

rfc1413.c 

rotatelogs.c (requires
PUT10) 

util.c 

util_date.c 

util_md5.c 

util_script.c 

util_uri.c 


Components/modules not yet supported on TPF:


htdigest.c 

lib/expat-lite 

mod_auth_digest.c 

mod_rewrite.c 

mod_vhost_alias.c 


Components/modules that don't apply or that probably won't ever
be available on TPF:


ab.c 

ap_getpass.c 

mod_auth_db.c 

mod_auth_dbm.c 

mod_auth_db.module 

mod_mmap_static.c 

mod_so.c 

suexec.c 




How to Use CGI Scripts


The following is a very simple example of a CGI script ("Hello World")
and the necessary steps to run it.
Refer to the 
mod_cgi module for additional information.
   
Add necessary directives to httpd.conf:

Example:
 
ScriptLog logs/script_log
ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/

A request for http://myserver/cgi-bin/filename.cgi would cause
the server to run the script /usr/local/apache/cgi-bin/filename.cgi


Create the CGI script:

For this example QZZ1 is the name of the TPF program that will
be executed by the CGI script.
The directory path must match what is in the httpd.conf file for
ScriptAlias directive.

zfile echo "#!QZZ1" > /usr/local/apache/cgi-bin/filename.cgi
zfile cat /usr/local/apache/cgi-bin/filename.cgi
(this should display #!QZZ1)



Mark the script as executable:

zfile chmod 755 /usr/local/apache/cgi-bin/filename.cgi


Create, load, and activate a loadset containing the CGI program (QZZ1xx):
 

/** QZZ1-- simple "Hello world" program to demonstrate basic CGI output  **/
#include 
void main() {

 /**   Print the CGI response header, required for all HTML output.**/
 /**   No