openbsd-ports/www/mod_security/patches/patch-apache1_mod_security_c
2008-05-09 08:24:31 +00:00

42 lines
1.6 KiB
Plaintext

$OpenBSD: patch-apache1_mod_security_c,v 1.1 2008/05/09 08:28:34 mbalmer Exp $
--- apache1/mod_security.c.orig Wed Dec 5 12:04:19 2007
+++ apache1/mod_security.c Wed Dec 5 12:14:37 2007
@@ -6121,7 +6121,9 @@ void sec_auditlog_init(modsec_rec *msr) {
char *uniqueid, *entry_filename, *entry_basename, *text;
const array_header *arr = NULL;
table_entry *te = NULL;
- int i;
+ char sbuf[NI_MAXSERV];
+ u_int16_t localport, remoteport;
+ int error, i;
sec_debug_log(r, 4, "sec_auditlog_init: Starting");
@@ -6189,9 +6191,24 @@ void sec_auditlog_init(modsec_rec *msr) {
/* Format: time transaction_id remote_addr remote_port local_addr local_port */
+ error = getnameinfo((struct sockaddr *)&r->connection->remote_addr,
+ r->connection->remote_addr.ss_len, NULL, 0, sbuf, sizeof(sbuf),
+ NI_NUMERICSERV);
+ if (error)
+ remoteport = 0;
+ else
+ remoteport = atol(sbuf);
+ error = getnameinfo((struct sockaddr *)&r->connection->local_addr,
+ r->connection->local_addr.ss_len, NULL, 0, sbuf, sizeof(sbuf),
+ NI_NUMERICSERV);
+ if (error)
+ localport = 0;
+ else
+ localport = atol(sbuf);
+
text = ap_psprintf(r->pool, "[%s] %s %s %i %s %i",
- current_logtime(r), uniqueid, r->connection->remote_ip, r->connection->remote_addr.sin_port,
- r->connection->local_ip, r->connection->local_addr.sin_port);
+ current_logtime(r), uniqueid, r->connection->remote_ip, remoteport,
+ r->connection->local_ip, localport);
sec_auditlog_write(msr, text, strlen(text));