Help me!

2001-06-27 Thread wac

Dear All,

I want to write a handler, function : log client request file size.

My code can't work:

Apache Config file

Location /test/
SetHandler perl-script
PerlLogHandler My::Test
Options ExecCGI
/Location


My::Test

package My::Test;
sub handler {
   my $r = shift;
   $r-send_http_header;
   open (FILE,log.txt);
   print FILE $r-filename .\t. $r-bytes_sent . \n;
   close FILE;
}

this handler can log file name for request , but $r-bytes_sent is 0 at
all time.

Your friend,
wac





[DIGEST] mod_perl digest 2001/06/23

2001-06-27 Thread Geoffrey Young

--

  mod_perl digest
 
 June 17, 2001 - June 23, 2001

--

Recent happenings in the mod_perl world...


Features

  o mod_perl status
  o cvs patches
  o module announcements
  o mailing list highlights
  o links


mod_perl status

  o mod_perl
- stable: 1.25 (released January 29, 2001) [1]
- development: 1.25_01-dev [2]
  o Apache
- stable: 1.3.20 (released May 15, 2001) [3]
- development: 1.3.21-dev [4]
  o Perl
- stable: 5.6.1 (released April 9, 2001) [5]
- development: 5.7.1 [6]


cvs patches

  o win32 enhancement: APACHE_SRC can be either the build or install
tree [7]

  o fix leaky DSO builds [8]


module announcements

  o Apache::ASP 2.17 - provides an Active Server Pages port for
Perl scripting only, and enables the development of dynamic web
applications with session management and embedded perl code [9]

  o libapreq 0.33 - Apache::Request and Apache::Cookie
functionality [10]

  o CGI::Application 2.0 - a CGI application toolkit [11]

  o Apache::DnsZone 0.2 - allows users to change their own zones
without actually having access to the nameserver on which their
zone is located.  Supports MySQL|Oracle|Postgresql as
the backend database [12]


mailing list highlights

  o There was a really interesting thread on whether the Set-Cookie
header ought to be propagated with a 304 response [13]

  o Some thoughts and pitfalls of using SSI [14]

  o Long thread of the week goes to an attempt to explain how 
mod_perl chooses the version of perl it uses at runtime [15]

  o There has been a flurry of activity concerning 2.0 over on
the dev list:
  - talk about a 2.0 documentation project [16]
  - Apache:Test activity [17] [18]

links

  o The Apache/Perl Integration Project [19]
  o mod_perl documentation [20]
  o mod_perl modules on CPAN [21]
  o mod_perl homepage [22]
  o mod_perl news and advocacy [23]
  o mod_perl list archives [24]


happy mod_perling...

--Geoff
[EMAIL PROTECTED]

--
[1] http://perl.apache.org/dist/
[2] http://perl.apache.org/from-cvs/modperl/
[3] http://www.apache.org/dist/httpd/
[4] http://dev.apache.org/from-cvs/apache-1.3/
[5] http://www.cpan.org/src/stable.tar.gz
[6] http://www.cpan.org/src/devel.tar.gz 
[7] http://marc.theaimsgroup.com/?l=apache-modperl-cvsm=99314018512820w=2
[8] http://marc.theaimsgroup.com/?l=apache-modperl-cvsm=99291820322591w=2
[9] http://marc.theaimsgroup.com/?l=apache-modperlm=99297301902841w=2
[10] http://marc.theaimsgroup.com/?l=apache-modperlm=99299727921685w=2
[11] http://marc.theaimsgroup.com/?l=apache-modperlm=99356928110157w=2
[12] http://marc.theaimsgroup.com/?l=apache-modperlm=99358709315447w=2
[13] http://marc.theaimsgroup.com/?t=9929185173w=2r=1
[14] http://marc.theaimsgroup.com/?t=9932055602w=2r=1
[15] http://marc.theaimsgroup.com/?t=9933501362w=2r=1
[16] http://marc.theaimsgroup.com/?t=9932957031w=2r=1
[17] http://marc.theaimsgroup.com/?t=9810080081w=2r=1
[18] http://marc.theaimsgroup.com/?t=9933829394w=2r=1
[19] http://perl.apache.org
[20] http://perl.apache.org/#docs
[21] http://www.cpan.org/modules/by-module/Apache/
[22] http://www.modperl.com
[23] http://www.take23.org
[24] http://marc.theaimsgroup.com/?l=apache-modperlr=1w=2



Re: pass cookie along with the POST request?

2001-06-27 Thread darren chamberlain

Islandman [EMAIL PROTECTED] said something to this effect on 06/26/2001:
 The small code segment below will get the contents of a web page using a
 perl script. The site I want to access wants a cookie sent as well. 
 
 There is a cookie for this site is in my ~/.netscape/cookies file.  How
 do I change the code below so I can fake pass the cookie along with the
 POST request?
 
 Will I need to modify the format of what is in ~/.netscape/cookies?

Create a HTTP::Cookies::Netscape object:

use HTTP::Cookies;
my $c = HTTP::Cookies::Netscape-new(
  File = $ENV{HOME}/.netscape/cookies,
  AutoSave = 1,
  );

HTTP::Cookies::Netscape objects have a hashref called COOKIES,
which is a hash of hashes of hashes of lists. Access the cookies'
values as such:

my $val = $c-{COOKIES}-{$host}-{$path}-{$cookie_name}-[1];

perldoc LWP::UserAgent tells us:

   $ua-cookie_jar([$cookies])
   Get/set the HTTP::Cookies object to use.  The default
   is to have no cookie_jar, i.e. never automatically add
   Cookie headers to the requests.

So you don't have to access the values directly. Add this to your
code:

 --
 use strict;
 use LWP::UserAgent;
 use HTTP::Request::Common;
use HTTP::Cookies;
 my $URL = 'http://www.yahoo.com';
 my $ua = LWP::UserAgent-new;
 my $response = $ua-request(POST $URL);
my $jar =  HTTP::Cookies::Netscape-new(
  File = $ENV{HOME}/.netscape/cookies,
  AutoSave = 1,
   );
$ua-cookie_jar($jar);
 
 if ($response-is_success) {
print $response-content;
 } else {
print Bad luck this time\n;
 }

Untested, but the docs say it should work.

(darren)

-- 
Quiet and courteous is often mistaken for kind and polite.
-- Andrew Langmead



Re: missing mtime in request rec?

2001-06-27 Thread darren chamberlain

Geoffrey Young [EMAIL PROTECTED] said something to this effect on 06/26/2001:
 I did some more digging...
 
 it seems that any request that is served by the default Apache content
 handler is ok - only those that are processed by mod_perl (well, anything
 that isn't the default) seem to be affected.
 
 this doesn't seem quite right to me - if Apache can determine r-filename
 and stat the file for r-finfo, then it ought to be setting r-mtime, right?
 so maybe somewhere in http_request.c/get_path_info there needs to be a fix?
 
 or maybe I'm missing some history here...

Add a use Apache::File; to the top of the module. See p 492 of
the Eagle book; mtime is one of the methods added to the Apache
class when you use Apache::File.

(darren)

-- 
Death to all fanatics!



RE: missing mtime in request rec?

2001-06-27 Thread Geoffrey Young



 -Original Message-
 From: darren chamberlain [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, June 27, 2001 8:28 AM
 To: '[EMAIL PROTECTED]'
 Subject: Re: missing mtime in request rec?

[snip]

 
 Add a use Apache::File; to the top of the module. See p 492 of
 the Eagle book; mtime is one of the methods added to the Apache
 class when you use Apache::File.

well, I know that :)  I'm not saying that $r-mtime produces a runtime error
(which would happen if I didn't use() Apache::File), but that it returns Jan
1, 1970 for anything that isn't handled by the default Apache handler...

#!/usr/bin/perl

use Apache::File;
use Apache::Util qw(ht_time);

my $r = shift;
$r-send_http_header('text/plain');
print ht_time($r-mtime), \n;
print ht_time((stat $r-finfo)[9]), \n;


in my mind, at least, those two calls ought to be the same.  if you insert a
call to $r-update_mtime all is ok.  

but, it would seem that if r-mtime is the modification time of the
requested file, r-mtime ought to be set when Apache stats the file and
inserts the other finfo stuff.

but I'll exchange my logic for proof that not setting mtime is intentional
:)

--Geoff 




Help me , about $r-bytes_sent

2001-06-27 Thread wac

Dear All,

I want to write a handler, function : log client request file size.

My code can't work:

Apache Config file

Location /test/
SetHandler perl-script
PerlLogHandler My::Test
Options ExecCGI
/Location


My::Test

package My::Test;
sub handler {
   my $r = shift;
   $r-send_http_header;
   open (FILE,log.txt);
   print FILE $r-filename .\t. $r-bytes_sent . \n;
   close FILE;
}

this handler can log file name for request , but $r-bytes_sent is 0 at
all time.

Your friend,
wac





Re: Directory Restrictions

2001-06-27 Thread Adekunle Olonoh


  I found it, quite be accident in the Eagle Book
 
  Lost the page number, but it was in Chapter 4.

There's some discussion in the last paragraph of page 86.


  anybody got a more specific pointer to help us fuzzy searchers
  find 'how to have mod_perl handle directory requests'?

Hopefully this should be a pretty decent start:

-

package My::DirList;

use strict;
use Apache;
use Apache::Constants qw(:common);

sub handler {
 my $r = shift;

 if ($r-content_type eq 'httpd/unix-directory') {

 # Do whatever you need to do right here

 return OK;
 }
 else {
 return DECLINED;
 }
}


1;

-- 

___

  Ade Olonoh, BOTTLED SOFTWARE

  317.576.1120 x12 (phone) 317.576.1135 (fax)
___




ANNOUNCE: AxKit::XSP::PerForm (fwd)

2001-06-27 Thread Matt Sergeant

I thought this might be of interest to some of the people who are fiddling
with widgets at the moment ;-)

-- 
Matt/

/||** Founder and CTO  **  **   http://axkit.com/ **
   //||**  AxKit.com Ltd   **  ** XML Application Serving **
  // ||** http://axkit.org **  ** XSLT, XPathScript, XSP  **
 // \\| // ** mod_perl news and resources: http://take23.org  **
 \\//
 //\\
//  \\

-- Forwarded message --
Date: Wed, 27 Jun 2001 15:19:51 +0100 (BST)
From: Matt Sergeant [EMAIL PROTECTED]
To: AxKit Users Mailing List [EMAIL PROTECTED]
Subject: ANNOUNCE: AxKit::XSP::PerForm

This module is a magic forms library for building complex web
applications. No docs yet, but here's an example. You also need to apply a
stylesheet to the results to get HTML or WML or whatever you're after for
your form. There's a HTML stylesheet in the stylesheets/ directory. We
suggest you add it to the stylesheet you're using for your site using
xsl:import/.

The Example (this is a real example for a project I'm working on):

?xml version=1.0?
xsp:page
xmlns:xsp=http://apache.org/xsp/core/v1;
xmlns:web=http://axkit.org/NS/xsp/webutils/v1;
xmlns:f=http://axkit.org/NS/xsp/perform/v1;
language=perl
indent-result=yes

xsp:structure
  xsp:importTime::Object/xsp:import
  xsp:importTime::Seconds/xsp:import
/xsp:structure

xsp:logic![CDATA[

sub load_expires_year {
my ($ctxt, $selected) = @_;
return ($selected || $ctxt-{expires}-year),
map { $_ = $_ } (localtime-year .. localtime-year + 10);
}

sub load_expires_month {
my ($ctxt, $selected) = @_;
return ($selected || $ctxt-{expires}-mon),
map { $_ = $_ } (1 .. 12);
}

sub load_expires_day {
my ($ctxt, $selected) = @_;
return ($selected || $ctxt-{expires}-day_of_month),
map { $_ = $_ } (1 .. 31);
}

sub validate_title {
my ($ctxt, $new) = @_;
}

sub start_form_create {
my $ctxt = shift;
my $expires = localtime;
$expires += (20 * ONE_DAY);
$ctxt-{expires} = $expires;
}

sub end_form_create {
}

sub submit_save {
  # save form values
  ...
  # return URL to redirect to after save
  return /;
}

sub cancel_cancel {
  # return a URL to redirect to
  return /;
}

/xsp:logic

html


head
titleCreate Announcement/title
/head

body

h1Create Announcement/h1

f:form name=create

Title: f:textfield type=text name=title width=30 maxlength=255 /
br /
Link: f:textfield type=text name=link width=30 maxlength=255 /
br /
Expires:
f:single-select name=expires_year/
f:single-select name=expires_month/
f:single-select name=expires_day/

br /

f:submit name=save value=Create/
f:cancel name=cancel value=Cancel/

/f:form

/body
/html
/xsp:page

-- 
Matt/

/||** Founder and CTO  **  **   http://axkit.com/ **
   //||**  AxKit.com Ltd   **  ** XML Application Serving **
  // ||** http://axkit.org **  ** XSLT, XPathScript, XSP  **
 // \\| // ** mod_perl news and resources: http://take23.org  **
 \\//
 //\\
//  \\


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





Startup.pl File Q

2001-06-27 Thread Purcell, Scott

Mod_perl version: 1.25_01-dev
Perl version: 5.6.1
Apache Version:  1.3.20
OS:NT

I am in the apache book and I am doing some hacking. In my startup.pl file,
I put 'use CG qw(:standard); along with some other modules.
Anyway, then I typed that little dittie below, and commented out the $use
CGI (since I thought it would be loaded in the startup.pl file).

It does not work. Are the items in the startup.pl file only used with
handlers?

Thanks
Scott



### code below just for reference #

#! /usr/local/bin/perl

#use CGI qw(:standard);
use strict;

my $name = param('name') || 'Anonymous';

print header(),
start_html(-title='Yo!',-bgcolor='blue'),
h1(Hello $name),
p(
To change your name, enter it into the text field below and press,
em(change name.)
),
start_form(),
Name: ,textfield(-name='name',-value='Anonymous'),
submit(-value='Change Name'),
end_form(),
hr(),
end_html();

Scott Purcell




Re: Startup.pl File Q

2001-06-27 Thread Stas Bekman

On Wed, 27 Jun 2001, Issac Goldstand wrote:

 Actually, I believe that it helps to do a use cgi qw(-compile: all) as this
 will pre-compile the entire module (which makes it go a bit faster for it's
 first request).

As Issac correctly said, but usually you don't want :all, but only the tag
groups that you really need. Scott, please refer to the guide, it explain
what, how and why.  Including memory measurement with different configs.


Issac

 - Original Message -
 From: Purcell, Scott [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Wednesday, June 27, 2001 17:29
 Subject: Startup.pl File Q


  Mod_perl version: 1.25_01-dev
  Perl version: 5.6.1
  Apache Version:  1.3.20
  OS:NT
 
  I am in the apache book and I am doing some hacking. In my startup.pl
 file,
  I put 'use CG qw(:standard); along with some other modules.
  Anyway, then I typed that little dittie below, and commented out the $use
  CGI (since I thought it would be loaded in the startup.pl file).
 
  It does not work. Are the items in the startup.pl file only used with
  handlers?
 
  Thanks
  Scott
 
 
 
  ### code below just for reference #
 
  #! /usr/local/bin/perl
 
  #use CGI qw(:standard);
  use strict;
 
  my $name = param('name') || 'Anonymous';
 
  print header(),
  start_html(-title='Yo!',-bgcolor='blue'),
  h1(Hello $name),
  p(
  To change your name, enter it into the text field below and press,
  em(change name.)
  ),
  start_form(),
  Name: ,textfield(-name='name',-value='Anonymous'),
  submit(-value='Change Name'),
  end_form(),
  hr(),
  end_html();
 
  Scott Purcell
 




_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





Re: Directory Restrictions

2001-06-27 Thread will trillich

On Wed, Jun 27, 2001 at 08:52:10AM -0500, Adekunle Olonoh wrote:
 
   I found it, quite be accident in the Eagle Book
  
   Lost the page number, but it was in Chapter 4.
 
 There's some discussion in the last paragraph of page 86.
 
 
   anybody got a more specific pointer to help us fuzzy searchers
   find 'how to have mod_perl handle directory requests'?
 
 Hopefully this should be a pretty decent start:

 sub handler {

  if ($r-content_type eq 'httpd/unix-directory') {

okay -- but if you want some of your site to be indexed by the
standard mod_autoindex, yet have mod_perl intervene for certain
subtrees, you'll find that mod_perl never gets a chance at it
because the mod_autoindex gadjets catch it at an earlier stage.
i think.

what stage would that happen to be? and how do we configure
httpd.conf to Do What We Want?

(i think, that if you disable mod_autoindex, that you can have
mod_perl handle directories just as you say. but there's some
magic involved in running BOTH mod_autoindex and having mod_perl
do a directory now and then. i think. maybe.)

-- 
I figure: if a man's gonna gamble, may as well do it
without plowing.   -- Bama Dillert, Some Came Running

[EMAIL PROTECTED]
http://sourceforge.net/projects/newbiedoc -- we need your brain!
http://www.dontUthink.com/ -- your brain needs us!



Re: Startup.pl File Q

2001-06-27 Thread darren chamberlain

Purcell, Scott [EMAIL PROTECTED] said something to this effect on 06/27/2001:
 Mod_perl version: 1.25_01-dev
 Perl version: 5.6.1
 Apache Version:  1.3.20
 OS:NT
 
 I am in the apache book and I am doing some hacking. In my startup.pl file,
 I put 'use CG qw(:standard); along with some other modules.
 Anyway, then I typed that little dittie below, and commented out the $use
 CGI (since I thought it would be loaded in the startup.pl file).
 
 It does not work. Are the items in the startup.pl file only used with
 handlers?

You still need to tell Perl that the script in question (e.g.,
the one you attached) needs to use the functions from CGI.
Without that line, param and friends are not defined.

Putting CGI in your startup.pl means that it will be required and
compiled only once; all the scripts/modules that need to make use
of the pre-compiled module still need to 'use' it. In these cases,
only the importing of subroutine names and stuff like that
happens.

As an aside, you could (possibly) get away with invoking the
param function as CGI::param; you didn't specify what kind of
didn't work you got in the error log.

(darren)

-- 
Every program has at least one bug, and at least one line of code
that can be removed.  Therefore, by induction, every program can
be reduced to one line of code that doesn't work.



Re: Directory Restrictions

2001-06-27 Thread Philip Mak

On Wed, 27 Jun 2001, will trillich wrote:

 okay -- but if you want some of your site to be indexed by the
 standard mod_autoindex, yet have mod_perl intervene for certain
 subtrees, you'll find that mod_perl never gets a chance at it
 because the mod_autoindex gadjets catch it at an earlier stage.
 i think.

How about using RewriteRule? For example, you can do:

RewriteRule /somedir/ index.pl

and then when people visit http://your-site.com/somedir/, it will call
index.pl. index.pl can use $ENV{REQUEST_URI} to determine which directory
to display.




Re: Directory Restrictions

2001-06-27 Thread darren chamberlain

will trillich [EMAIL PROTECTED] said something to this effect on 06/27/2001:
 okay -- but if you want some of your site to be indexed by the
 standard mod_autoindex, yet have mod_perl intervene for certain
 subtrees, you'll find that mod_perl never gets a chance at it
 because the mod_autoindex gadjets catch it at an earlier stage.
 i think.

 what stage would that happen to be? and how do we configure
 httpd.conf to Do What We Want?

No, mod_autoindex functions at the content generation stage (take
a look at the module declaration in mod_autoindex.c).

The best way to do it, I would say, is to catch directory
requests in the translation phase and push your handler
explicitly if the request is for a directory you want to handle.

(darren)

-- 
Whether you can hear it or not the Universe is laughing behind your back.



Re: Directory Restrictions

2001-06-27 Thread darren chamberlain

Philip Mak [EMAIL PROTECTED] said something to this effect on 06/27/2001:
 On Wed, 27 Jun 2001, will trillich wrote:
  okay -- but if you want some of your site to be indexed by the
  standard mod_autoindex, yet have mod_perl intervene for certain
  subtrees, you'll find that mod_perl never gets a chance at it
  because the mod_autoindex gadjets catch it at an earlier stage.
  i think.
 
 How about using RewriteRule? For example, you can do:
 
 RewriteRule /somedir/ index.pl
 
 and then when people visit http://your-site.com/somedir/, it will call
 index.pl. index.pl can use $ENV{REQUEST_URI} to determine which directory
 to display.

Or just

DirectoryIndex index.pl

(or /index.pl)

(darren)

-- 
Now imagine a Moebius vortex inside a spherical constant, and
you've got my cosmology.



Re: startup

2001-06-27 Thread Stas Bekman

On Wed, 27 Jun 2001, Purcell, Scott wrote:

 Hello Stas,
 I think somehow my question got out of sync with the answer. My question
 was, if I do a use cgi qw(-compile: all) in my startup (which I have done),
 do I still need to put a use cgi in each of my .pl files? I have read
 through the docs, and the book, but as a rookie to mod-perl these kinds of
 questions are hard for me to get a handle on. I assume the answer is yes,
 but instead of actually reloading the module that it would check the cache
 and use that? Am I on the right track. Also, there is quite a bit of
 documentation out there, could you point me to the one that talks about
 this?

Scott, please keep the questions at the list, wheneven someone or I can
answer we will do it. You minimize your chances to get answered when you
try to do it in private.

As I said, the guide covers this question. Here is the direct URL:
http://perl.apache.org/guide/config.html#The_Confusion_with_use_in_the_

Here is a link to the notes in my previous reply to you:
http://perl.apache.org/guide/performance.html#Preloading_Perl_Modules_at_Serve



 I hope I am not offending you by asking,
 Sincerely
 Scott

 -Original Message-
 From: Stas Bekman [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, June 27, 2001 11:10 AM
 To: Purcell, Scott
 Cc: mod_perl list
 Subject: Re: Startup.pl File Q


 On Wed, 27 Jun 2001, Issac Goldstand wrote:

  Actually, I believe that it helps to do a use cgi qw(-compile: all) as
 this
  will pre-compile the entire module (which makes it go a bit faster for
 it's
  first request).

 As Issac correctly said, but usually you don't want :all, but only the tag
 groups that you really need. Scott, please refer to the guide, it explain
 what, how and why.  Including memory measurement with different configs.

 
 Issac
 
  - Original Message -
  From: Purcell, Scott [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Wednesday, June 27, 2001 17:29
  Subject: Startup.pl File Q
 
 
   Mod_perl version: 1.25_01-dev
   Perl version: 5.6.1
   Apache Version:  1.3.20
   OS:NT
  
   I am in the apache book and I am doing some hacking. In my startup.pl
  file,
   I put 'use CG qw(:standard); along with some other modules.
   Anyway, then I typed that little dittie below, and commented out the
 $use
   CGI (since I thought it would be loaded in the startup.pl file).
  
   It does not work. Are the items in the startup.pl file only used with
   handlers?
  
   Thanks
   Scott
  
  
  
   ### code below just for reference #
  
   #! /usr/local/bin/perl
  
   #use CGI qw(:standard);
   use strict;
  
   my $name = param('name') || 'Anonymous';
  
   print header(),
   start_html(-title='Yo!',-bgcolor='blue'),
   h1(Hello $name),
   p(
   To change your name, enter it into the text field below and press,
   em(change name.)
   ),
   start_form(),
   Name: ,textfield(-name='name',-value='Anonymous'),
   submit(-value='Change Name'),
   end_form(),
   hr(),
   end_html();
  
   Scott Purcell
  
 



 _
 Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
 http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
 mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
 http://singlesheaven.com http://perl.apache.org http://perlmonth.com/




_
Stas Bekman  JAm_pH --   Just Another mod_perl Hacker
http://stason.org/   mod_perl Guide  http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]   http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/





Re: SSI Lost with Mod Perl?

2001-06-27 Thread will trillich

On Tue, Jun 26, 2001 at 01:06:06AM -0400, Brooklyn Linux Solutions CEO wrote:
 
 I've given Filter and SSI a shot according to the perldocs.
 
 It didn't work.  I stated to hhack on some of the problems, which first involved
 in the make install depositing them in the wrong diretory, and then they SSI 
 needed use Apache::Filter statements added.

have you tried HTML::Mason yet? it's got serious power, but you
can have some quickie modular sites up in a jiffy.

.../autohandler:
htmlheadtitle SELF:title /title/head
body
h1 SELF:heading /h1
tabletrtd SELF:navbar /td
td% $body %/td
/tr/table
 SELF:footer 
/body
/html

%method titleWelcome/%method
%method headingWelcome to our site/%method
%method navbar% my_navbar() %/%method
%method footerIt is now % scalar localtime % at our offices/%method

%once
sub my_navbar {
...
}
/%once

%init
% my $body = $m-comp_next(); # set dependent variables first
/%init

.../search.md:
tabletrtdSearch:/tdtd searchform,query=$query /td/tr
% if ($query) {
trtd valign=topFound:/tdtd% list($query) %/td/tr
% }
/table

%method searchformform ./%method
%method titleSearch % $recs %/title
%method heading SELF:title /heading

%once
sub list {
...
}
/%once

%shared
my $recs = ... ? 'Products' : 'Services';
/%shared

%args
$query = undef
/%args

-- 
I figure: if a man's gonna gamble, may as well do it
without plowing.   -- Bama Dillert, Some Came Running

[EMAIL PROTECTED]
http://sourceforge.net/projects/newbiedoc -- we need your brain!
http://www.dontUthink.com/ -- your brain needs us!



Re: Requests using If-Modified-Since cause response Set-Cookie to be discarded

2001-06-27 Thread will trillich

On Mon, Jun 25, 2001 at 04:54:59PM -0700, Rob Bloodgood wrote:
   maybe storing 'last-access-time' on the server, instead of in
   the client-side, via cookie, would solve this snafu?
 
  But if you want to give out a new cookie on every request ?
  How would you prevent them from copying or tampering with the contents?
  a MD5-hash would stop them from changing values, but they could
  still copy the cookie,
  so the next idea is timeouts, and when you use timeouts it would
  be nice if the user
  don't have to login every couple of minutes, but would get a new
  valid cookie automaticly...
 
 Aside from the fact that a server-side tracking system is bound to become
 incredibly unmanageable, very quickly, in terms of server-side storage...
 
 One of the methods I've used is to include a timestamp in the user's info
 (incl the MD5 hash?  see the Eagle for Encryption of Cookies w/ MD5).
 
 THEN, when deparsing the cookie, DELETE it if the timestamp is too old.
 
 THEN, you either have a valid, non-timed out session, or no session at all
 (which is what you were worrying about in the first place, no?).  If your
 system is based on session LENGTH (ie this ticket is good for one hour from
 last access), all you have to do is re-set the timestamp to the current
 time.

but he's saying that he can't send a cookie AND do the
'not-changed-since' thing.

me, on the other hand, i don't see the problem with

on incoming request
  if has-cookie 'session'
  {
update serverside 'accesstime' for session[this] to NOW
if not-modified-since
  report same
else {
  send headers w/ cookie
  generate page
}
  }
  else
redirect to login page

doesn't look unmanageable to me (until someone shows me the
light, of course)...?

-- 
I figure: if a man's gonna gamble, may as well do it
without plowing.   -- Bama Dillert, Some Came Running

[EMAIL PROTECTED]
http://sourceforge.net/projects/newbiedoc -- we need your brain!
http://www.dontUthink.com/ -- your brain needs us!



RE: Requests using If-Modified-Since cause response Set-Cookie to be discarded

2001-06-27 Thread Rob Bloodgood

 me, on the other hand, i don't see the problem with

   on incoming request
 if has-cookie 'session'
 {
   update serverside 'accesstime' for session[this] to NOW

Oh yeah?  HOW???

   if not-modified-since
 report same
   else {
 send headers w/ cookie
 generate page
   }
 }
 else
   redirect to login page

 doesn't look unmanageable to me (until someone shows me the
 light, of course)...?

How many sessions/day are you running?  How big is your DB?  How much
processor do you have to throw at this? (these are the hurdles for storing
serverside info).

OTOH, what *benefit* is derived from storing all of this stuff serverside?

And how about: for the page in question, make an invisible frameset.  Use
the request for the FRAMESET (or the invisible frame) to update cookies,
etc, and when the main frame is requested, 304 has already been determined
but timestamps are properly updated.

yes? no?

L8r,
Rob




StatINC Reload on NT

2001-06-27 Thread Purcell, Scott

I have begun development on a new project and I am using Apache on NT with
mod_perl. I have created a lot of modules and I am using them in my code.
The problem is that as I continue to develop, some modules keep changing,
and I am getting tired of restarting the server. I have read the mod_perl
Coding guidelines three times now. Under the coding guidelines it has the
example of using Apache::StatINC. I followed it the instructions exactly,
but yet, it does NOT work. After that I tried Apache::Reload both ways with
no success.

Has anyone out there got either of these working on NT? I do not want to use
work-arounds on this large project. I really need to have the ability to
reload these modules on each hit to the server while developing the core
code set.

I even have the apache book, but I can't find any mention of this there
either.

Please advise.
Scott Purcell




%ENV push_handlers

2001-06-27 Thread Terry Moran

To all:

I am putting together a site utilizing stacked handlers where the
first of the modules uses the push_handlers call in order to dynamically
choose a processing module. This 'pushed' handler then goes about
processing the request  filling up the %ENV with information for the
next in the stack to use to produce the actual page. However, after a
couple of hours of working with this set-up, I'm finding that nformation
that is placed in the %ENV hash during the 'pushed' handler's processing
stage are lost by the time the Templating module goes to look for them.
Can anyone confirm that they've seen this, or can someone suggest a fix?
I seem to be quite at a loss as to what to do...

Thanks *so* much in advance!!!

Terry Moran




RE: %ENV push_handlers

2001-06-27 Thread Geoffrey Young



 -Original Message-
 From: Terry Moran [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, June 27, 2001 3:39 PM
 To: [EMAIL PROTECTED]
 Subject: %ENV  push_handlers
 
 
 To all:
 
 I am putting together a site utilizing stacked handlers where the
 first of the modules uses the push_handlers call in order to 
 dynamically
 choose a processing module. This 'pushed' handler then goes about
 processing the request  filling up the %ENV with information for the
 next in the stack to use to produce the actual page. However, after a
 couple of hours of working with this set-up, I'm finding that 
 nformation
 that is placed in the %ENV hash during the 'pushed' handler's 
 processing
 stage are lost by the time the Templating module goes to look 
 for them.
 Can anyone confirm that they've seen this, or can someone 
 suggest a fix?
 I seem to be quite at a loss as to what to do...

since you are already using $r-push_handlers use $r-pnotes instead of
%ENV.

--Geoff
 



where to report apache::session 1.53 bug ?

2001-06-27 Thread Iwan Garnadi

I don't know where to report apache::session bug , because I sent to the
author , I didn't get any reply yet





RE: where to report apache::session 1.53 bug ?

2001-06-27 Thread Knox, Laurie A, NPONS

Could you Please share your bug info with us?  I am using Apache::Session
now 
and having troubles with it...

Thank you!

Laurie

-Original Message-
From: Iwan Garnadi [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 27, 2001 5:50 PM
To: [EMAIL PROTECTED]
Subject: where to report apache::session 1.53 bug ?


I don't know where to report apache::session bug , because I sent to the
author , I didn't get any reply yet




Re: where to report apache::session 1.53 bug ?

2001-06-27 Thread Jeffrey W. Baker



On Thu, 28 Jun 2001, Iwan Garnadi wrote:

 I don't know where to report apache::session bug , because I sent to the
 author , I didn't get any reply yet

Maybe you will have to wait more than four days...

-jwb




Re: where to report apache::session 1.53 bug ?

2001-06-27 Thread Gunther Birznieks

Most of the time it is really bad to email open source authors directly.

They released a piece of software out of kindness. But hey, it's open 
source and they can't hold up the entire world of support like an Atlas, 24x7.

That's the job of open forums like this. So the author continues time to 
write new updates while the forums basically run themselves with other 
people sharing ideas and support.

At 04:50 AM 6/28/01 +0700, Iwan Garnadi wrote:
I don't know where to report apache::session bug , because I sent to the
author , I didn't get any reply yet

__
Gunther Birznieks ([EMAIL PROTECTED])
eXtropia - The Open Web Technology Company
http://www.eXtropia.com/




RE: %ENV push_handlers

2001-06-27 Thread Geoffrey Young

well, something isn't quite right... you aren't by chance using method
handlers are you?

at this point, you may want to post (some) code and/or the relevant snippet
from your httpd.conf.  

using push_handlers with pnotes has never been a problem for me

# from some handler somewhere
$r-pnotes(foo = 'bar');

$r-push_handlers(PerlCleanupHandler = sub {
  warn shift-pnotes('foo');
});

works no problemo...

--Geoff


-Original Message-
From: Terry Moran
To: Geoffrey Young
Sent: 6/27/01 7:57 PM
Subject: Re: %ENV  push_handlers

Geoff:

I really appreciate the help. I got a chance to play around some
more,
and it looks like this %ENV block is very specific to using
push_handlers,
and moreover that it's blocking pnotes  notes methods of the mod_perl
API
as well. I was thinking maybe it was a version thing, but I'm at
mod_perl
1.25, so that looks like it checks out. What I'm left with is getting a
work-around, and I have one. I'm just going to need to push_handler my
templating mod in order to give it the proper %ENV, or pnotes values (if
I
can find the time to translate into it that is, unfortunately an
important
part of design ;) ).
Anyhow, I get the feeling that push_handlers is somehow acting as a
subrequest - which would explain all of this. Not that I've found that
documented. I really appreciate the background on this - thanks!!!

Terry


Geoffrey Young wrote:

  sure...

  pnotes was documented after the eagle book was published, but it's my
 favorite method :)

  I dunno why %ENV is misbehaving - IIRC there were some reports in
older
 mod_perls, but I thought it was taken care of recently.

  at any rate, %ENV is a resource drain - you're better off with
pnotes.
 besides, they can hold references too, which makes life oh, so much
 better...

   my %hash;
   $r-pnotes(FOO = \%hash);

   my $href = $r-pnotes('FOO');

 --Geoff

 -Original Message-
 From: Terry Moran
 To: Geoffrey Young
 Sent: 6/27/01 3:51 PM
 Subject: Re: %ENV  push_handlers

 Geoff:

 Thanks so much for the fast response! My version of the Eagle Book
 doesn't even list that command, but it'll work like a charm. Just
leaves
 me wondering why %ENV jumps around like that...

 Thanks again!

 Terry

 Geoffrey Young wrote:

   -Original Message-
   From: Terry Moran [mailto:[EMAIL PROTECTED]]
   Sent: Wednesday, June 27, 2001 3:39 PM
   To: [EMAIL PROTECTED]
   Subject: %ENV  push_handlers
  
  
   To all:
  
   I am putting together a site utilizing stacked handlers where
 the
   first of the modules uses the push_handlers call in order to
   dynamically
   choose a processing module. This 'pushed' handler then goes about
   processing the request  filling up the %ENV with information for
 the
   next in the stack to use to produce the actual page. However,
after
 a
   couple of hours of working with this set-up, I'm finding that
   nformation
   that is placed in the %ENV hash during the 'pushed' handler's
   processing
   stage are lost by the time the Templating module goes to look
   for them.
   Can anyone confirm that they've seen this, or can someone
   suggest a fix?
   I seem to be quite at a loss as to what to do...
 
  since you are already using $r-push_handlers use $r-pnotes instead
 of
  %ENV.
 
  --Geoff
 



Q: How to I secure /cgi-bin?

2001-06-27 Thread Ron Savage

Test env:
Apache/1.3.20 (Win32) mod_perl/1.25_01-dev mod_ssl/2.8.4 OpenSSL/0.9.6a

I just tried this to stop myself running any scripts from /cgi-bin, but it does not 
stop me. Yeah, yeah, I restart the server after
every patch to httpd.conf.

Directory /cgi-bin
Options Indexes FollowSymLinks MultiViews
Order allow,deny
 Deny from all
Allow from 127.0.0.1
/Directory

My aim of course is to use
Order deny,allow
to stop all others!

I tried
Directory /cgi-bin
and
Allow from 128.0.0.1
just to see what would happen, but that did not stop me either.

Cheers
Ron  Savage
[EMAIL PROTECTED]
http://savage.net.au/index.html




Q:how to get the byte amounts

2001-06-27 Thread Lijf

I want to get the byte amounts that sent to the client via Apache, so I write the 
following code

#!/usr/bin/perl
use strict;
package Apache::GetByte;
use Apache::Constants qw(:response);
use Apache ();
sub handler{
my $r = shift;
my $byte=$r-bytes_sent;
warn BYTE = $byte \n;
return DECLINED;
 }
1;

In apache httpd.conf 
Directory public_html
  SetHandler perl-script
  PerlLogHandler Apache::GetByte
/Directory


but the result is BYTE = 0 in apache error_log. Why? What shall I do? 


Yours sincerely

Li junfeng
Livin' on the Edge(Dalian)CO.Ltd
Room 106, A Bldg. 1 Huoju Road
Hi-Tech Zone, Dalian, China Zip:116023
Tel:86-0411-4753511 Fax:86-0411-4753577
E-mail [EMAIL PROTECTED]



Re: How to I secure /cgi-bin?

2001-06-27 Thread Tim Tompkins

Use Location for paths respective to the server root.

Location /cgi-bin
   ...
/Location


- Original Message -
From: Ron Savage [EMAIL PROTECTED]
To: mod_perl [EMAIL PROTECTED]
Sent: Wednesday, June 27, 2001 9:23 PM
Subject: Q: How to I secure /cgi-bin?


 Test env:
 Apache/1.3.20 (Win32) mod_perl/1.25_01-dev mod_ssl/2.8.4 OpenSSL/0.9.6a

 I just tried this to stop myself running any scripts from /cgi-bin, but it
does not stop me. Yeah, yeah, I restart the server after
 every patch to httpd.conf.

 Directory /cgi-bin
 Options Indexes FollowSymLinks MultiViews
 Order allow,deny
  Deny from all
 Allow from 127.0.0.1
 /Directory

 My aim of course is to use
 Order deny,allow
 to stop all others!

 I tried
 Directory /cgi-bin
 and
 Allow from 128.0.0.1
 just to see what would happen, but that did not stop me either.

 Cheers
 Ron  Savage
 [EMAIL PROTECTED]
 http://savage.net.au/index.html