You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Jeff Armstrong <mo...@aquabolt.com> on 2008/04/08 13:26:55 UTC

undefined subroutine: get_server_description, get_server_banner

Folks,

<http://perl.apache.org/docs/2.0/api/Apache2/ServerUtil.html#C_get_server_description_> 
indicates that I should be able to:
   $description  = Apache2::ServerUtil::get_server_description();

however, I find that
   Apache2::ServerUtil::get_server_description();
   Apache2::ServerUtil::get_server_banner();

warn => Undefined subroutine

and
   Apache2::ServerUtil->user_id;
   Apache2::ServerUtil->group_id;

warn => Can't locate object method

Are the docs incorrect, or am I doing the wrong thing?

----
Other subs work ok: get_server_built get_server_version server_root

Debian stable (etch)
  Apache/2.2.3
  mod_ssl/2.2.3
  OpenSSL/0.9.8c
  mod_apreq2-20051231/2.6.0
  mod_perl/2.0.2
  Perl/v5.8.8


Many thanks,

Jeff

Re: undefined subroutine: get_server_description, get_server_banner

Posted by Jeff <mo...@aquabolt.com>.
> Did you remember to "use Apache2::ServerUtil"? It's probably obvious, but it's 
> easy to miss sometimes - mod_perl doesn't pull in all the APIs automatically, 
> just what you specify (to avoid memory overhead for things you don't use). 

Yes - I have already used Apache2::ServerUtil - other funcs are working.

(though this was the problem for APR::SocketAddr, 
$r->connection->local_addr->port() is now working. I am used to objects 
having loaded their packages, these are not real objects, despite the -> 
syntax)

I also note from Modperl2 users Guide' that things like uid / guid (does 
that mean group_id and user_id too?) are platform specific and so have 
to be coded by modperl users.

> Does Apache2::Status (http://perl.apache.org/docs/2.0/api/Apache2/Status.html)
> give you want you want?

have it installed, will check it out...

Re: undefined subroutine: get_server_description, get_server_banner

Posted by Malcolm <mj...@liminalflux.net>.
On Tuesday 08 April 2008 07:26:55 am Jeff Armstrong wrote:

> Folks,
>
> <http://perl.apache.org/docs/2.0/api/Apache2/ServerUtil.html#C_get_server_d
>escription_> indicates that I should be able to:
>    $description  = Apache2::ServerUtil::get_server_description();
>
> however, I find that
>    Apache2::ServerUtil::get_server_description();
>    Apache2::ServerUtil::get_server_banner();
>
> warn => Undefined subroutine
>
> and
>    Apache2::ServerUtil->user_id;
>    Apache2::ServerUtil->group_id;
>
> warn => Can't locate object method
>
> Are the docs incorrect, or am I doing the wrong thing?

Did you remember to "use Apache2::ServerUtil"? It's probably obvious, but it's 
easy to miss sometimes - mod_perl doesn't pull in all the APIs automatically, 
just what you specify (to avoid memory overhead for things you don't use). 


> Has anyone already written an equivalent of phpinfo() which basically 
> dumps out everything-you-might-want-to-know about the current OS, 
> server, request, cookies, environment and connection?

Does Apache2::Status (http://perl.apache.org/docs/2.0/api/Apache2/Status.html)
give you want you want?

Re: undefined subroutine: get_server_description, get_server_banner

Posted by Jeff <mo...@aquabolt.com>.
Doh! Thanks for that Adam!

The version info in the docs was indeed staring me in the face <blush>

An MP2 upgrade is out of the question - Debian Stable is 2.0.2 for the 
next few years (historically, 3 year cycle, Stable was first released 
Aug-07), Testing and Unstable currently have MP2.0.3_5, but these don't 
get security patched, and worse require a different libc6 chain, (2.3.5 
vs 2.7 [ia64]) that has not been fully soak tested for interaction 
stability.

Stable prod servers are a high priority for us, so its MP2.02 for the 
next few years, sigh. At least we are not still stuck on a non-working 
(pre-rename) 1.99-21 as we were until Aug 07!

Thanks again!

Jeff

Re: undefined subroutine: get_server_description, get_server_banner

Posted by ad...@utoronto.ca.
Quoting Jeff Armstrong <mo...@aquabolt.com>:

> Folks,
>
> <http://perl.apache.org/docs/2.0/api/Apache2/ServerUtil.html#C_get_server_description_> indicates that I should be   
> able
> to:
>   $description  = Apache2::ServerUtil::get_server_description();
>
> however, I find that
>   Apache2::ServerUtil::get_server_description();
>   Apache2::ServerUtil::get_server_banner();
>
> warn => Undefined subroutine
>

Those functions were added in 2.0.4, which is currently in RC, as the  
docs indicate.  If you install the 2.0.4 RC1 (see:  
http://marc.info/?l=apache-modperl&m=120760945808543&w=2)

> and
>   Apache2::ServerUtil->user_id;
>   Apache2::ServerUtil->group_id;
>
> warn => Can't locate object method
>

Those functions were added in 2.0.3, as the docs indicate.  If you  
upgrade to 2.0.3, they should work.

Adam





Re: undefined subroutine: get_server_description, get_server_banner

Posted by Torsten Foertsch <to...@gmx.net>.
On Tue 08 Apr 2008, Jeff Armstrong wrote:
> More specifically, I was also hoping to gain direct access to the SSL
> connection info for client certificate authentication - e.g. the stuff
> that appears in %ENV like:
>   SSL_CLIENT_S_DN_CN
>   SSL_CLIENT_S_DN_Email
>   SSL_CLIENT_S_DN

Apache2::ModSSL on CPAN.

Torsten

Re: undefined subroutine: get_server_description, get_server_banner

Posted by Jeff Armstrong <mo...@aquabolt.com>.
Folks,

I am finding this frustrating - many of the documented functions do not 
appear to work,

another example - I am trying to find the local IP and port of the 
connection - local_ip works, $r->connection->local_addr->port() does 
not, and $r->server->port() return 0.

Has anyone already written an equivalent of phpinfo() which basically 
dumps out everything-you-might-want-to-know about the current OS, 
server, request, cookies, environment and connection?

More specifically, I was also hoping to gain direct access to the SSL 
connection info for client certificate authentication - e.g. the stuff 
that appears in %ENV like:
  SSL_CLIENT_S_DN_CN
  SSL_CLIENT_S_DN_Email
  SSL_CLIENT_S_DN

Am very happy to be redirected to updated / accurate info, though I have 
read the relevant sections in the docs and horsey book that I could find.

Regards & thanks,

Jeff


-------- Original Message --------
Subject: undefined subroutine: get_server_description, get_server_banner
From: Jeff Armstrong <mo...@aquabolt.com>
To: modperl <mo...@perl.apache.org>
Date: 08 April 2008 12:26:55

> Folks,
> 
> <http://perl.apache.org/docs/2.0/api/Apache2/ServerUtil.html#C_get_server_description_> 
> indicates that I should be able to:
>   $description  = Apache2::ServerUtil::get_server_description();
> 
> however, I find that
>   Apache2::ServerUtil::get_server_description();
>   Apache2::ServerUtil::get_server_banner();
> 
> warn => Undefined subroutine
> 
> and
>   Apache2::ServerUtil->user_id;
>   Apache2::ServerUtil->group_id;
> 
> warn => Can't locate object method
> 
> Are the docs incorrect, or am I doing the wrong thing?
> 
> ----
> Other subs work ok: get_server_built get_server_version server_root
> 
> Debian stable (etch)
>  Apache/2.2.3
>  mod_ssl/2.2.3
>  OpenSSL/0.9.8c
>  mod_apreq2-20051231/2.6.0
>  mod_perl/2.0.2
>  Perl/v5.8.8
> 
> 
> Many thanks,
> 
> Jeff