Commit bc12ab6b authored by Jim Jagielski's avatar Jim Jagielski
Browse files

Backported


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@608484 13f79535-47bb-0310-9956-ffa450edef68
parent 7aedc533
Loading
Loading
Loading
Loading
+4 −0
Changes for CHANGES: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -10,6 +10,10 @@ Changes with Apache 2.0.62
     mod_imagemap: Fix a cross-site scripting issue.  Reported by JPCERT.
     [Joe Orton]

  *) Introduce the ProxyFtpDirCharset directive, allowing the administrator
     to identify a default, or specific servers or paths which list their
     contents in other-than ISO-8859-1 charset (e.g. utf-8). [Ruediger Pluem]

  *) log.c: Ensure Win32 resurrects its lost robust logger processes.
     [William Rowe]

+0 −8
Changes for STATUS: 0 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -116,14 +116,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
  [ start all new proposals below, under PATCHES PROPOSED. ]

  * mod_proxy_ftp: Introduce the ProxyFtpDirCharset directive, allowing
    the administrator to identify a default, or specific servers or paths
    which list their contents in other-than ISO-8859-1 charset (e.g. utf-8).
    [Ruediger Pluem]
      trunk version; http://svn.apache.org/viewvc?view=rev&revision=607638
      backport;
        http://people.apache.org/~rpluem/patches/mod_proxy_ftp_dir_listing-2.0.diff
      +1: wrowe, rpluem, jim

PATCHES PROPOSED TO BACKPORT FROM TRUNK:
  [ please place SVN revisions from trunk here, so it is easy to
+16 −0
Changes for docs/manual/mod/mod_proxy.xml: 16 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -398,6 +398,22 @@ response</description>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ProxyFtpDirCharset</name>
<description>Define the character set for proxied FTP listings</description>
<syntax>ProxyFtpDirCharset <var>character set</var></syntax>
<default>ProxyFtpDirCharset ISO-8859-1</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<compatibility>Available in Apache 2.0.62 and later</compatibility>

<usage>
    <p>The <directive>ProxyFtpDirCharset</directive> directive defines the
    character set to be set for FTP directory listings in HTML generated by
    <module>mod_proxy_ftp</module>.</p>
</usage>
</directivesynopsis>

<directivesynopsis type="section">
<name>ProxyMatch</name>
<description>Container for directives applied to regular-expression-matched 
+2 −1
Changes for include/ap_mmn.h: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@
 * 20020903.10 (2.0.55-dev) add ap_log_cerror()
 * 20020903.11 (2.0.55-dev) added trace_enable to core_server_config
 * 20020903.12 (2.0.56-dev) added ap_get_server_revision / ap_version_t
 * 20020903.13 (2.0.62-dev) Add *ftp_directory_charset to proxy_dir_conf
 */

#define MODULE_MAGIC_COOKIE 0x41503230UL /* "AP20" */
@@ -93,7 +94,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20020903
#endif
#define MODULE_MAGIC_NUMBER_MINOR 12                    /* 0...n */
#define MODULE_MAGIC_NUMBER_MINOR 13                    /* 0...n */

/**
 * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
+15 −1
Changes for modules/proxy/mod_proxy.c: 15 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -552,10 +552,14 @@ static void *merge_proxy_dir_config(apr_pool_t *p, void *basev, void *addv)
{
    proxy_dir_conf *new = (proxy_dir_conf *) apr_pcalloc(p, sizeof(proxy_dir_conf));
    proxy_dir_conf *add = (proxy_dir_conf *) addv;
    proxy_dir_conf *base = (proxy_dir_conf *) basev;

    new->p = add->p;
    new->p_is_fnmatch = add->p_is_fnmatch;
    new->r = add->r;
    new->ftp_directory_charset = add->ftp_directory_charset ?
                                 add->ftp_directory_charset :
                                 base->ftp_directory_charset;
    return new;
}

@@ -940,6 +944,15 @@ static const char*
    return NULL;    
}

static const char* set_ftp_directory_charset(cmd_parms *cmd, void *dconf,
                                             const char *arg)
{
    proxy_dir_conf *conf = dconf;

    conf->ftp_directory_charset = arg;
    return NULL;
}

static void ap_add_per_proxy_conf(server_rec *s, ap_conf_vector_t *dir_config)
{
    proxy_server_conf *sconf = ap_get_module_config(s->module_config,
@@ -1076,7 +1089,8 @@ static const command_rec proxy_cmds[] =
     "This overrides the server timeout"),
    AP_INIT_TAKE1("ProxyBadHeader", set_bad_opt, NULL, RSRC_CONF,
     "How to handle bad header line in response: IsError | Ignore | StartBody"),
 
    AP_INIT_TAKE1("ProxyFtpDirCharset", set_ftp_directory_charset, NULL,
    RSRC_CONF|ACCESS_CONF, "Define the character set for proxied FTP listings"),
    {NULL}
};

Loading