[Zope-dev] Re: zope 2.9.x: FCGIServer.py: Patch: logging username

Tres Seaver tseaver at palladion.com
Wed Sep 6 07:03:58 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stefan Doerig wrote:
> Hello
> 
> Here is a patch for lib/python/ZServer/FCGIServer.py so the username is
> also logged when accessing Zope via FastCGI. Currently it is always
> displayed as a dash.
> 
> 
> Stef
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --- /usr/opt/zope/lib/python/ZServer/FCGIServer.py.orig	2004-12-02 00:01:48 +0100
> +++ /usr/opt/zope/lib/python/ZServer/FCGIServer.py	2006-02-07 15:05:06 +0100
> @@ -47,6 +47,7 @@
>  import socket, string, os, sys, time
>  import thread
>  from types import StringTypes
> +import base64
>  
>  tz_for_log = compute_timezone_for_log()
>  
> @@ -455,11 +456,24 @@
>              method=self.env['REQUEST_METHOD']
>          else:
>              method="GET"
> +        if self.env.has_key('HTTP_AUTHORIZATION'):
> +            http_authorization=self.env['HTTP_AUTHORIZATION']
> +            if string.lower(http_authorization[:6]) == 'basic ':
> +                try: decoded=base64.decodestring(http_authorization[6:])
> +                except base64.binascii.Error: decoded=''
> +                t = string.split(decoded, ':', 1)
> +                if len(t) < 2:
> +                    user_name = '-'
> +                else:
> +                    user_name = t[0]
> +        else:
> +            user_name='-'
>          if self.addr:
>              self.server.logger.log (
>                  self.addr[0],
> -                '%s - - [%s] "%s %s" %d %d "%s" "%s"' % (
> +                '%s - %s [%s] "%s %s" %d %d "%s" "%s"' % (
>                      self.addr[1],
> +                    user_name,
>                      time.strftime (
>                      '%d/%b/%Y:%H:%M:%S ',
>                      time.localtime(time.time())
> @@ -471,7 +485,8 @@
>          else:
>              self.server.logger.log (
>                  '127.0.0.1 ',
> -                '- - [%s] "%s %s" %d %d "%s" "%s"' % (
> +                '- %s [%s] "%s %s" %d %d "%s" "%s"' % (
> +                    user_name,
>                      time.strftime (
>                      '%d/%b/%Y:%H:%M:%S ',
>                      time.localtime(time.time())
> 
> 


Thanks for working on the patch.  Could you please upload it to a new
"feature+solution" issue in the Zope collector so it doesn't get lost in
the shuffle of the list?

  http://www.zope.org/Collectors/Zope


Tres.
- --
===================================================================
Tres Seaver          +1 202-558-7113          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFE/qse+gerLs4ltQ4RAoClAJ0SEllr++O4JMwQZFP5wA8qpGz5jQCfRa5x
qX/VaVoeujkld0cUCD1Sp94=
=7kwr
-----END PGP SIGNATURE-----



More information about the Zope-Dev mailing list