>Number: 1233
>Category: apache-api
>Synopsis: there is no way to keep per-connection per-module state
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: apache
>State: open
>Class: change-request
>Submitter-Id: apache
>Arrival-Date: Wed Oct 15 15:20:00 PDT 1997
>Last-Modified:
>Originator: [EMAIL PROTECTED]
>Organization:
apache
>Release: 1.2.4
>Environment:
irrelevant
>Description:
I develop couple of modules for Apache and need to keep some module specific
information on per-connection basis. Well, because nature of some data is
per-connection. SSL client certificate is probably best example:-) This
placeholder can also be used as a cache. I for example cache UNIX credentials
in my getpwnam based authentication module (see
http://fy.chalmers.se/~appro/apache/
if you get curious) on per-connection basis assuming reference to UNIX
accounting system being expensive...
>How-To-Repeat:
>Fix:
*** ./httpd.h.orig Fri Aug 22 09:11:53 1997
--- ./httpd.h Wed Sep 17 19:19:28 1997
***************
*** 588,593 ****
--- 588,595 ----
int keepalive; /* Are we using HTTP Keep-Alive? */
int keptalive; /* Did we use HTTP Keep-Alive? */
int keepalives; /* How many times have we used it? */
+
+ void *conn_config; /* Notes on *this* connection */
};
/* Per-vhost config... */
*** ./http_main.c.orig Fri Aug 15 19:29:50 1997
--- ./http_main.c Thu Sep 25 09:51:54 1997
***************
*** 1631,1636 ****
--- 1631,1638 ----
conn->remote_ip = pstrdup (conn->pool,
inet_ntoa(conn->remote_addr.sin_addr));
+ conn->conn_config = create_connection_config(conn->pool);
+
return conn;
}
%0
>Audit-Trail:
>Unformatted: