>Number: 2276 >Category: mod_log-any >Synopsis: mod_log_config can't log IP address unless DNS is disabled or >failed. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: apache >State: open >Class: change-request >Submitter-Id: apache >Arrival-Date: Sun May 24 17:20:00 PDT 1998 >Last-Modified: >Originator: [EMAIL PROTECTED] >Organization: apache >Release: 1.2.6 et seq >Environment: Any. (new feature) >Description: DNS address is interesting but not 'canonical' enough for flow based charging and reconciliation. 10% + of hosts don't have DNS names, and of those that do, a significant number can't be reverse-looked up to their IP address within 1 week of being used (dynamic pools etc)
I have therefore modified mod_log_config.c to include a new %I directive to log the IP address, which is held in the r_>connection block anyway. The code is very simple. >How-To-Repeat: >Fix: Here is the code: add to log_item_keys { 'I', log_remote_addr, 0 }, and add to the function lists char *log_remote_addr (request_rec *r, char *a) { char dummy[16]; return pstrdup(r->pool, inet_ntoa(r->connection->remote_addr.sin_addr)); }; It just works! I'm using this with a modified filter on analog to parse common logformat files, and sort/grade using IP address while still being able to count DNS name >Audit-Trail: >Unformatted: [In order for any reply to be added to the PR database, ] [you need to include <[EMAIL PROTECTED]> in the Cc line ] [and leave the subject line UNCHANGED. This is not done] [automatically because of the potential for mail loops. ]