aboutsummaryrefslogtreecommitdiffstats
path: root/www/apache13
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1996-11-04 12:32:48 +0800
committerache <ache@FreeBSD.org>1996-11-04 12:32:48 +0800
commit78a0444a483f9266e58b29cb510af755b310d319 (patch)
tree89340b7a79de26d1857429e1fcf953c3dafebdfb /www/apache13
parent9ff23b8ab8b52d26e16947bc986a935fe578f7b0 (diff)
downloadfreebsd-ports-gnome-78a0444a483f9266e58b29cb510af755b310d319.tar.gz
freebsd-ports-gnome-78a0444a483f9266e58b29cb510af755b310d319.tar.zst
freebsd-ports-gnome-78a0444a483f9266e58b29cb510af755b310d319.zip
Situation:
It is impossible to suppress initial HTML preamble for directories, i.e. <HEAD><TITLE>Index of dir</TITLE></HEAD><BODY> It means that it is impossible to change <TITLE> or add any <META HTTP-EQUIV...> tags to <HEAD> section or change <BODY> attributes without HTML syntax violation (.asis, cern_meta, etc. not helps here too). Fix: I add "SuppressHTMLPreamble" option to "IndexOptions". When this option is set _and_ HEADER.html (or what you set as it) is present and readable, standard <HEAD><TITLE>Index of dir</TITLE></HEAD><BODY> preamble will be suppressed assuming you have right HTML preamble in your HEADER.html. It solves all problems mentioned above.
Diffstat (limited to 'www/apache13')
-rw-r--r--www/apache13/files/patch-ag127
1 files changed, 127 insertions, 0 deletions
diff --git a/www/apache13/files/patch-ag b/www/apache13/files/patch-ag
new file mode 100644
index 000000000000..48d05fff51c2
--- /dev/null
+++ b/www/apache13/files/patch-ag
@@ -0,0 +1,127 @@
+*** src/mod_dir.c.orig Sat Jun 22 00:12:07 1996
+--- src/mod_dir.c Sun Nov 3 08:33:16 1996
+***************
+*** 83,88 ****
+--- 83,89 ----
+ #define SUPPRESS_LAST_MOD 8
+ #define SUPPRESS_SIZE 16
+ #define SUPPRESS_DESC 32
++ #define SUPPRESS_HTML_PREAMBLE 64
+
+ struct item {
+ char *type;
+***************
+*** 205,210 ****
+--- 206,213 ----
+ opts |= SUPPRESS_SIZE;
+ else if(!strcasecmp(w,"SuppressDescription"))
+ opts |= SUPPRESS_DESC;
++ else if(!strcasecmp(w,"SuppressHTMLPreamble"))
++ opts |= SUPPRESS_HTML_PREAMBLE;
+ else if(!strcasecmp(w,"None"))
+ opts = 0;
+ else
+***************
+*** 404,411 ****
+ * Actually generating output
+ */
+
+
+! int insert_readme(char *name, char *readme_fname, int rule, request_rec *r) {
+ char *fn;
+ FILE *f;
+ struct stat finfo;
+--- 407,421 ----
+ * Actually generating output
+ */
+
++ void put_html_preamble(char *title_name, request_rec *r)
++ {
++ rvputs(r, "<HEAD><TITLE>Index of ", title_name,
++ "</TITLE></HEAD><BODY>\n", NULL);
++ }
+
+! int insert_readme(char *name, char *readme_fname, int rule,
+! char *title_name, request_rec *r)
+! {
+ char *fn;
+ FILE *f;
+ struct stat finfo;
+***************
+*** 419,430 ****
+ if(stat(fn,&finfo) == -1)
+ return 0;
+ plaintext=1;
+- if(rule) rputs("<HR>\n", r);
+- rputs("<PRE>\n", r);
+ }
+- else if (rule) rputs("<HR>\n", r);
+ if(!(f = pfopen(r->pool,fn,"r")))
+ return 0;
+ if (!plaintext)
+ send_fd(f, r);
+ else
+--- 429,442 ----
+ if(stat(fn,&finfo) == -1)
+ return 0;
+ plaintext=1;
+ }
+ if(!(f = pfopen(r->pool,fn,"r")))
+ return 0;
++ if(!rule && plaintext && title_name != NULL)
++ put_html_preamble(title_name, r);
++ if(rule) rputs("<HR>\n", r);
++ if(plaintext) rputs("<PRE>\n", r);
++
+ if (!plaintext)
+ send_fd(f, r);
+ else
+***************
+*** 714,724 ****
+ while (title_endp > title_name && *title_endp == '/')
+ *title_endp-- = '\0';
+
+! rvputs(r, "<HEAD><TITLE>Index of ", title_name, "</TITLE></HEAD><BODY>\n",
+! NULL);
+
+! if((!(tmp = find_header(dir_conf,r))) || (!(insert_readme(name,tmp,0,r))))
+ rvputs(r, "<H1>Index of ", title_name, "</H1>\n", NULL);
+
+ /*
+ * Since we don't know how many dir. entries there are, put them into a
+--- 726,743 ----
+ while (title_endp > title_name && *title_endp == '/')
+ *title_endp-- = '\0';
+
+! if(!(dir_opts & SUPPRESS_HTML_PREAMBLE))
+! put_html_preamble(title_name, r);
+
+! if((!(tmp = find_header(dir_conf,r))) ||
+! (!(insert_readme(name, tmp, 0,
+! ((dir_opts & SUPPRESS_HTML_PREAMBLE) ?
+! title_name : NULL), r))))
+! {
+! if(dir_opts & SUPPRESS_HTML_PREAMBLE)
+! put_html_preamble(title_name, r);
+ rvputs(r, "<H1>Index of ", title_name, "</H1>\n", NULL);
++ }
+
+ /*
+ * Since we don't know how many dir. entries there are, put them into a
+***************
+*** 751,757 ****
+
+ if (dir_opts & FANCY_INDEXING)
+ if((tmp = find_readme(dir_conf, r)))
+! insert_readme(name,tmp,1,r);
+ else {
+ rputs("</UL>", r);
+ }
+--- 770,776 ----
+
+ if (dir_opts & FANCY_INDEXING)
+ if((tmp = find_readme(dir_conf, r)))
+! insert_readme(name,tmp,1,NULL,r);
+ else {
+ rputs("</UL>", r);
+ }