diff options
author | tv <tv> | 1998-12-07 16:20:39 +0000 |
---|---|---|
committer | tv <tv> | 1998-12-07 16:20:39 +0000 |
commit | b8924f7c02eb581f83e56ee3a0c82fabfb5038e8 (patch) | |
tree | db6073bcc41d1cdfe847f8ce97ac1bbadf30024d /www/apache/patches | |
parent | d349e5751549773e8f412d2cbe6a09e10ebd4842 (diff) | |
download | pkgsrc-b8924f7c02eb581f83e56ee3a0c82fabfb5038e8.tar.gz |
- Update mod_ssl's distname to 2.1.3 (does not require an apache version
bump; EAPI is unchanged)
- Remove restriction of mod_include to disallow "../" or "/" prefixed
file names in <!--#include file=""--> if Includes (but not
IncludesNOEXEC) is set; proposed in Apache PR mod_include/3500
- Add signature for hook function used to do mod_include callbacks
(perl-embedded SSI was not working with new 4 argument call)
Diffstat (limited to 'www/apache/patches')
-rw-r--r-- | www/apache/patches/patch-af | 33 | ||||
-rw-r--r-- | www/apache/patches/patch-am | 18 |
2 files changed, 45 insertions, 6 deletions
diff --git a/www/apache/patches/patch-af b/www/apache/patches/patch-af index fa5913fdafd..a89a8f7845c 100644 --- a/www/apache/patches/patch-af +++ b/www/apache/patches/patch-af @@ -1,7 +1,7 @@ -$NetBSD: patch-af,v 1.3 1998/12/04 17:23:20 tv Exp $ +$NetBSD: patch-af,v 1.4 1998/12/07 16:20:40 tv Exp $ --- src/modules/standard/mod_include.c.orig Thu Sep 24 10:06:42 1998 -+++ src/modules/standard/mod_include.c Fri Dec 4 10:51:50 1998 ++++ src/modules/standard/mod_include.c Mon Dec 7 11:17:39 1998 @@ -92,7 +92,11 @@ #include "http_log.h" #include "http_main.h" @@ -33,7 +33,27 @@ $NetBSD: patch-af,v 1.3 1998/12/04 17:23:20 tv Exp $ size_t length, int leave_name) { char ch; -@@ -2090,6 +2095,16 @@ +@@ -666,7 +671,8 @@ + parse_string(r, tag_val, parsed_string, sizeof(parsed_string), 0); + if (tag[0] == 'f') { + /* be safe; only files in this directory or below allowed */ +- if (!is_only_below(parsed_string)) { ++ if ((ap_allow_options(r) & OPT_INCNOEXEC) && ++ !is_only_below(parsed_string)) { + error_fmt = "unable to include file \"%s\" " + "in parsed file %s"; + } +@@ -1010,7 +1016,8 @@ + int ret=0; + + if (!strcmp(tag, "file")) { +- ap_getparents(tag_val); /* get rid of any nasties */ ++ if (ap_allow_options(r) & OPT_INCNOEXEC) ++ ap_getparents(tag_val); /* get rid of any nasties */ + + rr = ap_sub_req_lookup_file(tag_val, r); + +@@ -2090,6 +2097,16 @@ } } @@ -42,7 +62,7 @@ $NetBSD: patch-af,v 1.3 1998/12/04 17:23:20 tv Exp $ + char cmdbuf[40] = "include::"; + + strncat(cmdbuf, cmd, 30); -+ ap_hook_configure(cmdbuf, AP_HOOK_SIG5(int,ptr,ptr,ptr,ptr), AP_HOOK_DECLINE(-32767)); ++ ap_hook_configure(cmdbuf, AP_HOOK_SIG5(int,ptr,ptr,ptr,ptr), AP_HOOK_TOPMOST); + ap_hook_register(cmdbuf, func, NULL); + + return 0; @@ -50,14 +70,15 @@ $NetBSD: patch-af,v 1.3 1998/12/04 17:23:20 tv Exp $ /* -------------------------- The main function --------------------------- */ -@@ -2214,6 +2229,12 @@ +@@ -2214,6 +2231,13 @@ } #endif else { + char cmdbuf[40] = "include::"; + + strncat(cmdbuf, directive, 30); -+ if (ap_hook_call(cmdbuf, &ret, f, r, error, timefmt) == TRUE) ++ if ((ap_hook_status(cmdbuf) >= AP_HOOK_STATE_CONFIGURED) && ++ (ap_hook_call(cmdbuf, &ret, f, r, error, timefmt) == TRUE)) + continue; + ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, diff --git a/www/apache/patches/patch-am b/www/apache/patches/patch-am new file mode 100644 index 00000000000..1461df8a604 --- /dev/null +++ b/www/apache/patches/patch-am @@ -0,0 +1,18 @@ +--- src/ap/ap_hook.c.orig Mon Dec 7 10:31:53 1998 ++++ src/ap/ap_hook.c Mon Dec 7 10:32:48 1998 +@@ -705,6 +705,15 @@ + *((int *)v_rc) = ((int(*)(void *, void *, void *, int))(hf->hf_ptr))(v1, v2, v3, v4); + rc = (*((int *)v_rc) != he->he_modeval.v_int); + } ++ else if (he->he_sig == AP_HOOK_SIG5(int, ptr, ptr, ptr, ptr)) { ++ /* Call: int func(ptr,ptr,ptr,int) */ ++ void *v1 = va_arg(ap, va_type(ptr)); ++ void *v2 = va_arg(ap, va_type(ptr)); ++ void *v3 = va_arg(ap, va_type(ptr)); ++ void *v4 = va_arg(ap, va_type(ptr)); ++ *((int *)v_rc) = ((int(*)(void *, void *, void *, void *))(hf->hf_ptr))(v1, v2, v3, v4); ++ rc = (*((int *)v_rc) != he->he_modeval.v_int); ++ } + else if (he->he_sig == AP_HOOK_SIG6(int, ptr, ptr, ptr, ptr, int)) { + /* Call: int func(ptr,ptr,ptr,ptr,int) */ + void *v1 = va_arg(ap, va_type(ptr)); |