Hi Brent,

I have been experimenting with 
tclhttpd "Access Control Schemes".


My goal was to bring in support for multiple require user/group statement in 
a .htaccess file.
Since a few weeks I know how to set up .htaccess for Unix.
In my free time I wanted to find out if this might work also on Windows NT.


This letter encounters  my experiences with tcl and tclhttpd.

How did I start?
Very primitive actually!
The first command I performed was a search on "crypt*.*"
I found some files containing crypt and three *.dlls.
Two were  offered by Windows NT, the third one crypt10.dll by tclpro1.4.1!

So I started tclsh83, package require crypt -> negative
Then TclPro:  protclsh83; package require crypt -> positive:1.0.

Question one: Why is crypt10.dll not included in tclhttpd3.2.1.
Now it seems to be a precondition to work with TclPro1.4.1 to be able to work
with "crypt"? You have it available anyway !


Now I got eager to visit Tclhttpd's web-site. So I started tclhttpd by
protclsh83 httpd.tcl
It said "can*'t find package limit".
This doesn't hurt me at all.
Now I tried all the examples.
The html page tells you that the examples depend on the files
/usr/local/htaccess/group  
and
/usr/local/htaccess/passwd
but it doesn't tell you how to compile such files.

So I created the directories and the files and an entry 
"postit" in the passwd file and an entry webmaster in the group file.

Proposal:  Perhaps you should change a little bit the structure of the 
access html side. First to tell the formats and then , to be able to run the examples ,
the contents of the passwd file must be:
postit: <password>
Tell the user the password used in the example.

The contents of the group file must be:
webmaster: postit
..

To compile your own passwords start Tclpro1.4.1
protclsh83
package require crypt
crypt <password> <salt>.
Salt: two digits.


The following two examples did not work:
Funky Auto-login mechanism
and
More AuthNullCallback.
Both have the same url /access/null.
So I'm wondering if the last one shouldn't point to /access/session.

The examples returned 
can't read "data(session)". 
..


So now I could do what I wanted. Adapt and test auth.tcl to allow multiple 
require user and require group in a .htaccess file.

The results are in the attachment and following files I changed:

auth.tcl    (Support for multipe require statements + bug fix AuthNullCallBack)
index.tml   Rewritten, more explanation for outstander; Last .tclaccess example points to "session".
bydir/.htaccess   to provide a "require user .." example
multiple/.htaccess   Testpages for multipe "require .. "
multiple/index.tml
Precompiled AuthUserFile-, and AuthGroupFile files
htaccess/Unix/group
htaccess/Unix/passwd
htaccess/Win32/group
htaccess/Win32/passwd    
 
The Unix passwd file is a copy from Win32. Probably won't work. Please update/replace this file
with a correct version.

As you see, most remarks from the beginning are already history.

Piet




