+++ /dev/null
-Index: src/modules/standard/mod_imap.c
-===================================================================
---- src/modules/standard/mod_imap.c (revision 330526)
-+++ src/modules/standard/mod_imap.c (working copy)
-@@ -328,7 +328,7 @@
- if (!strcasecmp(value, "referer")) {
- referer = ap_table_get(r->headers_in, "Referer");
- if (referer && *referer) {
-- return ap_pstrdup(r->pool, referer);
-+ return ap_escape_html(r->pool, referer);
- }
- else {
- /* XXX: This used to do *value = '\0'; ... which is totally bogus
-Index: src/main/util.c
-===================================================================
---- src/main/util.c (revision 330526)
-+++ src/main/util.c (working copy)
-@@ -1722,6 +1722,8 @@
- j += 3;
- else if (s[i] == '&')
- j += 4;
-+ else if (s[i] == '"')
-+ j += 5;
-
- if (j == 0)
- return ap_pstrndup(p, s, i);
-@@ -1740,6 +1742,10 @@
- memcpy(&x[j], "&", 5);
- j += 4;
- }
-+ else if (s[i] == '"') {
-+ memcpy(&x[j], """, 6);
-+ j += 5;
-+ }
- else
- x[j] = s[i];
-