$OpenBSD: patch-native_apache-1_3_mod_jk_c,v 1.1 2012/12/13 15:19:19 kurt Exp $
--- native/apache-1.3/mod_jk.c.orig	Wed Mar 28 04:17:59 2012
+++ native/apache-1.3/mod_jk.c	Tue Nov 27 11:23:13 2012
@@ -701,6 +701,7 @@ static int init_ws_service(apache_private_data_t * pri
     const char *route = NULL;
     rule_extension_t *e;
     jk_request_conf_t *rconf;
+    in_port_t remote_port;
 
     /* Copy in function pointers (which are really methods) */
     s->start_response = ws_start_response;
@@ -731,8 +732,13 @@ static int init_ws_service(apache_private_data_t * pri
     }
     else {
         s->remote_addr = r->connection->remote_ip;
-        s->remote_port = ap_psprintf(r->pool, "%d",
-                                     ntohs(r->connection->remote_addr.sin_port));
+        if (r->connection->remote_addr.ss_family == AF_INET)
+            remote_port = ((struct sockaddr_in *)(&r->connection->remote_addr))->sin_port;
+        else if (r->connection->remote_addr.ss_family == AF_INET6)
+            remote_port = ((struct sockaddr_in6 *)(&r->connection->remote_addr))->sin6_port;
+        else
+            remote_port = 0;
+        s->remote_port = ap_psprintf(r->pool, "%d", ntohs(remote_port));
     }
     s->remote_addr = get_env_string(r, s->remote_addr,
                                     conf->remote_addr_indicator, 1);
