[RFC] Dynamic image generator handler

2002-05-12 Thread Michael A Nachbaur

This is an request for comments.  If you don't care about dynamic image
generation with mod_perl, or don't care about offering or reading about
suggestions, you can safely ignore this.  Also, be forewarned, this was
written in StarOffice, and then copied/pasted into my email program, and
hand tweaked, so some things may not have made the transition properly.

Dynamic Image Manipulator
-

*) Overview

This is a mod_perl handler, not directly tied in with my content
management system, but is/will be used extensively by it. The premise is
to dynamically generate images, cache them, and present them to browser
clients. The URI, as well as Apache configuration directives, is used to
determine what is to be generated.

*) Basic Uses

The most basic uses of this application will to dynamically generate TTF
text for titles, buttons, sidebars, etc. The current version of this
code does this, and quite well. Foreground and background colors, font
name (with bold/italic support), font size, image size (or automatically
detected based on the size of the text), and rotation.

The basic text support could be extended to allow for images to be
overlayed on the text (or placed under the text), or stretch images
similarly to how Enlightenment displays window manager themes.

Other uses planned would be to manipulate existing images. For instance,
if an image on a website needs a thumbnail, medium size and full-size
view, normally a person must make all versions by hand. If any
formatting needs to be done, like borders or drop-shadows, this
increases complexity. If a person could just drop an image in a
directory, and link to that image, the image could automatically be
resized, borders added, drop shadows put in place. The resulting image
would then be cached, and outputted.

*) URI Arguments

Information about what is to be done is passed through the URI. This
works for simple tasks like text display, but if anything more
complicated is to be done, external configuration files must be used.
We'll get to that in a bit.

Essentially, arguments are passed using the PATH_INFO HTTP header. We
want the browser to think this is an actual file, instead of a
dynamically generated image, so that the browser is more inclined to
cache the content. So, a typical query would be:

  http://localhost/genText/font=ArialBold;size=24;fgcolor=#ff;
  bgcolor=#00;rotate=90;text=This+Is+The+Text

Resizing an image could be accomplished by doing:

  http://localhost/genImage/source=/images/ducks.jpg;scale-ratio=1:1;
  width=120;height=80;border-size:1px;border-color:#00;
  shadow-color:#00;shadow-angle:270;shadow-distance:5px

This would resize an image to the indicated width/height. The
scale-ratio argument would limit the width/height ratio, so the
maximum dimension would be used. The other attributes are obvious.

*) Configuration Files
Lets assume that we are going to scale an image, add borders to it which
consist of other images, and add text captions over the image. This
would result in such a long URI, that browsers would probably truncate
it. In addition, providing direct access to the browser opens up
possibilities for DoS attacks. Therefore, a configuration file should be
used. The config file must be flexible enough to allow a web page to
provide various input, but have certain defaults set, and restricted.

The proposed solution would be to have a config file that has preset
default templates that the input arguments augment. For instance:

genimage
  preset name=thumbnail-image
image
  style 
border-style: solid;
border-color: #00;
border-width: 1px;
shadow-distance: 5px;
shadow-angle: 270; !-- or something like 1.2rad --
shadow-color: #00;
  /style
  content name=src/
/image
image
  style href=/css/watermark.css/
  !-- The above-referenced file has the following contents:
opacity: 80%;
position: top;
  --
  content/images/watermark.gif/content
/image
text
  style
font-face: Arial;
font-size: 10px;
color: #00;
border-style: solid;
border-color: #ff;
opacity: 80%;
text-align: right;
  /style
  contentCopyright copy; 2002 Foo Bar Industries/content
/text
text
  style
font-face: Arial;
font-size: 14px;
color: #ff;
text-align: left;
position: top;
  /style
  content name=date/
/text
  /preset
/genimage

As you can see, the above configuration file uses CSS. It makes sense to
leverage that, although I'm not certain how difficult it would be to
interface with CSS files. As far as I know, there are Perl CSS parsers,
but I have yet to use them. The configuration for a preset config
template would be layered, so the earlier the definition, the lower the
layer is. The real important part here, is the name attribute of any
element, as this 

Desperate for ePerl fix on 5.6.1

2002-05-12 Thread Nick Barton
Title: Blank




Hiall
I'm sorry to butt in like this but I notice you replied on anApache mailing list 
(archive)l and I'm desperate to get a technical problem fixed. I 
wondered if you could help me.
I've installed ePerl on FreeBSD 4.5-Stable and 
have Perl 5.6.1 i386-freebsd. Running ePerl standalone it reports 'Can't locate 
loadable object for module Parse::ePerl' i.e. can't find the C 
extension.
What I need to do to the Makefile for eperl to 
get it to run with perl 5.6.1 (or 0)
Again forgive the intrusion but I've got a project hanging on this and I'm 
getting edgy!
best regards

Nick Barton


http://www.websavant.co.uk




problems with authentication handler

2002-05-12 Thread David Radunz

Greetings, 

I have written a mod_perl authentication module and I am trying to figure 
out how to get it to protect top level directories. I have it setup in such 
a way that it calls lower level directories to display the login form and 
when I protect the top level directory it just loops and gives me the login 
screen when i attempt to login. I assume this is because it needs 
authentication to send the information to the login handler. I tried to fix 
the problem by adding a PerlFixupHandler to a subroutine that returns OK, 
which didn't fix the problem. 

Here is the httpd.conf entry: 

Location /
 AuthType Apache::CookieLogin
 AuthName TestAuth
 PerlAuthenHandler Apache::CookieLogin::authenticate
 PerlAuthzHandler Apache::CookieLogin::authorize
 require valid-user
/Location

Location /login
 AuthType Apache::CookieLogin
 AuthName TestAuth
 SetHandler perl-script
 PerlFixupHandler Apache::CookieLogin::no_auth_req
 PerlHandler Apache::CookieLogin::login_handler
/Location 

Location /loginform
 AuthType Apache::CookieLogin
 AuthName TestAuth
 SetHandler perl-script
 PerlFixupHandler Apache::CookieLogin::no_auth_req
 Perlhandler Apache::CookieLogin::login_screen
/Location 

Location /logout
 AuthType Apache::CookieLogin
 AuthName TestAuth
 SetHandler perl-script
 PerlFixupHandler Apache::CookieLogin::no_auth_req
 Perlhandler Apache::CookieLogin::logout
/Location 


the no_auth_req subroutine: 

sub no_auth_req {
return OK;
} 

any ideas would be greatly appreciated. 

Thanks, 

DJ 




[RFC] Dynamic image generator handler

2002-05-12 Thread Michael A Nachbaur

This is an request for comments.  If you don't care about dynamic image
generation with mod_perl, or don't care about offering or reading about
suggestions, you can safely ignore this.  Also, be forewarned, this was
written in StarOffice, and then copied/pasted into my email program, and
hand tweaked, so some things may not have made the transition properly.

http://nachbaur.com/software/writing/rfc-imagegen.xhtml

Just a note, I originally posted a text-version of this RFC to the
mailing list (tried twice) but it never got through apparently.  I'm
guessing the mailing list blocked it since it was too big.  Anyway, if
anyone would prefer the text version, and you know why I wasn't able to
post, let me know and I'll repost it.

-- 

-man
Michael A Nachbaur

PGP Public Key at http://www.nachbaur.com/pgpkey.asc
PGP Key fingerprint = 83DC 7C3A 3084 6A21 9A3F  801E D974 AFB4 BFD7 2B6F



[RFC] Dynamic image generator handler

2002-05-12 Thread Michael A Nachbaur

This is an request for comments.  If you don't care about dynamic image
generation with mod_perl, or don't care about offering or reading about
suggestions, you can safely ignore this.  Also, be forewarned, this was
written in StarOffice, and then copied/pasted into my email program, and
hand tweaked, so some things may not have made the transition properly.

Dynamic Image Manipulator
-

*) Overview

This is a mod_perl handler, not directly tied in with my content
management system, but is/will be used extensively by it. The premise is
to dynamically generate images, cache them, and present them to browser
clients. The URI, as well as Apache configuration directives, is used to
determine what is to be generated.

*) Basic Uses

The most basic uses of this application will to dynamically generate TTF
text for titles, buttons, sidebars, etc. The current version of this
code does this, and quite well. Foreground and background colors, font
name (with bold/italic support), font size, image size (or automatically
detected based on the size of the text), and rotation.

The basic text support could be extended to allow for images to be
overlayed on the text (or placed under the text), or stretch images
similarly to how Enlightenment displays window manager themes.

Other uses planned would be to manipulate existing images. For instance,
if an image on a website needs a thumbnail, medium size and full-size
view, normally a person must make all versions by hand. If any
formatting needs to be done, like borders or drop-shadows, this
increases complexity. If a person could just drop an image in a
directory, and link to that image, the image could automatically be
resized, borders added, drop shadows put in place. The resulting image
would then be cached, and outputted.

*) URI Arguments

Information about what is to be done is passed through the URI. This
works for simple tasks like text display, but if anything more
complicated is to be done, external configuration files must be used.
We'll get to that in a bit.

Essentially, arguments are passed using the PATH_INFO HTTP header. We
want the browser to think this is an actual file, instead of a
dynamically generated image, so that the browser is more inclined to
cache the content. So, a typical query would be:

  http://localhost/genText/font=ArialBold;size=24;fgcolor=#ff;
  bgcolor=#00;rotate=90;text=This+Is+The+Text

Resizing an image could be accomplished by doing:

  http://localhost/genImage/source=/images/ducks.jpg;scale-ratio=1:1;
  width=120;height=80;border-size:1px;border-color:#00;
  shadow-color:#00;shadow-angle:270;shadow-distance:5px

This would resize an image to the indicated width/height. The
scale-ratio argument would limit the width/height ratio, so the
maximum dimension would be used. The other attributes are obvious.

*) Configuration Files
Lets assume that we are going to scale an image, add borders to it which
consist of other images, and add text captions over the image. This
would result in such a long URI, that browsers would probably truncate
it. In addition, providing direct access to the browser opens up
possibilities for DoS attacks. Therefore, a configuration file should be
used. The config file must be flexible enough to allow a web page to
provide various input, but have certain defaults set, and restricted.

The proposed solution would be to have a config file that has preset
default templates that the input arguments augment. For instance:

genimage
  preset name=thumbnail-image
image
  style 
border-style: solid;
border-color: #00;
border-width: 1px;
shadow-distance: 5px;
shadow-angle: 270; !-- or something like 1.2rad --
shadow-color: #00;
  /style
  content name=src/
/image
image
  style href=/css/watermark.css/
  !-- The above-referenced file has the following contents:
opacity: 80%;
position: top;
  --
  content/images/watermark.gif/content
/image
text
  style
font-face: Arial;
font-size: 10px;
color: #00;
border-style: solid;
border-color: #ff;
opacity: 80%;
text-align: right;
  /style
  contentCopyright copy; 2002 Foo Bar Industries/content
/text
text
  style
font-face: Arial;
font-size: 14px;
color: #ff;
text-align: left;
position: top;
  /style
  content name=date/
/text
  /preset
/genimage

As you can see, the above configuration file uses CSS. It makes sense to
leverage that, although I'm not certain how difficult it would be to
interface with CSS files. As far as I know, there are Perl CSS parsers,
but I have yet to use them. The configuration for a preset config
template would be layered, so the earlier the definition, the lower the
layer is. The real important part here, is the name attribute of any
element, as this 

Re: Desperate for ePerl fix on 5.6.1

2002-05-12 Thread F . Xavier Noria

On Thu, 9 May 2002 04:29:43 +0100
Nick Barton [EMAIL PROTECTED] wrote:

: I've installed ePerl on FreeBSD 4.5-Stable and have Perl 5.6.1 i386-freebsd.
: Running ePerl standalone it reports 'Can't locate loadable object for module
: Parse::ePerl' i.e. can't find the C extension.
: 
: What I need to do to the Makefile for eperl to get it to run with perl 5.6.1
: (or 0)

Have you installed the ePerl port? It's under /usr/ports/lang/eperl?

-- fxn




Re: Desperate for ePerl fix on 5.6.1

2002-05-12 Thread Andrew McNaughton



On Sun, 12 May 2002, F. Xavier Noria wrote:

 Date: Sun, 12 May 2002 13:47:23 +0200
 From: F. Xavier Noria [EMAIL PROTECTED]
 To: Nick Barton [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
 Subject: Re: Desperate for ePerl fix on 5.6.1

 On Thu, 9 May 2002 04:29:43 +0100
 Nick Barton [EMAIL PROTECTED] wrote:

 : I've installed ePerl on FreeBSD 4.5-Stable and have Perl 5.6.1 i386-freebsd.
 : Running ePerl standalone it reports 'Can't locate loadable object for module
 : Parse::ePerl' i.e. can't find the C extension.
 :
 : What I need to do to the Makefile for eperl to get it to run with perl 5.6.1
 : (or 0)

 Have you installed the ePerl port? It's under /usr/ports/lang/eperl?

Having updated my copy of perl beyond what FreeBSD expects me to have, I
use the following values when building ports using perl:

PERL_VERSION=  5.6.1
PERL_VER=  5.6.1
PERL_ARCH= i386-freebsd

You can set these on the command line, which gets tedious.  I've been in
the habit of patching bsd.port.mk so it gets these right, but it looks
like that's probably not necessary any more.  It looks like you should be
able to just set these in /etc/make.conf



Andrew McNaughton




RES: RES: Windows mod_perl build

2002-05-12 Thread Vitor


Ok !

Thanks!

Vitor

-Mensagem original-
De: Per Einar Ellefsen [mailto:[EMAIL PROTECTED]]
Enviada em: sabado, 11 de maio de 2002 19:17
Para: Vitor
Cc: Mod-perl list
Assunto: Re: RES: Windows mod_perl build



Please Cc the list when replying.

At 23:52 11.05.2002, Vitor wrote:
Excellent resource.

Just one more question : I want to have mod_perl running in my application
as a thread. All requests to mod_perl will occur inside the application
through piped I/O. Do you know a resource where i can find more information
about this ?

Hmm, that's pretty much above my head :) But I think it seems a little
complicated... Maybe you should just be starting up Apache on a
non-standard port and use standard sockets to communicate with
Apache/mod_perl? That's all I can say.

Best regards,

Vitor

-Mensagem original-
De: Per Einar Ellefsen [mailto:[EMAIL PROTECTED]]
Enviada em: sabado, 11 de maio de 2002 17:18
Para: Vitor
Cc: [EMAIL PROTECTED]
Assunto: Re: Windows mod_perl build


At 22:21 11.05.2002, Vitor wrote:
 Hello,
 
 I am searching for windows mod_perl compilations resources.
 
 Any suggestions ?

Randy Kobes has kindly written instructions for you to compile mod_perl on
Windows and other Win32-related issues.
http://perl.apache.org/preview/modperl-docs/dst_html/docs/1.0/win32/index.h
t
ml

--
Per Einar Ellefsen
[EMAIL PROTECTED]





[modperl2] XML::LibXML crashes apache

2002-05-12 Thread pascal barbedor



Hi !

with last modperl2 passing almost all test ok on 
win32, i have a
problem with XML:LibXLML

-8-- Start Bug Report 
8--1. Problem Description:

 [XML-LibXML 1.40 (from RK ppd) crashes 
apache 2.0.36 or 2.0.37-dev]

this file (below) run with "perl file" is ok 
and output ok. the same one used from startup.pl, or registry 
script output ok but also crashes apache

immediately after output for 2.0.36, after some 
seconds for 2.0.37-dev



file:-package 
Produits;

print "content-type:text/plain\n\n";use 
warnings;use strict;

use Data::Dumper ;use XML::LibXML();our %C 
;my $base='c:/path';

%C=(promod=XML::LibXML-new-parse_file("$base/promod.xsl"),);

print Dumper %C ;

1;---

2. Used Components and their 
Configuration:

*** using lib/Apache/BuildConfig.pm*** 
Makefile.PL options: MP_AP_PREFIX = 
c:\ap2036 MP_GENERATE_XS = 1 MP_INST_APACHE2 = 
1 MP_LIBNAME = mod_perl 
MP_USE_DSO = 1

*** c:\ap2036/bin/Apache.exe -VServer 
version: Apache/2.0.36Server built: May 7 2002 
17:17:14Server's Module Magic Number: 
20020329:1Architecture: 32-bitServer compiled 
with-D APACHE_MPM_DIR="server/mpm/winnt"-D 
APR_HAS_SENDFILE-D APR_HAS_MMAP-D 
APR_HAS_OTHER_CHILD-D AP_HAVE_RELIABLE_PIPED_LOGS-D 
HTTPD_ROOT="/apache"-D SUEXEC_BIN="/apache/bin/suexec"-D 
DEFAULT_ERRORLOG="logs/error.log"-D 
SERVER_CONFIG_FILE="conf/httpd.conf"

*** C:\Perl\bin\perl.exe -VSummary of my 
perl5 (revision 5 version 6 subversion 1) configuration: 
Platform: osname=MSWin32, osvers=4.0, 
archname=MSWin32-x86-multi-thread 
uname='' config_args='undef' 
hint=recommended, useposix=true, d_sigaction=undef 
usethreads=undef use5005threads=undef useithreads=define 
usemultiplicity=define useperlio=undef d_sfio=undef 
uselargefiles=undef usesocks=undef use64bitint=undef 
use64bitall=undef uselongdouble=undef Compiler: 
cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT 
-DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS 
-DPERL_MSVCRT_READFIX', optimize='-O1 -MD 
-DNDEBUG', cppflags='-DWIN32' 
ccversion='', gccversion='', gccosandvers='' intsize=4, 
longsize=4, ptrsize=4, doublesize=8, byteorder=1234 
d_longlong=undef, longlongsize=8, d_longdbl=define, 
longdblsize=10 ivtype='long', ivsize=4, nvtype='double', 
nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=8, 
usemymalloc=n, prototype=define Linker and 
Libraries: ld='link', ldflags ='-nologo -nodefaultlib 
-release -libpath:"C:\Perl\lib\CORE" 
-machine:x86' libpth="C:\Program Files\Microsoft Visual 
Studio\VC98\mfc\lib" "C:\Program Files\Microsoft Visual Studio\VC98\lib" 
"C:\Perl\lib\CORE" libs= oldnames.lib kernel32.lib 
user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib 
ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib 
winmm.lib version.lib odbc32.lib odbccp32.lib 
msvcrt.lib perllibs= oldnames.lib kernel32.lib 
user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib 
ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib 
winmm.lib version.lib odbc32.lib odbccp32.lib 
msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, 
libperl=perl56.lib Dynamic Linking: 
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' 
' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib 
-release -libpath:"C:\Perl\lib\CORE" -machine:x86'

Characteristics of this binary (from libperl): 
 Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT 
PERL_IMPLICIT_SYS Locally applied patches: ActivePerl 
Build 631 Built under MSWin32 Compiled at Jan 2 2002 
17:16:22 %ENV: 
PERL_LWP_USE_HTTP_10="1" @INC: 
C:/Perl/lib C:/Perl/site/lib 
.

3. This is the core dump trace: (if you get a 
core dump):with 2.0.36unhandled exception in MSCVRT.DLLMSVCRT! 
780011ce()PERL56! 28071244()PERL56! 2805c5b1()PERL56! 
2805c577()PERL56! 2805c577()PERL56! 2805c870()PERL56! 
2805ba24()PERL56! 2800c882()PERL56! 2805c7f3()PERL56! 
2805ba24()PERL56! 2800c882()PERL56! 2805b9fd()PERL56! 
2800c882()PERL56! 2805b9fd()PERL56! 2800c882()PERL56! 
2805b9fd()PERL56! 2800c882()PERL56! 2805c248()PERL56! 
2805d510()PERL56! 2805d16f()MOD_PERL! 10001fc3()MOD_PERL! 
10002a32()MOD_PERL! 10001840()MOD_PERL! 
10001796()ap_run_post_config(apr_pool_t * 0x0078a1e0, apr_pool_t * 
0x007ba510, apr_pool_t * 0x007bc548, server_rec * 0x007a2478) line 130 + 89 
bytesmain(int 3, const char * const * 0x007826f0) line 579 + 22 
bytesmainCRTStartup() line 338 + 17 bytesKERNEL32! 
77e77903()

with 2.0.37-dev PERL56! 
28073f60()PERL56! 28074f56()



This report was generated by t/report on Sun May 12 
15:26:12 2002 GMT.

-8-- End Bug Report 
--8--



[RFC] Apache::AuthTicketPlus

2002-05-12 Thread Jim Helm
Title: Message



I've subclassed 
Apache::AuthTicket with a 'Require group 'authorization handler, since 
neither AuthTicket nor AuthCookie included it (though AuthCookie does have the 
hooks for itwhich I took advantage of).

I also added a 
'Require not  ' hander. I wanted to be able to excludeone or two authenticated 
users (like guest) from certain areas while still being able to 'Require 
valid-user'. Much easier than having to remember to add every 
authenticated use to a group when I only want to exclude one or two users. 
If AuthCookie ever changes from requiring all check to pass to just a single 
check, this will break. (See Apache::AuthCookie authorize()section for 
comments on ALL vs. ANY.)

Example:
Require not group 

Require not user 


Also, I had to 
implement myown 'user'authorization methodsince 
Apache::AuthCookie embeds it directlyinto the main authorization 
method.Mymethodonly gets called bythe 'not' method 
when applicable. I could have just put the code directlyin the not 
method, but then anyone subclassing my module would have the same 
problem...

Feel free to 
do whatever you want with the code... Comment/criticism welcome - especially on 
the initmethod. I'll post to CPAN if anyone thinks it's worth 
it. I'd gladly accept integrating 
this directly into AuthTicket if the maintainer wishes (Michael Schout?). 
I'm not crazy about the name, but it has to be called something - suggestions 
welcome.

Thanks,

Jim

---snip---
package 
Apache::AuthTicketPlus;

use 
strict;

use vars qw($VERSION 
@ISA %DEFAULTS);

use 
Apache::Constants qw(FORBIDDEN OK);use Apache::AuthTicket 
qw();

@ISA = 
qw(Apache::AuthTicket);

$VERSION = 
'0.01';

$DEFAULTS{TicketGroupTable} = 
'groups:grpname:usrname';

sub init {

 my ($self, $r) = @_; 
$self-SUPER::init($r);

 map { 
$self-{$_} = $self-_get_config_item($r, $_); } 
keys %DEFAULTS;

}

sub not {

 my ($self, $r, $args) = @_; $self 
= $self-new($r) unless ref $self;

 my ($requirement, $sub_args) = split(/\s+/, $args, 
2);

 my $rv = $self-$requirement($r, $sub_args);

 return ($rv == OK) ? FORBIDDEN : OK;

}

sub user {

 my ($self, $r, $args) = @_; $self 
= $self-new($r) unless ref $self;

 my $user = 
$r-connection-user; my $req_user = (split 
/\s+/,$args)[0];

 return ($user eq $req_user) ? OK : FORBIDDEN;

}

sub group {

 my ($self, $r, $args) = @_; $self 
= $self-new($r) unless ref $self;

 my $group = (split /\s+/, 
$args)[0]; my $user = $r-connection-user;

 my $dbh = $self-dbh; my 
($_table,$_group,$_user) = split(/:/, 
$self-{TicketGroupTable}); my $query = 
qq{ SELECT COUNT(*) FROM 
$_table WHERE $_group = ? AND 
$_user = ? };

 my $rows = 0;

 eval { my 
$sth = 
$dbh-prepare($query); 
$sth-execute($group,$user); 
$sth-bind_columns(\$rows); 
$sth-fetch; }; if ($@) 
{ 
$dbh-rollback; die 
$@; }

 return $rows ? OK : FORBIDDEN ;}

1;


RE: [RFC] Apache::AuthTicketPlus

2002-05-12 Thread Jim Helm

I don't know, but I'm sure someone here will have the answer...

Jim

 -Original Message-
 From: Steven Lembark [mailto:[EMAIL PROTECTED]] 
 Sent: Sunday, May 12, 2002 5:50 PM
 To: Jim Helm
 Subject: Re: [RFC] Apache::AuthTicketPlus
 
 
 
  Example:
  Require not group 
  Require not user 
 
  Q: do you know how to set multiple require xxx entries
 in perl sections? I've tried every structure I can
 think of w/o any success. If I could figure that out
 the modlue would be a big help.
 
 thanx.
 
 --
 Steven Lembark   2930 W. Palmer
 Workhorse Computing   Chicago, IL 60647
 +1 800 762 1582