Commit 4797df15 authored by Tres Seaver's avatar Tres Seaver

Collector #2185: Log username for FCGI requests.

parent 8474092d
...@@ -47,6 +47,7 @@ from tempfile import TemporaryFile ...@@ -47,6 +47,7 @@ from tempfile import TemporaryFile
import socket, string, os, sys, time import socket, string, os, sys, time
import thread import thread
from types import StringTypes from types import StringTypes
import base64
tz_for_log = compute_timezone_for_log() tz_for_log = compute_timezone_for_log()
...@@ -455,11 +456,24 @@ class FCGIChannel(asynchat.async_chat): ...@@ -455,11 +456,24 @@ class FCGIChannel(asynchat.async_chat):
method=self.env['REQUEST_METHOD'] method=self.env['REQUEST_METHOD']
else: else:
method="GET" 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: if self.addr:
self.server.logger.log ( self.server.logger.log (
self.addr[0], self.addr[0],
'%s - - [%s] "%s %s" %d %d "%s" "%s"' % ( '%s - %s [%s] "%s %s" %d %d "%s" "%s"' % (
self.addr[1], self.addr[1],
user_name,
time.strftime ( time.strftime (
'%d/%b/%Y:%H:%M:%S ', '%d/%b/%Y:%H:%M:%S ',
time.localtime(time.time()) time.localtime(time.time())
...@@ -471,7 +485,8 @@ class FCGIChannel(asynchat.async_chat): ...@@ -471,7 +485,8 @@ class FCGIChannel(asynchat.async_chat):
else: else:
self.server.logger.log ( self.server.logger.log (
'127.0.0.1 ', '127.0.0.1 ',
'- - [%s] "%s %s" %d %d "%s" "%s"' % ( '- %s [%s] "%s %s" %d %d "%s" "%s"' % (
user_name,
time.strftime ( time.strftime (
'%d/%b/%Y:%H:%M:%S ', '%d/%b/%Y:%H:%M:%S ',
time.localtime(time.time()) time.localtime(time.time())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment