openbsd-ports/www/p5-HTML-Embperl/patches/patch-mod_embperl_c

33 lines
1017 B
Plaintext
Raw Normal View History

add support for OpenBSD httpd with IPv6 support
$OpenBSD: patch-mod_embperl_c,v 1.1 2008/11/08 11:41:01 sthen Exp $
--- mod_embperl.c.orig Sat Apr 8 15:28:15 2006
+++ mod_embperl.c Mon Nov 3 21:31:44 2008
@@ -28,6 +28,9 @@
#define EMBPERL_SO
#endif
+#if defined(APACHE6) && !defined (__ss_family)
+#define __ss_family ss_family
+#endif
/* use getenv from runtime library and not from Perl */
#undef getenv
@@ -1180,7 +1183,16 @@ int embperl_GetApacheReqParam (/*in*/ tApp *
#ifdef APACHE2
port = r -> connection -> local_addr -> port ;
#else
+#ifdef APACHE6
+ if (r->connection->local_addr.ss_family == AF_INET6)
+ port = ntohs(((struct sockaddr_in6 *)
+ &r->connection->local_addr)->sin6_port);
+ else
+ port = ntohs(((struct sockaddr_in *)
+ &r->connection->local_addr)->sin_port);
+#else
port = ntohs(r -> connection -> local_addr.sin_port) ;
+#endif /* APACHE6 */
#endif
#ifdef EAPI
if (ap_ctx_get (r -> connection -> client -> ctx, "ssl"))