+++ /dev/null
---- mod_throttle-3.1.2/mod_throttle.c Sun Dec 3 11:15:10 2000
-+++ mod_throttle.c Fri Aug 30 11:38:50 2002
-@@ -2788,6 +2788,12 @@
- if (ap_table_get(r->headers_in, x_is_subrequest) == true)
- return OK;
-
-+#ifdef INET6
-+ /* decline if client has an IPv6 address */
-+ if (r->connection->remote_addr.ss_family != AF_INET)
-+ return DECLINED;
-+#endif
-+
- /* Avoid throttling status requests, but subject them to
- * other access controls.
- */
-@@ -2811,7 +2817,11 @@
- * which we will apply the global policy for client connections.
- */
- client_ip_config.track = (t_throttle *) get_client_ip(
-+#ifdef INET6
-+ client_ip_pool, ((struct sockaddr_in *)&r->connection->remote_addr)->sin_addr
-+#else
- client_ip_pool, r->connection->remote_addr.sin_addr
-+#endif
- );
-
- /* Is it time for the period adjustment? */
-@@ -3185,7 +3195,17 @@
- (void) critical_acquire(critical);
-
- #ifdef THROTTLE_CLIENT_IP
-- client_ip = get_client_ip(client_ip_pool, r->connection->remote_addr.sin_addr);
-+ #ifdef INET6
-+ /* decline if client has an IPv6 address */
-+ if (r->connection->remote_addr.ss_family != AF_INET)
-+ return DECLINED;
-+
-+ client_ip = get_client_ip(client_ip_pool,
-+ ((struct sockaddr_in *)&r->connection->remote_addr)->sin_addr);
-+ #else
-+ client_ip = get_client_ip(client_ip_pool,
-+ r->connection->remote_addr)->sin_addr;
-+ #endif
- #endif
- #ifdef THROTTLE_REMOTE_USER
- remote_user = get_remote_user(remote_user_pool, r->connection->user);