aboutsummaryrefslogtreecommitdiff
path: root/www/mod_encoding/files/apache20_patch
diff options
context:
space:
mode:
Diffstat (limited to 'www/mod_encoding/files/apache20_patch')
-rw-r--r--www/mod_encoding/files/apache20_patch535
1 files changed, 0 insertions, 535 deletions
diff --git a/www/mod_encoding/files/apache20_patch b/www/mod_encoding/files/apache20_patch
deleted file mode 100644
index 2533fba20c88..000000000000
--- a/www/mod_encoding/files/apache20_patch
+++ /dev/null
@@ -1,535 +0,0 @@
---- mod_encoding.c.orig 2002-06-11 18:07:14.000000000 +0900
-+++ mod_encoding.c 2005-11-04 17:40:37.000000000 +0900
-@@ -1,8 +1,72 @@
- /* -*- mode: c -*-
- *
-- * $Id: mod_encoding.c,v 1.10 2002/06/11 09:07:14 tai Exp $
-+ * $Id: mod_encoding.c,v 1.6 2001/12/11 12:55:38 tai Exp $
- *
- */
-+/*
-+ * mod_encoding core module test implementation for Apache2.
-+ * by Kunio Miyamoto (wakatono@todo.gr.jp)
-+ * Original security fix port 2002/06/06
-+ * by Kunio Miyamoto (wakatono@todo.gr.jp)
-+ * Port new function of 20020611a
-+ * by Kunio Miyamoto (wakatono@todo.gr.jp)
-+ * Port new function of 20020611a
-+ * by Kunio Miyamoto (wakatono@todo.gr.jp)
-+ * Add COPYING statement for redistribute only this code.
-+ * by Kunio Miyamoto (wakatono@todo.gr.jp)
-+ */
-+/*
-+
-+
-+Copyright (c) 2000-2004
-+Internet Initiative Japan Inc. and Kunio Miyamoto All rights reserved.
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions
-+are met:
-+
-+1. Redistributions of source code must retain the above copyright
-+ notice, this list of conditions and the following disclaimer.
-+
-+2. Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in
-+ the documentation and/or other materials provided with the
-+ distribution.
-+
-+3. All advertising materials mentioning features or use of this
-+ software must display the following acknowledgment:
-+
-+ This product includes software developed by Internet
-+ Initiative Japan Inc. and Kunio Miyamoto for use in the
-+ mod_encoding module for Apache2.
-+
-+4. Products derived from this software may not be called "mod_encoding"
-+ nor may "mod_encoding" appear in their names without prior written
-+ permission of Internet Initiative Japan Inc. For written permission,
-+ please contact tai@iij.ad.jp (Taisuke Yamada).
-+
-+5. Redistributions of any form whatsoever must retain the following
-+ acknowledgment:
-+
-+ This product includes software developed by Internet
-+ Initiative Japan Inc. and Kunio Miyamoto for use in the
-+ mod_encoding module for Apache2 (http://www.apache.org/).
-+
-+THIS SOFTWARE IS PROVIDED BY INTERNET INITIATIVE JAPAN INC. AND KUNIO
-+MIYAMOTO ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
-+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
-+INTERNET INITIATIVE JAPAN INC., KUNIO MIYAMOTO OR ITS CONTRIBUTORS
-+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-+OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-+BUSINESS INTERRUPTION)
-+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-+OF THE POSSIBILITY OF SUCH DAMAGE.
-+
-+*/
-
- #include <httpd.h>
- #include <http_config.h>
-@@ -10,6 +74,7 @@
- #include <http_log.h>
- #include <http_protocol.h>
- #include <http_request.h>
-+#include <ap_compat.h>
-
- #include <iconv.h>
-
-@@ -33,13 +98,7 @@
-
- #define DBG(expr) if (MOD_ENCODING_DEBUG) { expr; }
-
--#ifdef __GNUC__
--#define LOG(level, server, args...) \
-- ap_log_error(APLOG_MARK, APLOG_NOERRNO|level, server, ##args)
--#else
--#define LOG(level, server, ...) \
-- ap_log_error(APLOG_MARK, APLOG_NOERRNO|level, server, __VA_ARGS__)
--#endif
-+/* FIXME: remove gcc-dependency */
-
- #define ENABLE_FLAG_UNSET 0
- #define ENABLE_FLAG_OFF 1
-@@ -55,13 +114,13 @@
- typedef struct {
- int enable_function; /* flag to enable this module */
- char *server_encoding; /* server-side filesystem encoding */
-- array_header *client_encoding; /* useragent-to-encoding-list sets */
-- array_header *default_encoding; /* useragent-to-encoding-list sets */
-+ apr_array_header_t *client_encoding; /* useragent-to-encoding-list sets */
-+ apr_array_header_t *default_encoding; /* useragent-to-encoding-list sets */
-
-- int strip_msaccount; /* normalize wierd WinXP username */
-+ int strip_msaccount; /* normalize wierd WinXP username */
- } encoding_config;
-
--module MODULE_VAR_EXPORT encoding_module;
-+module AP_MODULE_DECLARE_DATA encoding_module;
-
- /***************************************************************************
- * utility methods
-@@ -83,22 +142,19 @@
- size_t outlen;
-
- if (srclen == 0) {
-- LOG(APLOG_DEBUG, r->server, "iconv_string: skipping zero-length input");
- return srcbuf;
- }
-
- /* Allocate space for conversion. Note max bloat factor is 4 of UCS-4 */
-- marker = outbuf = (char *)ap_palloc(r->pool, outlen = srclen * 4 + 1);
-+ marker = outbuf = (char *)apr_palloc(r->pool, outlen = srclen * 4 + 1);
-
- if (outbuf == NULL) {
-- LOG(APLOG_WARNING, r->server, "iconv_string: no more memory");
- return NULL;
- }
-
- /* Convert every character within input string. */
- while (srclen > 0) {
- if (iconv(cd, &srcbuf, &srclen, &outbuf, &outlen) == (size_t)(-1)) {
-- LOG(APLOG_DEBUG, r->server, "iconv_string: conversion error");
- return NULL;
- }
- }
-@@ -140,11 +196,11 @@
-
- /* Normalize encoding in HTTP request header(s) */
- for (i = 0 ; keys[i] ; i++) {
-- if ((buff = (char *)ap_table_get(r->headers_in, keys[i])) != NULL) {
-+ if ((buff = (char *)apr_table_get(r->headers_in, keys[i])) != NULL) {
- ap_unescape_url(buff);
- if ((buff = iconv_string(r, cd, buff, strlen(buff))) == NULL)
- return -1;
-- ap_table_set(r->headers_in, keys[i], buff);
-+ apr_table_set(r->headers_in, keys[i], buff);
- }
- }
-
-@@ -159,33 +215,29 @@
- * @param encmap Table of UA-to-encoding(s)
- * @param lookup Name of the useragent to look for
- */
--static array_header *
-+static apr_array_header_t *
- get_client_encoding(request_rec *r,
-- array_header *encmap, const char *lookup) {
-+ apr_array_header_t *encmap, const char *lookup) {
- void **list = (void **)encmap->elts;
-- array_header *encs = ap_make_array(r->pool, 1, sizeof(char *));
-+ apr_array_header_t *encs = apr_array_make(r->pool, 1, sizeof(char *));
-
- int i;
-
-- LOG(APLOG_DEBUG, r->server, "get_client_encoding: entered");
-
- /* push UTF-8 as the first candidate of expected encoding */
-- *((char **)ap_push_array(encs)) = ap_pstrdup(r->pool, "UTF-8");
-+ *((char **)apr_array_push(encs)) = apr_pstrdup(r->pool, "UTF-8");
-
- if (! lookup)
- return encs;
-
-- LOG(APLOG_DEBUG, r->server, "get_client_encoding: lookup == %s", lookup);
-
- for (i = 0 ; i < encmap->nelts ; i += 2) {
- if (ap_regexec((regex_t *)list[i], lookup, 0, NULL, 0) == 0) {
-- LOG(APLOG_DEBUG, r->server, "get_client_encoding: entry found");
-- ap_array_cat(encs, (array_header *)list[i + 1]);
-+ apr_array_cat(encs, (apr_array_header_t *)list[i + 1]);
- return encs;
- }
- }
-
-- LOG(APLOG_DEBUG, r->server, "get_client_encoding: entry not found");
- return encs;
- }
-
-@@ -194,8 +246,6 @@
- */
- static const char *
- set_encoding_engine(cmd_parms *cmd, encoding_config *conf, int flag) {
-- LOG(APLOG_DEBUG, cmd->server, "set_encoding_engine: entered");
-- LOG(APLOG_DEBUG, cmd->server, "set_encoding_engine: flag == %d", flag);
-
- if (! cmd->path) {
- conf = ap_get_module_config(cmd->server->module_config, &encoding_module);
-@@ -210,13 +260,11 @@
- */
- static const char *
- set_server_encoding(cmd_parms *cmd, encoding_config *conf, char *arg) {
-- LOG(APLOG_DEBUG, cmd->server, "set_server_encoding: entered");
-- LOG(APLOG_DEBUG, cmd->server, "set_server_encoding: arg == %s", arg);
-
- if (! cmd->path) {
- conf = ap_get_module_config(cmd->server->module_config, &encoding_module);
- }
-- conf->server_encoding = ap_pstrdup(cmd->pool, arg);
-+ conf->server_encoding = apr_pstrdup(cmd->pool, arg);
-
- return NULL;
- }
-@@ -229,31 +277,27 @@
- */
- static const char *
- add_client_encoding(cmd_parms *cmd, encoding_config *conf, char *args) {
-- array_header *encs;
-+ apr_array_header_t *encs;
- char *arg;
-
-- LOG(APLOG_DEBUG, cmd->server, "add_client_encoding: entered");
-- LOG(APLOG_DEBUG, cmd->server, "add_client_encoding: args == %s", args);
-
- if (! cmd->path) {
- conf = ap_get_module_config(cmd->server->module_config, &encoding_module);
- }
-
-- encs = ap_make_array(cmd->pool, 1, sizeof(void *));
-+ encs = apr_array_make(cmd->pool, 1, sizeof(void *));
-
- /* register useragent with UserAgent: pattern */
- if (*args && (arg = ap_getword_conf_nc(cmd->pool, &args))) {
-- LOG(APLOG_DEBUG, cmd->server, "add_client_encoding: agent: %s", arg);
-- *(void **)ap_push_array(conf->client_encoding) =
-+ *(void **)apr_array_push(conf->client_encoding) =
- ap_pregcomp(cmd->pool, arg, REG_EXTENDED|REG_ICASE|REG_NOSUB);
- }
-
- /* register list of possible encodings from above useragent */
- while (*args && (arg = ap_getword_conf_nc(cmd->pool, &args))) {
-- LOG(APLOG_DEBUG, cmd->server, "add_client_encoding: encname: %s", arg);
-- *(void **)ap_push_array(encs) = ap_pstrdup(cmd->pool, arg);
-+ *(void **)apr_array_push(encs) = apr_pstrdup(cmd->pool, arg);
- }
-- *(void **)ap_push_array(conf->client_encoding) = encs;
-+ *(void **)apr_array_push(conf->client_encoding) = encs;
-
- return NULL;
- }
-@@ -267,20 +311,17 @@
- default_client_encoding(cmd_parms *cmd, encoding_config *conf, char *args) {
- char *arg;
-
-- LOG(APLOG_DEBUG, cmd->server, "default_client_encoding: entered");
-- LOG(APLOG_DEBUG, cmd->server, "default_client_encoding: args == %s", args);
-
- if (! cmd->path) {
- conf = ap_get_module_config(cmd->server->module_config, &encoding_module);
- }
-
-- conf->default_encoding = ap_make_array(cmd->pool, 1, sizeof(char *));
-+ conf->default_encoding = apr_array_make(cmd->pool, 1, sizeof(char *));
-
- /* register list of possible encodings as a default */
- while (*args && (arg = ap_getword_conf_nc(cmd->pool, &args))) {
-- LOG(APLOG_DEBUG, cmd->server, "default_client_encoding: encname: %s", arg);
-- *(void **)ap_push_array(conf->default_encoding)
-- = ap_pstrdup(cmd->pool, arg);
-+ *(void **)apr_array_push(conf->default_encoding)
-+ = apr_pstrdup(cmd->pool, arg);
- }
-
- return NULL;
-@@ -294,8 +335,6 @@
- */
- static const char *
- set_normalize_username(cmd_parms *cmd, encoding_config *conf, int flag) {
-- LOG(APLOG_DEBUG, cmd->server, "set_normalize_username: entered");
-- LOG(APLOG_DEBUG, cmd->server, "set_normalize_username: flag == %d", flag);
-
- if (! cmd->path) {
- conf = ap_get_module_config(cmd->server->module_config, &encoding_module);
-@@ -343,15 +382,15 @@
- * Setup server-level module internal data strcuture.
- */
- static void *
--server_setup(pool *p, server_rec *s) {
-+server_setup(apr_pool_t *p, server_rec *s) {
- encoding_config *conf;
-
- DBG(fprintf(stderr, "server_setup: entered\n"));
-
-- conf = (encoding_config *)ap_pcalloc(p, sizeof(encoding_config));
-+ conf = (encoding_config *)apr_pcalloc(p, sizeof(encoding_config));
- conf->enable_function = ENABLE_FLAG_UNSET;
- conf->server_encoding = NULL;
-- conf->client_encoding = ap_make_array(p, 2, sizeof(void *));
-+ conf->client_encoding = apr_array_make(p, 2, sizeof(void *));
- conf->default_encoding = NULL;
- conf->strip_msaccount = STRIP_FLAG_UNSET;
-
-@@ -362,7 +401,7 @@
- * Setup folder-level module internal data strcuture.
- */
- static void *
--folder_setup(pool *p, char *dir) {
-+folder_setup(apr_pool_t *p, char *dir) {
- DBG(fprintf(stderr, "folder_setup: entered\n"));
- return server_setup(p, NULL);
- }
-@@ -371,14 +410,14 @@
- * Merge configuration.
- */
- static void *
--config_merge(pool *p, void *base, void *override) {
-+config_merge(apr_pool_t *p, void *base, void *override) {
- encoding_config *parent = base;
- encoding_config *child = override;
- encoding_config *merge;
-
- DBG(fprintf(stderr, "config_merge: entered\n"));
-
-- merge = (encoding_config *)ap_pcalloc(p, sizeof(encoding_config));
-+ merge = (encoding_config *)apr_pcalloc(p, sizeof(encoding_config));
-
- if (child->enable_function != ENABLE_FLAG_UNSET)
- merge->enable_function = child->enable_function;
-@@ -388,13 +427,14 @@
- DBG(fprintf(stderr,
- "merged: enable_function == %d\n", merge->enable_function));
-
-+
- if (child->strip_msaccount != STRIP_FLAG_UNSET)
- merge->strip_msaccount = child->strip_msaccount;
- else
- merge->strip_msaccount = parent->strip_msaccount;
-
- DBG(fprintf(stderr,
-- "merged: strip_msaccount == %d\n", merge->strip_msaccount));
-+ "merged: strip_msaccount == %d\n", merge->strip_msaccount));
-
- if (child->server_encoding)
- merge->server_encoding = child->server_encoding;
-@@ -410,7 +450,7 @@
- merge->default_encoding = parent->default_encoding;
-
- merge->client_encoding =
-- ap_append_arrays(p, child->client_encoding, parent->client_encoding);
-+ apr_array_append(p, child->client_encoding, parent->client_encoding);
-
- return merge;
- }
-@@ -424,17 +464,16 @@
- */
- static int
- mod_enc_convert(request_rec *r) {
-- encoding_config *conf, *dconf, *sconf;
-+ encoding_config *conf, *dconf, *sconf;
-
- const char *oenc; /* server-side encoding */
-- array_header *ienc; /* list of possible encodings */
-+ apr_array_header_t *ienc; /* list of possible encodings */
- void **list; /* same as above (for iteration) */
-
- iconv_t cd; /* conversion descriptor */
-
- int i;
-
-- LOG(APLOG_DEBUG, r->server, "mod_enc_convert: entered");
-
- sconf = ap_get_module_config(r->server->module_config, &encoding_module);
- dconf = ap_get_module_config(r->per_dir_config, &encoding_module);
-@@ -446,19 +485,16 @@
-
- oenc = conf->server_encoding ? conf->server_encoding : "UTF-8";
- ienc = get_client_encoding(r, conf->client_encoding,
-- ap_table_get(r->headers_in, "User-Agent"));
-+ apr_table_get(r->headers_in, "User-Agent"));
-
- if (conf->default_encoding)
-- ap_array_cat(ienc, conf->default_encoding);
-+ apr_array_cat(ienc, conf->default_encoding);
-
- list = (void **)ienc->elts;
-
-- LOG(APLOG_DEBUG, r->server, "mod_enc_convert: oenc == %s", oenc);
-
- /* try specified encodings in order */
- for (i = 0 ; i < ienc->nelts ; i++) {
-- LOG(APLOG_DEBUG,
-- r->server, "mod_enc_convert: ienc <> %s", (char *)list[i]);
-
- /* pick appropriate converter module */
- if ((cd = iconv_open(oenc, list[i])) == (iconv_t)(-1))
-@@ -466,8 +502,6 @@
-
- /* conversion tryout */
- if (iconv_header(r, cd) == 0) {
-- LOG(APLOG_DEBUG,
-- r->server, "mod_enc_convert: ienc == %s", (char *)list[i]);
- iconv_close(cd);
- return DECLINED;
- }
-@@ -476,7 +510,6 @@
- iconv_close(cd);
- }
-
-- LOG(APLOG_WARNING, r->server, "mod_enc_convert: no conversion done");
-
- return DECLINED;
- }
-@@ -495,8 +528,6 @@
- char *user;
- char *buff;
-
-- LOG(APLOG_DEBUG, r->server, "mod_enc_parse: entered");
--
- sconf = ap_get_module_config(r->server->module_config, &encoding_module);
- dconf = ap_get_module_config(r->per_dir_config, &encoding_module);
- conf = config_merge(r->pool, sconf, dconf);
-@@ -513,15 +544,15 @@
- return DECLINED;
-
- /* Is this username broken? */
-- if ((user = index(r->connection->user, '\\')) == NULL)
-+ if ((user = index(r->user, '\\')) == NULL)
- return DECLINED;
-
- /* Re-generate authorization header */
- if (*(user + 1)) {
- buff = ap_pbase64encode(r->pool,
-- ap_psprintf(r->pool, "%s:%s", user + 1, pass));
-- ap_table_set(r->headers_in, "Authorization",
-- ap_pstrcat(r->pool, "Basic ", buff, NULL));
-+ apr_psprintf(r->pool, "%s:%s", user + 1, pass));
-+ apr_table_set(r->headers_in, "Authorization",
-+ apr_pstrcat(r->pool, "Basic ", buff, NULL));
-
- ap_get_basic_auth_pw(r, &pass); /* update */
- }
-@@ -530,28 +561,25 @@
- return DECLINED;
- }
-
-+static void register_hooks(apr_pool_t *p)
-+{
-+ /* filename-to-URI translation */
-+/* ap_hook_translate_name(mod_enc_convert,NULL,NULL,APR_HOOK_FIRST); */
-+ ap_hook_post_read_request(mod_enc_convert,NULL,NULL,APR_HOOK_FIRST);
-+ ap_hook_header_parser(mod_enc_parse,NULL,NULL,APR_HOOK_FIRST);
-+}
-+
- /***************************************************************************
- * exported module structure
- ***************************************************************************/
-
--module MODULE_VAR_EXPORT encoding_module = {
-- STANDARD_MODULE_STUFF,
-- NULL, /* initializer */
-- folder_setup, /* dir config */
-- config_merge, /* dir config merger */
-- server_setup, /* server config */
-- config_merge, /* server config merger */
-- mod_enc_commands, /* command table */
-- NULL, /* handlers */
-- NULL, /* filename translation */
-- NULL, /* check_user_id */
-- NULL, /* check auth */
-- NULL, /* check access */
-- NULL, /* type_checker */
-- NULL, /* fixups */
-- NULL, /* logger */
-- mod_enc_parse, /* header parser */
-- NULL, /* child_init */
-- NULL, /* child_exit */
-- mod_enc_convert, /* post read-request */
-+module AP_MODULE_DECLARE_DATA encoding_module = {
-+ STANDARD20_MODULE_STUFF,
-+ folder_setup, /* create per-directory config structure */
-+ config_merge, /* merge per-directory(?) config str */
-+ server_setup, /* create per-server config structure */
-+ config_merge, /* merge per-server config ...*/
-+ mod_enc_commands, /* command handlers */
-+ register_hooks
- };
-+
---- Makefile.in.orig 2002-06-11 17:46:39.000000000 +0900
-+++ Makefile.in 2008-08-30 16:18:36.000000000 +0900
-@@ -250,16 +250,16 @@
- maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
--all-local: mod_encoding.so
-+all-local: mod_encoding.la
-
--mod_encoding.so: mod_encoding.c
-+mod_encoding.la: mod_encoding.c
- $(APXS) -c $(CPPFLAGS) $(APXSFLAGS) $(LIBS) $<
-
- install-exec-local:
-- $(APXS) -i mod_encoding.so
-+ $(APXS) -i -n mod_encoding mod_encoding.la
-
- clean-local:
-- rm -f *~ *.o *.so
-+ rm -f *~ *.o *.so *.la
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
---- Makefile.am.orig 2002-06-11 17:46:39.000000000 +0900
-+++ Makefile.am 2008-08-30 16:19:25.000000000 +0900
-@@ -4,13 +4,13 @@
-
- EXTRA_DIST = mod_encoding.c Makefile.simple
-
--all-local: mod_encoding.so
-+all-local: mod_encoding.la
-
--mod_encoding.so: mod_encoding.c
-+mod_encoding.la: mod_encoding.c
- $(APXS) -c $(CPPFLAGS) $(APXSFLAGS) $(LIBS) $<
-
- install-exec-local:
-- $(APXS) -i mod_encoding.so
-+ $(APXS) -i -n mod_encoding mod_encoding.la
-
- clean-local:
-- rm -f *~ *.o *.so
-+ rm -f *~ *.o *.so *.la