Re: The use of CORE_PRIVATE

2005-02-13 Thread Bojan Smojver
On Sun, 2005-02-13 at 16:28 +1100, Bojan Smojver wrote:

 I'm not sure why constructing a request would be so unusual. Application
 servers running inside Apache may need to do this stuff all the time.

Just a little clarification here. The text here:

http://httpd.apache.org/docs-2.0/developer/request.html#processing

Does mention generated requests in relation to modules:

All requests pass through ap_process_request_internal() in request.c,
including subrequests and redirects. If a module doesn't pass generated
requests through this code, the author is cautioned that the module may
be broken by future changes to request processing.

Therefore, I was under the impression that this is a normal thing for
modules to do (i.e. generate requests). Unfortunately, not all functions
required to do so fall under the public API.

Maybe I should approach my problem differently. Maybe I should be
writing a patch for yet non-existent function ap_generate_request(),
along the lines of that mod_perl function. Then this new function
becomes public and CORE_PRIVATE remains truly private... And, all
module writers can rely on this function for creation of vanilla
requests.

In any event, I think separating everything under CORE_PRIVATE into
separate, non-installable headers is the right thing to do. Would
patches along those lines be welcome?

-- 
Bojan



Re: [PATCH] Win32: install service in rewrite args rather than post_config?

2005-02-13 Thread Jeff White
From: Bill Stoddard 

Bill R correctly identified the reason 
I'd like to see the service install occur 
before post-config. 
And if there is an error here
do what?
Also what if one has never read
the source code, before post-config
means nothing to one who may
know the answer to a simple question.
If the last thing your installer does is 
install the service, the service install 
will fail if there is a problem 
with httpd.conf. 
Yes and you want to do what here?
The most likely problem is that some 
other service is using port 80 (or port 
443, or whatever port you want httpd 
to listen on).

Yes and you want to do what here?
You still have not said
A  This is happening to me (users)
 Port already used
 
B  And if A 
 I (users) want to do this
Tell Users - never install
Tell Users - after Install

 Fix the problem, try again?
C  All A and B but for a developer
Tell users/developer what and when,
and then do what?
So once again, what is the real
problem (user or developer) and 
what to you want or wish to do 
about it?

Jeff



Apache 2.0.53/Win32/.msi+.exe installers

2005-02-13 Thread William A. Rowe, Jr.
Dearest testing community;

at http://httpd.apache.org/dev/dist/ you will find new Win32
installers for the apache_2.0.53 release, and the new Win32
source tarball (buildable from command line on VC5+ with
nmake -f makefile.win).

Please validate and report, before I push this out live.
Mea Culpa this is running behind, we have both the svn change
which I had to contend with, an incomplete apr-iconv release
which had to be completed, and this is the *first* release
of 2.0.x using the InstallShield X product (previous releases
were created with InstallShield for Windows Installer.)

As with most 'automatic conversions' not everything that is
converted magically becomes magically correct.  Although it
seems this installer is stable, wider testing is needed due
to the changeover.

Please cc: me in all replies to avoid moderation.  Thanks!

Bill




Re: [PATCH] Win32: install service in rewrite args rather than post_config?

2005-02-13 Thread William A. Rowe, Jr.
At 06:00 PM 2/12/2005, Bill Stoddard wrote:

Bill R correctly identified the reason I'd like to see 
the service install occur before post-config. If the last 
thing your installer does is install the service, the service 
install will fail if there is a problem with httpd.conf. The 
most likely problem is that some other service is using port 80 
(or port 443, or whatever port you want httpd to listen on).

That and other issues.  I have a couple theories on this...

* Solve the port 80 (443...) problem simply by testing those
  ports in real_features.dll, a stub which our .msi invokes
  to test other real-world issues, today.  Add the choice of
  ports (default: 80) and run the user in a circle till they
  choose a valid port.

* If this is possible; Pipe the service install output to 
  a log file.  Present the user the results of that log file
  upon exit.  Hopefully, this provides some feedback of why
  it did not install.  [This is not as trivial in .msi as
  it might sound.]

There are a few other changes I'm working on to the installer
which will create other failure cases, such as running the
service as another user.  We can't safely move around a p/w
for that account without the possibility of it being snooped.
So if run-as-user is selected, we won't be starting the 
installed service, but taking them to the service control panel 
after creating that service for them to enter the p/w.

We also need to axe (force to shutdown) the ApacheMonitor.exe
taskbar applet on uninstall/upgrade/etc.  Working on that.

Finally the ApacheMonitor needs an extra option to dredge out
the Application Event MMC view, just like it can bring up the
Services view, or it's own expanded view.

Not to mention the green light/red light indicator is broken
in the taskbar.  My theory is, if any service set to start
'Automatic' is not started, the light should never be green.

Oh, and finally, we really shouldn't invert the icon color
next to the service name in the quick view when it has mouse
focus.  The service name can be inverted, but the inversion
changes redgreen lol.

All this and more as I have cycles, help is always welcome.

Bill




Re: The use of CORE_PRIVATE

2005-02-13 Thread Bojan Smojver
Quoting Bojan Smojver [EMAIL PROTECTED]:

 If canned sub-request functions are used, custom
 sub-request functionality is difficult to achieve without not so nice
 workarounds.

The above comment is in relation to server/request.c file and functions defined
there. There is a static function make_sub_request(), which is obviously not
visible from the public API. In order to get to that function to contruct a
request, one has to call either of ap_sub_req_method_uri(),
ap_sub_req_lookup_dirent() or ap_sub_req_lookup_file(). However, all of these
are canned functions that already call either ap_run_quick_handler() or
ap_process_request_internal(), before giving the module's author a chance to
customise the request further (e.g. add more headers and such), before calling
any hooks.

If somehow make_sub_request() could be a public function ap_make_sub_request()
or something similar, all my issues would go away...

--
Bojan


Re: Apache 2.0.53/Win32/.msi+.exe installers

2005-02-13 Thread Randy Kobes
On Sun, 13 Feb 2005, William A. Rowe, Jr. wrote:

 Dearest testing community;

 at http://httpd.apache.org/dev/dist/ you will find new Win32
 installers for the apache_2.0.53 release, and the new Win32
 source tarball (buildable from command line on VC5+ with
 nmake -f makefile.win).

 Please validate and report, before I push this out live.
 Mea Culpa this is running behind, we have both the svn change
 which I had to contend with, an incomplete apr-iconv release
 which had to be completed, and this is the *first* release
 of 2.0.x using the InstallShield X product (previous releases
 were created with InstallShield for Windows Installer.)

 As with most 'automatic conversions' not everything that is
 converted magically becomes magically correct.  Although it
 seems this installer is stable, wider testing is needed due
 to the changeover.

 Please cc: me in all replies to avoid moderation.  Thanks!

 Bill

For me, both the .msi installer and the build from the
sources (using VC++ 6) worked fine.

-- 
best regards,
randy kobes