Free Windows compilers

2005-11-07 Thread Jeff White


quote

Visual Web Developer 2005 Express Edition

Visual Basic 2005 Express Edition

Visual C# 2005 Express Edition

Visual C++ 2005 Express Edition

Visual J# 2005 Express Edition

SQL Server 2005 Express Edition

Price:
Visual Studio Express Editions -
Free for 1 year

Operating System

Windows 2000 Service Pack 4

Windows XP Service Pack 2

Windows Server 2003 Service Pack 1

Windows x64 editions

Windows Vista

/quote

Visual Studio Express
http://msdn.microsoft.com/vstudio/express/

Jeff




Free Windows compilers

2005-11-07 Thread Jeff White


quote

Visual Web Developer 2005 Express Edition

Visual Basic 2005 Express Edition

Visual C# 2005 Express Edition

Visual C++ 2005 Express Edition

Visual J# 2005 Express Edition

SQL Server 2005 Express Edition

Price:
Visual Studio Express Editions -
Free for 1 year

Operating System

Windows 2000 Service Pack 4

Windows XP Service Pack 2

Windows Server 2003 Service Pack 1

Windows x64 editions

Windows Vista

/quote

Visual Studio Express
http://msdn.microsoft.com/vstudio/express/

Jeff




Re: mpm_winnt incompatible and broken behavior on restart

2005-10-13 Thread Jeff White


Ivan Zhakov wrote:


We have Apache/Subversion server
under Windows Server 2003.



From Bill Stoddard



I think the few Win32 developers
here (myself included) always had
this on their list of 'todo's'. The
Windows MPM needs to be enhanced
to reliably support multiple child processes
and when that's done, this will be fixed
'for free'.


Perhaps 'for free' see how IIS7
handles this or perhaps just host
the whole web server or just parts
of IIS7 within Apache or within any
other (perhaps Subversion) Windows
Vista process?

IIS 7.0 Beta:
IIS Hostable Web Core Reference
http://msdn.microsoft.com/library/en-us/IIS_70_WebExtSDK/html/d9d5406e-edef-ab14-c78a-711f70d5cda2.asp

IIS 7.0 Beta:
Internet Information Services (IIS) 7.0 SDK
http://msdn.microsoft.com/library/en-us/IIS_70_WebExtSDK/html/6c07a4d0-1bf0-45d3-8178-25df76e6740c.asp

IIS 7.0 Beta: IIS 7.0 Operations Guide (IIS 7.0 Beta 1)
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/iis7/Ops/9a90c800-3f09-4a3f-87b0-caae34076aca.mspx


Jeff




Re: Pondering strings in Apache 3.x

2005-07-20 Thread Jeff White


From: William A. Rowe, Jr. 



What else interests us within an 
'ap_string_t' header, that would help 
eliminate bugs within httpd?  A random 
trailing short following the string, in a 
'string debug' mode, to detect buffer 
overflows?  Something similar to detect 
underflows?


Open to all ideas.



What are the newer C / C++ compiler
standard Safer C Library Functions?

Jeff





Re: mod_mbox: js speed and mbox size

2005-07-20 Thread Jeff White


From: Bill Stoddard


Maxime Petazzoni wrote:



As I already said, the AJAX browser
in mod_mbox relies on a hidden
XmlHttpRequest and on Javascript
processing of the replied XML
document to generate the message list.



Snip


Of course, the paging system would
solve this problem, too. In addition to this,
my Javascript code may not be the most
optimized we could find.

- Concerning compatibility problems, the
whole thing does not work nor with IE,
neither with Opera, although both of these
browsers does not comply against any
javascript error.

  Any JS compatibility expert in the house ?


Heh, you wish :0

This is a cool project, glad it's on the httpd
dev list.

Bill



Hasn't someone been suggesting, 
for years now, to deaf ears at ASF,
for ASF to use the very helpful 
Windows Scripting (even XmlHttp)?   

Now ASF's developers and open source 
developers have discovered XmlHttp!  

Atlas = Ajax = asp.net 2.0 
script callbacks and more

http://blogs.msdn.com/nickmalik/archive/2005/07/08/436823.aspx

Perhaps (once again):

Learn to Script
http://www.microsoft.com/technet/scriptcenter/learnit.mspx

Jeff






Re: Reward SSL and IE

2005-06-21 Thread Jeff White


From: Akins, Brian



definitively help use with a mod_ssl
(Apache 2.0.54) and IE issue.


As posted all the time on
the Apache users list:

MSN Search
http://search.msn.com/results.aspx?q=fiddler+http
http://search.msn.com/results.aspx?q=%27IEBlog+A+HTTP+Detective+Story%27

What is Fiddler?
http://weblogs.asp.net/ssadasivuni/archive/2005/06/08/410834.aspx

Is one's latest web server compiled with
the Microsoft designed (for any OS)
Safer CRT libraries?

Jeff




Re: DO NOT REPLY [Bug 33944] - 'X-AspNet-Version' Header Should Be Sent for Compatibility With Visual Studio

2005-04-08 Thread Jeff White

--- Additional Comments From [EMAIL PROTECTED]  2005-04-08
19:20 ---
(In reply to comment #4)
It appears that you are right - that the ASP.NET module with .NET
1.1 does
set 'X-AspNet-Version'.  I suspect from my early tests that .NET
1.0 did not.
We can still handle this, but should ensure that X-AspNet-Version
specifically
does not merge headers, but instead overwrites the value.  Some,
like Cookie,
must merge.  Many other headers should not.
What I can't understand is what is responsible for sending the
header. With NO
modifications to the httpd.conf or to the asp.net module itself the
'X-AspNet-Version' header is being sent under Apache on my machine
when handling
Asp.Net pages.
As I stated initially this was not the case before.
So what I'm trying to get across is this may not be a bug or feature
limitation
at all or if it is it is only present under certain circumstances
which I can't
figure out a cause of.
So to lay out my experience up to this point:
1. ASP.Net on Apache works just like Asp.Net on IIS except VS.Net
thinks that
projects opened on Apache server are ASP 1.0.
2. Realize the only difference in responses is 'X-AspNet-Version'
header is
missing from Apache response.
3. Modify httpd.conf to send 'X-AspNet-Version: 1.1.4322'
4. VS works as it should.
5. File this bug
6. Check headers later and notice 'X-AspNet-Version:
1.1.4322,1.1.4322'
7. Remove statement in httpd.conf.
8. Header is sent but WITHOUT duplicate version numbers
9. Everything still works fine with no modifications
New in Net 1.1
ASP.NET Side-By-Side (IIS uses this setting)
C:\Documents and Settings\UserNamefindstr /i /s x-aspnet
c:\windows\microsoft.net machine.config
c:\windows\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config:
enableVersionHeader=[true|false] - outputs X-AspNet-Version header
with each request
C:\Documents and Settings\UserNamefindstr /i /s enableVersionHeader
c:\windows\microsoft.net machine.config
c:\windows\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config:
enableVersionHeader=[true|false] - outputs X-AspNet-Version header
with each request
c:\windows\Microsoft.NET\Framework\v1.1.4322CONFIG\machine.config:
enableVersionHeader=true
Jeff



Re: DO NOT REPLY [Bug 33944] - 'X-AspNet-Version' Header Should Be Sent for Compatibility With Visual Studio

2005-04-08 Thread Jeff White
From: Jeff White 

New in Net 1.1
ASP.NET Side-By-Side (IIS uses this setting)
I meant to say Visual Studio 2003
uses this to decide what version of
the .NET Framework to use too.
Jeff



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



Re: Silly Question

2005-02-12 Thread Jeff White
From: William A. Rowe, Jr. 

FYI post
You should consider converting 
your .asp pages to .aspx (which
is not entirely trivial but not that 
difficult either) 
Good advice
since ASP support 
is going to slowly dwindle to 
nothingness, even in IIS.

May be not in our lifetimes  :)
quote
Snip
A unified HTTP pipeline for native
and managed applications alike. 
You'll be able to use forms-based 
authentication for classic ASP pages.

/quote
A First Look at IIS 7.0
http://www.ftponline.com/reports/vslivesf/2005/ruest/
What happen to correcting 
the Protocol comments?

Jeff



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

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

It would, but is it worth the 
extra code to enable switching 
between both behaviours? 
Got some code to review?

Bill
What's the real problem
Bill (Stoddard) wants to over
come or what does he really
want to happen?
Got some example ideas?
Jeff



Re: 2.1.3 mod_disk_cache partial responses

2005-02-01 Thread Jeff White
From: dean
I can capture traffic using tcpdump,
but there is so much mess (arp,
dns, acks etc), is there a filter to clean
it up to only show the relevant packets.
B.T.W. Im running the proxy on Mandrake 9.1.
and testing it from  winxp Firefox  IE6.
Perhaps
quote
Learn how to use the Microsoft
Fiddler HTTP debugger when
developing and testing Web
applications and clients.
Have you ever found yourself
wondering how Microsoft Internet
Explorer interacts with your Web
application? Have you encountered
a strange performance bottleneck
that you can't track down? Are you
curious about which cookies are being
sent, or what downloaded content is
marked as cacheable?
Microsoft Fiddler can help you answer
these questions, and many more. Fiddler
is an HTTP debugging proxy that logs
all HTTP traffic between your computer
and the Internet. Fiddler enables you
to inspect all HTTP traffic, set
breakpoints, and fiddle with incoming
or outgoing data. Fiddler is much simpler
to use than NetMon or other network
debuggers because it exposes only HTTP
traffic and does so in a user-friendly
format.
Fiddler includes a simple but powerful
Microsoft JScript .NET event-based scripting
subsystem flexible enough to support a
broad array of HTTP debugging tasks.
Written in C# on the Microsoft .NET
Framework, Fiddler is available as an
unsupported PowerToy for Internet Explorer.
/quote
Fiddler PowerToy - Part 1: HTTP Debugging
http://msdn.microsoft.com/library/en-us/dnwebgen/html/IE_IntroFiddler.asp
Jeff



Do you like the CLI standards?

2005-01-08 Thread Jeff White
January 6, 2005
quote
Snip
I am a member of ECMA, an
international standards body,
where I am chair of the
committee responsible for
standardizing the CLI
(Common Language Infrastructure)
and C#.
Snip
So here is my initial question
to ponder:
What is your feeling about the
standardization of the CLI
within ECMA and ISO?
Snip
What are your thoughts here?
Is standardization a good thing?
Bad thing? Doesn't matter?
We are currently in the midst of
developing edition 3 of the CLI
specification and hopefully should
be complete soon.
/quote
Joel Marcey
http://spaces.msn.com/members/jimarcey/
Jeff



Re: svn commit: r123867 - /httpd/mod_aspdotnet/trunk/Apache.Web/WorkerRequest.h

2005-01-08 Thread Jeff White

From: [EMAIL PROTECTED]
 Handle GetProtocol correctly
(and consistant with ASP.NET conventions.)
A very, very good idea!   :)
virtual String* GetProtocol(void)
quote
When overridden in a derived
class, returns the HTTP protocol
(HTTP or HTTPS).
/quote
.NET Framework Class Library
HttpWorkerRequest.GetProtocol Method
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWebHttpWorkerRequestClassGetProtocolTopic.asp
{
-// TODO: HTTPS when appropriate
+#if MODULE_MAGIC_NUMBER_MAJOR = 20050101
+// Fixes in httpd-2.1-dev
+const char __nogc *method = ap_http_scheme(rr);
+#else
+const char __nogc *method = ap_http_method(rr);
+#endif
Seems to me, that some other developers
are the ones who cannot make up their
minds, as to just what all this really
means.   :)
+String *scheme(method);
Really confusing me now, and
using only three words.  :)
+
+// For some silly reason, the ASP.NET team thought that
schemes
+// are upper case entities;
I disagree with your reading of
most of the .NET documentation.
Protocol when used in most tech
papers today, is usually always
upper cased.
quote
In information technology,
a protocol (pronounced PROH-tuh-cahl,
from the Greek protocollon,
which was a leaf of paper
glued to a manuscript volume,
describing its contents) is
the special set of rules that
end points in a telecommunication
connection use when they communicate.
/quote
protocol
http://searchnetworking.techtarget.com/sDefinition/0,,sid7_gci212839,00.html
Notice in the above link
that the usage for all
named protocols
is always upper cased.
Also see the
Protocol Directory
Index of WAN, LAN, and
ATM Protocols
http://www.protocols.com/pbook/index.htm

+scheme = scheme-ToUpper(nullCulture);
#ifdef _DEBUG
-LogRequestError(LGetProtocol: returns HTTP,
APLOG_DEBUG, 0);
+String *schemeMsg = String::Concat(LGetProtocol:
returns , scheme);
+LogRequestError(schemeMsg, APLOG_DEBUG, 0);
#endif
-return new String(LHTTP);
+return scheme;
}
quote
A string containing the
scheme of the specified URI.
/quote
.NET Framework Class Library
Uri.Scheme Property
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemUriClassSchemeTopic.asp
Now please try the sample
included with the above
link (about URI/Scheme)
but use all uppercase chars.
For example:
newUri(http://www
change to
new Uri(HTTP://www
What do you get back?
Notice the below:
quote
Provides an object representation
of a uniform resource identifier
(URI) and easy access to the parts
of the URI.
SNIP
To put the URI in canonical form,
the Uri constructor performs the
following steps.
Converts the URI scheme to lower case.
Converts the host name to lower case.
/quote
.NET Framework Class Library
Uri Class
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemUriClassTopic.asp
I believe your source code comment
quote
+
+// For some silly reason, the ASP.NET team thought that
schemes
+// are upper case entities;
/quote
should be removed.
If you disagree with me, please
provide some sort of other
information (.NET docs, links,
and etc.) with your reply.
Jeff



Re: How to debug HTTP Server in Windows with VC6.0

2004-12-30 Thread Jeff White
From: nian li 

I want to know how to debug HTTP 
Server in Windows with VC6.0. 
There is another way too.
Windows Scripting, the best tool 
ever for Apache on Windows usage 
for both developers and admins.  :)

quote
You can get a crash dump 
on the production box and 
then take it back to a dev 
box where you have symbols 
to find out the cause of the crash.

quote from docs
Snip
ADPlus is a new tool from
Microsoft Product Support
Services (PSS) that can
troubleshoot any process or
application that stops responding
(hangs) or fails (crashes).
Snip
Frequently, you can use ADPlus
(ADPlus.vbs) as a replacement
tool for the Microsoft Internet
Information Server (IIS) Exception
Monitor (6.1/7.1) and User Mode
Process Dump. These are two separate
tools that PSS frequently uses to
isolate what causes a process to
stop responding (hang) or quit
unexpectedy (crash) in a Microsoft
Windows DNA environment.
Snip
ADPlus works with any user mode 
process or service such as Internet 
Information Services (IIS), Microsoft 
Transaction Server (MTS), or Microsoft 
COM+ applications.

Snip
ADPlus is console-based Microsoft 
Visual Basic script. It automates the 
Microsoft CDB debugger to produce 
memory dumps and log files that contain 
debug output from one or more processes.

/quote from docs
How To Use ADPlus to Troubleshoot Hangs and Crashes
http://support.microsoft.com/?id=286350
Thanks
Brian [MSFT]
Microsoft Developer Support
/quote
Learn more about Windows Scripting
with the language of your desire too.
Browse the script Repository 
http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx

Scripting Languages Available in the Script Center
http://www.microsoft.com/technet/scriptcenter/scripts/language.mspx
Jeff




Re: Compiling with VC++ 8 (Express beta)

2004-12-13 Thread Jeff White
From: Tonko Juricic 

Subject: Compiling with VC++ 8 (Express beta)

Isn't the loading of the CLR 
different for _any_ .NET 
version over 1.1?

Hasn't
CLSID_CorRuntimeHost 
and 
IID_ICorRuntimeHost
been replaced with
CLSID_CLRRuntimeHost
and
IID_ICLRRuntimeHost?

And aren't there many, many 
hosting options available for 
the .NET 1.2 (and up) 
Framework?

Plus aren't there major different
plain C++ programming styles 
changes for version 8 (and so on)?

No matter what the answers are,
feel free to branch the .NET 1.1 
mod_aspdotnet source code 
and carry on.   ;)

Jeff



Re: httpmodule bug

2004-11-24 Thread Jeff White
By the way using old RC1 MSI
Will look at HttpApplication state settings
between turkey cooking and eating - seems
something touchs them? (?)
Go relax Bill
Jeff
- Original Message - 
Sent: Wednesday, November 24, 2004 5:05 PM
Subject: Re: httpmodule bug


From: Yussef Alkhamrichi
Hope someone out there puts together a custom HttpModule and tries 
this out, I will continue to search if I can find this bug (sadly 
there isn't a way to hack into the config file loading of .NET).

I tried a simple Hello HttpModule and on
first try:
Server Error in '/TestHttpModules' Application.
The module 'HelloWorldModule' is already in the
application and cannot be added again
Tried remove in web.config
Line 2:  system.web
Line 3:  httpModules
Line 4:remove name=HelloWorldModule /
Line 5:  add name=HelloWorldModule
Line 6:type=HelloWorldModule, HelloWorldModule /
Parser Error Message: There is no 'HelloWorldModule' module in the 
application to remove.

Tried blocking out the whole name this time...
httpModules
!-- remove name=HelloWorldModule /
   add name=HelloWorldModule
 type=HelloWorldModule, HelloWorldModule / --
   /httpModules
System.Threading.ThreadAbortException: Thread was being aborted.
Adding a clear works
configuration
   system.web
   httpModules
!-- remove name=HelloWorldModule / --
   clear /
   add name=HelloWorldModule
 type=HelloWorldModule, HelloWorldModule /
   /httpModules
   /system.web
/configuration
Moving clear to bottom
httpModules
!-- remove name=HelloWorldModule /
clear / --
   add name=HelloWorldModule
 type=HelloWorldModule, HelloWorldModule /
clear /
   /httpModules
runs with no error but not httpmodules output either!
Seems mod_aspdotnet needs a clear first
as you said!
Jeff




Re: Short or long variable names?

2004-11-22 Thread Jeff White
From: William A. Rowe, Jr. 


One (extreme) hassle is leaving the 
httpd code legible to httpd'ers
and leaving .NET code legible to .NET'ers.

I had chosen the conventions of using 
'traditional' variable names for httpd datum, 
and 'wordy' variable names for the internals of
Apache.Web.

In Apache.Web all data is visible
In Apache even the short rr and rv really 
do mean something but what?

It wasn't a nice practice to start and  now
one can see why.
In mod_aspdotnet and all assemblies
one should use reader readable variables. 

Much easier for the old httpd'ers to read 
mod_aspdotnet with descriptive variables, 
than for .NET user usage to say what

Mod_aspdotnet  and the assemblies are 
only written once, but read over and over 
again..

There are quite a few cases where the variable name (e.g. static 
'conf' structure in the mod_aspdotnet.cpp source) is horrid and
needs to be cleaned up.

I'm almost thinking, native_xx for variable names from apache
and apr - would that improve legibility?
I'm not sure one needs native_ but
definitely not rr, rv, abc, and so on
Compare
Parameter name = rv
Type=System.Int32
Position=2
Optional=False
to
Parameter name = loglevel
Type=System.Int32
Position=1
Optional=False
By the way is there an .NET enum
for loglevel?
Jeff



Re: Short or long variable names?

2004-11-22 Thread Jeff White
From: William A. Rowe, Jr. 

let me get ahold of my life first 
I see you doing so much, what life?
More later
Jeff



Re: People still using v1.3 - finding out why

2004-11-18 Thread Jeff White
From: Graham Leggett 

 are there in the experience 
of the people on this list any 
other significant apps out there 
that are keeping people from 
deploying httpd v2.x?

Because there can only be one
number one! 

ASF told them over and over again 
that it is number one. (rightly or not)
The users followed ASF words

Because there can only be one
number one! 

The users believe, if it wasn't number
one, ASF would have pulled it.
Because there can only be one
number one! 

ASF has not!
Because there can only be one
number one! 

Good luck,
Jeff



Windows XP SP2 Loopback

2004-09-18 Thread Jeff White
As I posted a while ago in the
users list, Windows XP SP2
loopback has problems
Try the below:
quote
This update helps resolve an issue
on computers running Windows XP
Service Pack 2. Programs that connect
to IP addresses in the loopback address
range may not work as expected
/quote
Update for Windows XP Service Pack 2 (KB884020)
http://www.microsoft.com/downloads/details.aspx?familyid=17d997d2-5034-4bbb-b74d-ad8430a1f7c8displaylang=enHash=SW3SH7C
Jeff






Re: Windows HTTP API

2004-07-08 Thread Jeff White



 In .NET Framework (soon out):

 HttpListener class  (uses HTTP.SYS)
 Defined as a simple web server


In below article, jump to:

quote

Web Services Anywhere

There are some interesting scenarios
that require exposing a Web service
from an application that is not running
in IIS; for example, running a Windows
Forms desktop application that receives
callbacks from a remote server. Since
version 1.0 of the .NET Framework, it
has been possible to host ASP.NET
(including ASMX Web services) in any
process, such as a console or Windows
Forms application. Now HttpListener
makes it easier to do this.

Snip

The figure below shows at a high level
how a managed application uses
HttpListener to host ASMX services.

/quote

New Features for Web Service Developers
in Beta 1 of the .NET Framework 2.0
http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnvs05/html/wsnetfx2.asp

.NET Framework 2.0 Beta 1
http://www.microsoft.com/downloads/details.aspx?familyid=F1232C37-0FEE-4AA6-AA89-B6DCEFC0873Bdisplaylang=en

.NET Framework 2.0 SDK Beta 1
http://www.microsoft.com/downloads/details.aspx?FamilyID=916ec067-8bdc-4737-9430-6cec9667655cDisplayLang=en


Jeff







Re: Windows HTTP API

2004-06-28 Thread Jeff White

Before one moves on to what I was
told was the real topic of this thread...

 Kornl Pl
 however this topic is about using
 HTTP API in Apache HTTPD.

First let's clear up some ideas. :)

Forgetting about logging for now.

 WRowe
 I thought the entire point was that it

It being the HTTP.SYS service...

 was smart enough to act like a
 squid-like low level in-kernel cache?
 If not I'm disappointed :)


Yes I believe it is...

So does everyone agree with the below:

That once a file is HTTP.SYS cached

(for now we do not care how or why
only that the file is cached),

that once a file is cached in the service
cache of HTTP.SYS, from there on until
the cached file has reached it's set timed
out period or the HTTP.SYS is stopped,
then only the HTTP.SYS service will handle
the file and send the file, as a cached response

(no other process is needed, whether that
process be IIS or Apache or a .NET Framework
http aware process)?

Agreed?

Now clearing up other ideas:

 Kornl Pl
 It's a reply to a quotation that said HTTP API
 is not a good choice for a high demand place
 as it lacks a lot of feauters. But the author of this
 quotation thought that HTTP API is a web server.

And

 Kornl Pl
 HTTP API is not a web server.

Correctusually there is another http
aware process involved, but a little FYI:

Windows now means .NET Framework...
(yes old Windows http ways are still available
Winsock and all, but newer http ways are
HTTP.SYS and .NET Framework)

Yes both old and new can be used together
if one does the work.

Anyway this is why I say, with the newer
Windows ways, (.NET Framework usage),
it can be used now (beta) and soon (I hope
with the final Windows XP SP2 release, but
who knows) as a simple web server.

(via .NET Framework)

When the .NET Framework class was
written, the class includes the code
from HTTP.SYS, making HTTP.SYS a
.NET Framework callable web server
or a HTTP.SYS function caller for another
http aware process. Read on

In .NET Framework (soon out):

HttpListener class  (uses HTTP.SYS)
Defined as a simple web server

One that can self-host or be hosted
by another server (http aware process)...

Windows XP SP2 and higher...

This is what I meant by stand alone
( yes for a quick and dumb web server)
but, HTTP API by itself ( using C/C++ or
PInvoke with .NET Framework without
HttpListener) always needs another process,
unless serving cached files (put there
by another http aware process).

So right now I would not use .NET Framework's
HttpListener (a HTTP.SYS web server), for a
high demand business without adding other
classes but yes HTTP.SYS is or is not (user's
choice) in the .NET Framework, a web server
and maybe great for those quick http actions,
for say grandpa's pictures and other such quick
business needs.

(Yes under the covers HTTP.SYS is a separate
service combined with others actions to make
it a simple .NET Framework web server)

So that was the stand alone web server
thought via .NET Framework... Let it go
if you must, but be aware of it.

There is a lot going on in .NET Framework,
even with (and for) Apache usage, but that
is for another thread...

Jeff




Re: Windows HTTP API

2004-06-22 Thread Jeff White

From: Kornl Pl

   I have to say you are wrong.

 
  Okay I often am but where?   :)


 I've quoted the lines in your are wrong in my opinion.:)
 Summarized:
 only static files,

I said:
HTTP.SYS is for quick static responses

quote

The HTTP API provides developers with a
low-level interface to the server side of the
HTTP functionality as defined in RFC 2616.
The API allows the application to receive
HTTP requests directed to URLs of interest
to it, and send HTTP responses. For sending
dynamic responses, however, the ISAPI or
ASP.NET interfaces are a better choice than
the HTTP API.

/quote

About HTTP API
http://msdn.microsoft.com/library/en-us/http/http/about_http_api.asp

Kernel mode HTTP.SYS usually receives
requests and routes them to another user
mode process, unless there is a response
stored in the kernel mode HTTP.SYS cache.

An example of  HTTP.SYS using another
process and caching:

quote

Does a page get cached or not?

IIS 6.0 has a great response caching
feature implemented in the kernel-mode
http.sys driver.  Depending on the app
and the load characteristics, it can greatly
improve application performance for both
static and dynamic pages by caching html
responses in kernel mode.  The performance
improvement comes primarily from eliminating
the transitions from kernel to user mode
typically needed to service a request.

Response caching works with static files,
as well as with dynamic content in ASP and
ASP.NET.  For ASP.NET, you enable caching
through the configuration directive:

%@ OutputCache Location=Server %

But how does http.sys determine whether
to cache a page?  One way would be to cache
each page requested in FIFO order.  So once
the cache fills up, then the oldest cache entry
would be the first to drop off the list.  However,
it's common for a page to be requested only
infrequently, so this would fill the cache
unnecessarily.

Instead, pages are cached only if they are
requested twice within a configurable activity
period, whose default is 10 seconds.

For example, if you have an application
that serves stock quotes (this is essentially
what http://quotes.nasdaq.com, which runs
IIS 6 does) and you're commonly getting
requests for quotes for MSFT.

Once cached, the response is returned
directly from the kernel-mode cache.  But
what about the price of the stock, which
changes?  The attribute 'Duration' allows
you to indicate how long to cache a
response.  So if you set Duration=10, you're
keeping the response in the cache for
10 seconds.

/quote

 only small server,

Not a real new big
   business web server. But may be a server
   for the one man shop

Yes HTTP.SYS may be fine as a
stand alone home office web
server (via the newer .NET
Framework class) but for a high
demand place?

HTTP.SYS needs more...
HTTP.SYS is a device
(a very helpful device)

quote

The HTTP API does not support the
following functionality:

The HTTP API does not perform client or
server authentication based on the contents
of the HTTP request headers. Any authentication
that is required must be implemented by the
application.

The HTTP API does not support
WOW64 on 64-bit machines.

The HTTP API does not support
logging of HTTP requests and responses.

The HTTP API does not chunk outgoing
HTTP responses. The application must
implement response chunking if it is needed.

/quote

HTTP API Features
http://msdn.microsoft.com/library/en-us/http/http/http_api_features.asp

 improved security

   and may be for security
   of open ports, etc. :)

What is the HTTP.SYS device's
default binding in Windows XP SP2?

What is the Windows Firewall default
in Windows XP SP2?

Developers (and users) need to be
aware of both of these new controllers
as Windows system parts.

Perhaps with programs that use
the new APIs from the Firewall
and the HTTP.SYS device.

Or perhaps the user will need to use
the config tools for these devices
(or a program with rights to use these
config tools).

 If all port is open
 (it's a really huge number of
 open ports, but why not:))

Please read why not to have
open ports elsewhere.  :)

Jeff




Re: Windows HTTP API

2004-06-21 Thread Jeff White

From: Kornl Pl

  To successfully allow applications to
  use the same port on different IP
  addresses, you must use a new utility,
  Httpcfg.exe.


 I don't agree with MUST

I believe, in this one article (for 98
percent of the non coding admins) the
word must is correct for the new way
to control Windows ports.

This article does not mean for everyone
this is the only way.

Always ask who is this article written for?

Then add your own know how  in order
to use the article information or not.

 as it uses
 HTTP API and it's source code is
 available as well.
 See
http://msdn.microsoft.com/library/en-us/http/http/httpcfg_exe.asp


Doc words are a pain but one
may need HTTPcfg.exe

For those current processes that
do not know about this HTTP device,
(and non coders), in order to may be
work with HTTP.SYS.

This doesn't mean it will always work,
that is why some may need to rewrite
their code.  :)

  So I guess the real question is has one
  tried Apache and IIS with Windows Server
  2003 or Windows XP SP2 via HTTP.SYS?


 Windows XP SP2 includes HTTP API
 however IIS 5.1 doesn't use it (uses
 Winsock) so this option doesn't exist,

Not in the same way as

 but on Windows Server 2003 with IIS
 6.0 it's a real opportunity.

But Apache and IIS 5.1 do not talk together
but possibly may share together a device on
the non server OS of Windows XP SP2 RC2.

Remember when one works with Apache
and Microsoft docs, one must _always_
read between the lines and work differently
(with the docs) in order to do stuff in a
different way.  Always take each doc for it's
slant on what it is talking about. There may
be other articles that suggest other ways.   :)

Jeff




Re: Windows HTTP API

2004-06-21 Thread Jeff White

From: William A. Rowe, Jr.

 Thanks for the interesting references and citations.

Yes but for anyone with the equipment
to test this stuff, the real interesting stuff
is just beginning in the next few months 
or years.

Being a retired old man without equipment,
(but still doing odd jobs) others will need to 
do the testing.  :)

 Apache HTTP server works at a lower level,
 below the layer exposed by this http.dll API.

Remember this:

HTTP.SYS is for quick static responses. 

They may be cached html files sent via
the Windows kernel.  Not a real new big 
business web server. But may be a server
for the one man shop and may be for security 
of open ports, etc. :)

Some say as goes Windows XP SP2 goes
Windows...

So the question:

If on Windows XP SP2 one keeps the HTTP.SYS
and Firewall on (controlling all ports) for safety,
even on a firewalled network (remember that
just plugged in on the network sick laptop is 
behind the network firewall already), how does 
any Apache APR product get access to the 
Windows ports?

May be there is no ASF helpful Windows device 
in Windows XP SP2 or  even a problem but  
always test.

 To actually use this interface would require a few
 things;

HTTP.SYS is for fast kernel static HTML
output (97% of the HTTP actions) and new
Windows port sharing...

This is why IIS 6 uses HTTP.SYS first, either
quickly respond via HTTP.SYS or send it on to 
IIS or whatever...

  apr_socket_foo() API

Yes most likely an APR thing, because one
does not need Apache HTTPD in order to
use these many new (may be required)
Windows APIs with APR products.

 So it's an interesting thought experiment to me.

And to others.

 the schema doesn't strike me
 as a secure or fast solution.  I didn't
 see any sendfile() or other optimized 
 mechanisms for response bodies,
 maybe I just wasn't digging deep enough.

quote

The HTTP application programming interface 
(API) enables applications to communicate 
over HTTP without using Microsoft Internet 
Information Server (IIS). Applications can 
register to receive HTTP requests for particular 
URLs, receive HTTP requests, and send HTTP 
responses. The HTTP API includes SSL support 
so applications can exchange data over secure 
HTTP connections without depending on IIS. 
It is also designed to work with I/O completion ports.

/quote

Play with these new Windows XP SP2 devices, 
test 'em and see...  :)

Jeff







Re: Windows HTTP API

2004-06-21 Thread Jeff White

From: Kornl Pl

  I believe, in this one article (for 98
  percent of the non coding admins) the
  word must is correct for the new way
  to control Windows ports.
 
  This article does not mean for everyone
  this is the only way.
 
  Always ask who is this article written for?
 
  Then add your own know how  in order
  to use the article information or not.


 This newsgroup is for developers
 so we have to tell the real truth:),
 as we know that altough there isn't an
 exe file to do something we are able to
 produce it.:)


I do not understand any of the above,
please explain...

Jeff




Re: Windows HTTP API

2004-06-21 Thread Jeff White

From: Kornl Pl

 Jeff White wrote:

 HTTP.SYS is for quick static responses.
 
 They may be cached html files sent via
 the Windows kernel.  Not a real new big
 business web server. But may be a server
 for the one man shop and may be for security
 of open ports, etc. :)

 I have to say you are wrong.

Okay I often am but where?   :)

 HTTP API is really fast in cached responses
 however it doesn't mean any overhead on
 dynamic responses as the work it does with
 the request and response should be done
 by the web server if it don't use HTTP API.

So I believe you are saying I am wrong with
HTTP.SYS is for quick static responses.?

Perhaps this
HTTP.SYS main idea and heart is for quick
static responses.

If not the above, I do not understand,
please explain...

 And I think HTTP API doesn't provides any
 extra security.


Okay for starters, what happens when
on Windows XP SP2 HTTP.SYS gets
an invalid request when controlling all
ports?

Or a request for access on an open
port but nothing defined with HTTP.SYS
for that open port?

Now compare the difference with
a computer with an open port but
no HTTP.SYS on Windows XP SP1.

See any big security differences?

Jeff




Re: Windows HTTP API

2004-06-20 Thread Jeff White

From: Kornl Pl


 Microsoft describes http.sys as the
 kernel mode cache of IIS 6, however it's
 kernel mode HTTP listener with cache for
 any application.


quote

The HTTP application programming interface
(API) enables applications to communicate
over HTTP without using Microsoft Internet
Information Server (IIS).

/quote

Anyway, at first, there will just be a few
hundreds of million or so, of these default
on HTTP.SYS devices, active on the Internet.

Because it seems HTTP.SYS (a HTTP listener
and router and responder with cache, SSL, and
etc.) will be a part of all Windows systems. Yes
HTTP.SYS is being back ported to Windows XP
SP2 and this and other Windows XP SP2 changes
may be added to the higher up Windows systems.

 Using http.sys Apache HTTPD could be
 used with IIS 6 on Windows sharing the
 same port and IP address. I think this is
 a good thing if you want to host more web
 sites using different server software on the
 same server.


Yes since HTTP.SYS (default on) will allow
other processes to share the same port (if
using the HTTP.SYS APIs or the HTTP
config tool). Or perhaps, via the newer .NET
Framework HttpListener class (works with
HTTP.SYS), is a simple Web server (that
can self-host ) or work with others.

Grandpa and Grandma can turn their kiddies
HTTP pictures (site) off and on. Or business
users can turn off and on, their many simple
HTTP get and send actions (web services too).

And if the URI is not valid or there is nothing
registered (with HTTP.SYS) and the port is
open, then HTTP.SYS returns a HTTP error
message.


 I think you should consider implementing
 HTTP API in Apache HTTPD as it has
 a lot of possibilities.

 More information about HTTP API
 is available in Platform SDK:

http://msdn.microsoft.com/library/en-us/http/http/http_api_start_page.asp

 Sincerely,
 Kornl


I added Apache APR because APR is
where ASF's HTTPD and APR users,
that access Windows ports (for one
thing), will use or not use these new
Windows system wide changes.

The Windows HTTP.SYS device
(Windows XP SP2 and higher) and the
new Windows Installer (Windows 2000
and up) and of course, the Windows
Firewall (Windows XP SP2 and higher).

And these above objects do not include
the many major changes to the system
shell HTTP reader, commonly called
Internet Explorer.

All these new Windows system objects
will be default on for the user (and most
users will / should keep them on). So all
other programs will need to be aware of
and work with these new Windows system
wide objects.

Release Notes for Microsoft Windows XP Service Pack 2
Release Candidate 2
Updated: June 14, 2004
http://www.microsoft.com/technet/prodtechnol/winxppro/deploy/relsprc2.mspx

Windows XP Service Pack 2 Release Candidate 2 Preview
http://www.microsoft.com/technet/prodtechnol/winxppro/sp2preview.mspx

quote

To successfully allow applications to
use the same port on different IP
addresses, you must use a new utility,
Httpcfg.exe.

/quote

Perhaps this really means:

quote

The HTTP API allows multiple applications
to co-exist on a system, sharing the same TCP
port (for example, port 80 for HTTP or port 443
for HTTPS) and serving different parts of the
URL namespace.

quote

HTTP.SYS can route by any:
URI or parts of the URI. So
continuing on:

quote

Httpcfg.exe is located on
the Windows Server 2003 CD in the
Support\Tools directory as part of the
Support.cab file.

Snip

To configure HTTP.sys, you must use
Httpcfg.exe.

Snip

In IIS 6.0, HTTP.sys is the TCP listener and
HTTP.sys does not use the Winsock API.
Sockets are not a configurable property.
HTTP.sys uses an IP inclusion list. By default,
this list is blank and IIS listens on all IP addresses.

You can specify the IP addresses IIS will listen
on by adding them to the IP inclusion list.

/quote

IIS 6.0: Setting Metabase Property
DisableSocketPooling Has No Effect
http://support.microsoft.com/default.aspx?scid=kb;EN-US;813368

Also the people who bring you HTTP.SYS
and the WINHTTP.DLL now have a blog.

quote

This is a collaborative Weblog from
the Web Transports Team in Windows
Networking. As a team we work on the
http stacks in Windows; http.sys the kernel
part of the IIS 6.0 Web Server (part of
Windows Server 2003) and its own
developer API, wininet.dll which is the
client side HTTP stack at the heart of
Internet Explorer, and winhttp.dll which
is the client side HTTP stack favored by
server applications relying on performance
and reliability.

/quote

The Web Transports team
http://blogs.msdn.com/webtransports/

So I guess the real question is has one
tried Apache and IIS with Windows Server
2003 or Windows XP SP2 via HTTP.SYS?

Jeff




Windows XP SP2 - Windows Installer 3.0

2004-05-21 Thread Jeff White

Even though Joshua says Windows XP SP2
reports are off limits for Apache lists

 Jeff, this is not appropriate content 
 for the Apache users list.  (And
 it i *especially* not appropriate for [EMAIL PROTECTED])

Windows Installer 3.0 comes with
Windows XP SP2

The below are from beta docs:

quote

Windows Installer service is no longer interactive

Detailed description

The Windows Installer service runs in the security 
context of the Local System account. In previous 
versions of Windows, the service attribute of Windows 
Installer was set to SERVICE_INTERACTIVE_PROCESS. 
This made the Windows Installer service interactive. 
An interactive service can display its own user interface 
and receive user input and may be a security vulnerability.
Because of this, the Windows Installer 3.0 service is no 
longer interactive.

Why is this change important

Interactive services running under the Local System 
context allow users to post messages to a program 
running in a different security context and may allow 
some types of attacks to occur.

What threats does it help mitigate?

Users will not be able to interact with the Windows 
Installer service.

/quote

Heard anything?

April 13, 2004

quote

Q:What's new in MSI 3.0 from MSI 2.0?
A: MSI 3.0 is focused on application servicing.
New features in MSI 3.0 include the ability to
uninstall patches, ability to create delta-compression
patches without source requirements, ability to
sequence patches, ability to bless patches for
application by non-administrators to elevated
installs, static source list management, and
richer set of inventory API.

Q: When will MSI 3.0 be released? (dates please)
A: MSI3.0 is slated for release with Windows
XP/SP2 - Q4/2004. We will also provide a redist
release for MSI3.0 that targets Win2k/SP3 and higher,
Windows XP - RTM and SP1 and Windows 2003
Server RTM within a couple of weeks of the Windows
XP/SP2 release.

Q: Can I use MSI 2 and MSI 3 together on one Machine?
A:MSI20 and MSI30 cannot coexist on one machine.
Upon install, all MSI20 binaries will be upgraded to
version 3.0.

Q: Can I install MSI 3 on Win9x Machines?
A: No. MSI3.0 will only be supported on Windows
2000 SP3 and higher, Windows XP and Windows
Server 2003.

Q: How will WIX affect MSI 3.0?
A: WIX is the Windows Installer XML authoring tool.
It doesn't have a direct affect on MSI 3.0. The WIX
authoring tool makes it possible to author installation
packages using XML and to easily integrate building
packages in a build environment. Future enhancements
to WIX may make it easier to build patches as well -
something well-served by MSI 3.0

Q: If MSI 3.0 is included in SP2, will it be possible to
not install MSI 3.0 as part of the upgrade?
A: MSI30 is part of the WinXP/SP2 release. When you
upgrade to SP2, you get MSI3.0. There is no mechanism
to not install MSI3.0 as part of the upgrade to xpsp2

/quote

Windows Installer - MSI3.0
http://msdn.microsoft.com/chats/windows/windows_041304.asp

Jeff





Vc++ Toolkit

2004-05-16 Thread Jeff White

quote

The VC toolkit does support /MT 
(it does not support /MD).

Ronald Laeremans
Visual C++ team

/quote

Jeff




Re: Free Microsoft Compilers

2004-05-02 Thread Jeff White

From: William A. Rowe, Jr.

 
 Microsoft Visual C++ Toolkit 2003
 http://msdn.microsoft.com/visualc/vctoolkit2003/

 Thanks for the reference Jeff!

 Unfortunately it is missing the #1 bit
 we need to pull off a free
 build of httpd or apr, and that is nmake :(

 It looks like, with a free make

Lots of those.

But what is a makefile?  :)
(read below)

quote

Starting with the Visual Studio 2005 release,
the Microsoft build engine black box is extracted
from Visual Studio. The new build engine, MSBuild,
becomes extensible and available for all since it will
ship with the .NET Framework.

Snip

MSBuild is a technology installed with the CLR in
Visual Studio 2005 and Longhorn. Its goal is to
replace makefiles by project files written in XML
that let you build large-scale systems.

/quote

Overview of MSBuild, Part 1: From a Project Author's Perspective
http://msdn.microsoft.com/longhorn/default.aspx?pull=/library/en-us/dnlong/html/msbuildpart1.asp

Now ASF has XML for
Windows installation,
Windows building,
where are the
Windows httpd XML configs?:)

 and awk though, the end user could
 build all of apache with this compiler.

And with the files from the .NET Framework
SDK, one can create a simple Apache CPP
module that loads .NET Framework assemblies
written in CSharp (C#) or VB or whatever.

Jeff




Free Microsoft Compilers

2004-04-17 Thread Jeff White

quote

The Microsoft Visual C++ Toolkit 2003 includes 
the core tools developers need to compile and link 
C++-based applications for Windows and the .NET 
Common Language Runtime:

Microsoft C/C++ Optimizing Compiler and Linker.  
These are the same compiler and linker that ship 
with Visual Studio .NET 2003 Professional!

C Runtime Library and the C++ Standard Library, 
including the Standard Template Library.  These 
are the same static-link libraries included with 
Visual Studio. Microsoft .NET Framework Common 
Language Runtime. Visual C++ can optionally build 
applications that target the Common Language 
Runtime (CLR).

Sample code.  The toolkit includes four samples 
designed to showcase the powerful new features of 
the 2003 version, including new optimization capabilities, 
features to improve code-security and robustness, 
enhanced ISO C++ standards support, and the ability 
to use the .NET Framework library and target the CLR.

/quote

Microsoft Visual C++ Toolkit 2003
http://msdn.microsoft.com/visualc/vctoolkit2003/

Jeff





Re: Thread terminatinos ?

2003-12-11 Thread Jeff White

From: Nick Kew


  Hello everyone.
  I have Apache 2 module running under Windows.In each Apache's
   thread I have a separate ODBC connection to a database.

 Why every thread?  Wouldn't it be more efficient to share a
connection
 pool between your threads?  You might possibly want to look at
mod_pg_pool
 (at http://apache.webthing.com/ ) as a template for that.


Or the many other ways!

  My questions are :

 Can't answer them.

 ICBW, but AIUI threads in your MPM are merely an implementation of
 Apache's abstract architecture, so if you tie something to them,
 you're more-or-less fighting against the architecture.  That means
 your module is likely to be non-portable and at risk of breaking on
 future Apache updates.


Really define MPM?

quote

...the purpose of MPMs is to improve
performance on specific platforms.

/quote

Ryan Bloom the creator of Apache2!

1) What could be a reason for one
 Apache thread to be terminated

The thread did what it was suppose to
and returned or timed out or 

2) How can I be notified when a thread
 is destroyed so I can close the DB connection

Forgetting the database issues here is
how thread tracking on Windows can be
done.

You can do all this in any computer
language but for all to follow along,
in Windows Scripting:

Windows Scripting with VBScript scripts.

Adjust the scripts to your needs, then save
the VBScript script file to any folder. Then
in a command prompt window set to the
VBScript script's folder, use the Windows
Script Host (WSH) engine cscript.exe
by typing:

cscript.exe VBScriptFileName.vbs

Remember one can also use the script
language of your desire with the Windows
Script Host (WSH) engines.

Monitoring Threads
http://www.microsoft.com/technet/scriptcenter/scrguide/sas_prc_kfqh.asp

MSDN - The WMI Win32_Thread Class
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/win32_thread.asp

MSDN - The WMI Win32_Process Class
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/win32_process.asp

The TechNet Script Center
http://www.microsoft.com/technet/scriptcenter

An ONLINE version of the 1328 page Scripting Guide:
Microsoft Windows 2000 Scripting Guide
http://www.microsoft.com/technet/scriptcenter/scrguide/sagsas_overview.asp

Jeff




Re: Apache + Windows

2003-11-18 Thread Jeff White
From: Bill Stoddard


 Peter J. Cranstone wrote:

  Bill,
 
  Here is an interesting link to a problem someone encountered
running Apache
  on Windows. If he's right there is little hope for Apache to ever
run
  properly on newer versions of Windows.
 
 
http://grumet.net/weblog/archives/2003/11/18/questions_about_windows_apache.
  html
 
  Regards,
 
 
 
  Peter
 
 

 If I am not mistaken, I seem to recall that TransmitFile() is
artifically limited to serving no more than 10
 TCP connections on non server editions of Windows. I've not actually
tried it myself.

 Bill


Yes all networking actions are Workstation adjusted.

And only 5 for Windows XP Home Edition.

Microsoft Windows XP Professional
Resource Kit Documentation
Page 1539 last two paragraphs.

Or

Networking Features
http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/prhh_not_gehy.asp


Jeff







Re: Apache + Windows

2003-11-18 Thread Jeff White

From: Bill Stoddard


 Andrew Mann wrote:

  http://www.microsoft.com/mspress/books/sampchap/5726.asp
 
  Also, because TransmitFile is geared toward server applications,
it is
  fully functional only on server versions of Windows. On home and
  professional versions, there may be only two outstanding
TransmitFile
  (or TransmitPackets) calls at any given time. If there are more,
then
  they are queued and not processed until the executing calls are
finished.
 
  It's not as official as MSDN I guess, but at least it's
published by
  them.  The article appears to be XP era.
 
  Andrew

 Yep, checkout MaxActiveTransmitFileCount here:

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/network/deploy/depovg/tcpip2k.asp

 Can work around this particular fooness with EnableSendfile off. No
idea if this will make teh problem
 disappear tho.

 Bill


Try using the built-in Windows Script Host (WSH)
and the built-in (WMI) Windows Management
Instrumentation via the built-in Windows Scripting
language VBScript.

Set the Allowed Number of TCP Connections
http://www.microsoft.com/technet/scriptcenter/network/scnet133.asp

Save the above little VBScript as whatever.vbs
and start it by using the command line
version of the Windows Script Host - cscript.exe.

c:cscript.exe whatever.vbs

Try the other networking options too.

Networking
http://www.microsoft.com/technet/scriptcenter/network/default.asp

And for doing registry actions.

Registry
http://www.microsoft.com/technet/scriptcenter/registry/default.asp

All done via the built-in Windows Scripting
engine and the built-in languages (or download
and use the language of your desire with the
built-in Windows Script Host engines).

Administration scripting examples and an
ONLINE version of the 1328 page Scripting Guide:
http://www.microsoft.com/technet/scriptcenter

Jeff








Re: cvs commit: httpd-2.0/modules/arch/win32 mod_win32.c

2003-03-25 Thread Jeff White

From: William A. Rowe, Jr.


 Doesn't the Apache on Windows web server have
 available a built-in Windows Scripting Engine and two
 built-in scripting languages, that do not use the # as
 a scripting comment marker?

 No; Windows has a command-line Windows Scripting Host
 (cscript, as opposed to the window-based wscript).

quote

The Windows Scripting Engine serves as the component
within Windows that interprets and executes script code
written in scripting languages such as JScript or VBScript.

/quote

This Windows Scripting Engine component is used by
many types of hosts:

Windows Script Host - (WSH 5.6) has two parts.
   Cscript.exe  - CUI - command line  (like Perl.exe)
Accesses COM and file system, StdIn,
StdErr and StdOut for usage as say admin
config type scripts or for accessing LDAP
or ADSI or WMI or databases or Regex and
etc. (lots more) on the desktop or server to
server.
Could run in Apache on Windows web server.

  Wscript.exe - GUI - output in window boxes on the screen
   much like those in the MsgBox. Same usage
   as Cscript.exe above but with different output.
   Best for desktop usage for admin type config
   usage same as Cscript.exe above but with the
   different output way (MsgBox style).
   Should not be used in Apache on Windows.

Http Applications - HTA - Html files that run on the desktop
but not via the browser.  Uses a separate DLL.
Accesses some COM and file system like WSH
but is not the Windows Script Host.
Desktop and server or to server.
Could run on as Intranet usage with Apache on
Windows.  Not for the Internet.

Internet Explorer - Browser usage.
Internet - limits on Com and file system.
Desktop - used for displays of list boxes,
radio and combo boxes with WSH scripts.

OS - Used in the Windows OS.
No need here to explain DLLs usage.

ASP - Used in IIS.
  (Sort of, but close enough for here without
  explaining all the DLLs used by everything.)

Programs -  Windows and third party programs.
 Calls the Com access to the engine and
 the scripting language usage is available.

So the Windows Script Host is one of many ways
that  the Apache on Windows web server have
available a built-in Windows Scripting Engine and two
built-in scripting languages, that do not use the # as
a scripting comment marker.

There are a lot of add-in (downloadable) languages for
usage with the Windows Scripting Engine.  But there
are only two built-in languages, VBScript and JScript.

 As André indicated, this is most trivially enabled using the
 Registry-based ScriptInterpreterSource directives.  It is actually
 recommended that you use ScriptInterpreterSource registry-strict
 which will invoke the ExecCGI verb, instead of using the Open
 verb.

Since it is most trivially enabled using the Registry-based
ScriptInterpreterSource directives then why is this not the
default (unneeded to turn on) for _all_ Apache on Windows?

This ScriptInterpreterSource default would allow usage of the
built-in Windows Scripting Engine as well as any other Windows
OS known programs, such as Perl.  There would be no need
for _any_  scripting comment marker checking routine with the
Apache on Windows web server.

But if any scripting comment marker checking routine (of the
shebang type), is performed, on Apache on Windows, without
first having the ScriptInterpreterSource as the default, then this
component within Windows that is available to every Apache
on Windows web server, the built-in Windows Scripting Engine
and it's built-in default languages, should be included into this
scripting comment marker checking routine first, if not at least,
somewhere in the #! checking routine in Apache on Windows.

But if it is compat ways one seeks, then have the Unix type
Apache versions, only check for ' (a single quote) and then
the Unix type versions of Apache, can run two files also!  :)

 This patch is a no-op relative to VB/J Scripts.

But one added a BOM change (so changes are allowed)
and yet left the #!, that is not used with Windows Scripting
Engine's built-in default languages, available in all Apache
on Windows web servers.

There are many scripting languages, so if any scripting comment
marker checking routine is needed, on Apache on Windows,
then an option for scripting languages is needed too.

A lot is happening with the Windows Scripting Engine. And most
people only use it properly with the other Windows 

Re: cvs commit: httpd-2.0/modules/arch/win32 mod_win32.c

2003-03-23 Thread Jeff White

 wrowe   2003/02/23 14:37:35

   Modified:modules/arch/win32 mod_win32.c
   Log:
  utf-8 win32 prefix when testing for shebang lines.

Doesn't the Apache on Windows web server have
available a built-in Windows Scripting Engine and two
built-in scripting languages, that do not use the # as
a scripting comment marker?

 Never.  Now, perhaps some other compiled bytecode
 uses the mark, but that should be irrelevant, because
 we drop out of that logic if we don't encounter a !# after
 the BOM.   No harm no foul.

Has this been checked with the Apache on Windows
access, to the built-in scripting engine, the Windows
Scripting Engine (or WSH 5.6 usage, as some call it)
and the scripting engine's default usage of the scripting
languages of VBScript and JScript?

Usage with the built-in Windows Scripting Engine by
some Apache on Windows web servers, using the
built-in scripting languages, is now doable via tricking
the Apache on Windows web server. Tricking the server
with a fake file, that uses the pain Unix based # way
(or with an option that also turns on everything else at
the same time) - ScriptInterpreterSource. But isn't it
possible to also check for // (two slashes for JScript
usage) or for a ' (a single quote for VBScript usage)
during the Apache on Windows script usage routine?

Perhaps the Apache on Windows web server needs
a config option to allow the server's scripting routine
usage of the various scripting comment markers.

Don't forget to check for security updates, for the built-in
Windows Scripting Engine, and the scripting engine's
languages. Both the built-in ones and the ones added later
for usage with the built-in scripting engine in the Apache
on Windows web server. Check even if you think no one
uses the built-in Windows Scripting Engine (or WSH 5.6)
on the Apache on Windows web server.

Jeff