summaryrefslogtreecommitdiff
path: root/www/tclhttpd/files/patch-pl
diff options
context:
space:
mode:
Diffstat (limited to 'www/tclhttpd/files/patch-pl')
-rw-r--r--www/tclhttpd/files/patch-pl52
1 files changed, 52 insertions, 0 deletions
diff --git a/www/tclhttpd/files/patch-pl b/www/tclhttpd/files/patch-pl
new file mode 100644
index 000000000000..98437d8881ef
--- /dev/null
+++ b/www/tclhttpd/files/patch-pl
@@ -0,0 +1,52 @@
+This patch adds a way to add the functionality to the server by
+specifying extra files it should source on startup. Those files can
+define MIME type handlers, subtree handlers etc (see the server's
+documentation for what they can do -- very powerful stuff).
+
+According to the software's author, Brent Welch, there is currently no
+other way to extend the server -- other then adding code to the
+httpd.tcl (or other files) directly. The tclhttpd.rc file is executed by
+a safe interpreter and so can not load any other files itself.
+
++++ bin/httpd.tcl 2000/05/16 23:09:50
+@@ -152,4 +152,5 @@
+ [list threads.arg [cget threads] {Number of worker threads (zero for non-threaded)}] \
+ [list library.arg [cget library] {Directory list where custom packages and auto loads are}] \
++ [list extrafiles.arg [cget ExtraFiles] {Extra files to source}] \
+ [list debug.arg 0 {If true, start interactive command loop}] \
+ ] \
+@@ -228,7 +229,9 @@
+ }
+ }
+-if ![catch {
++if {[catch {
+ setuid $Config(uid) $Config(gid)
+-}] {
++} e]} {
++ Stderr "failed to suid to $Config(uid).$Config(gid): $e"
++} else {
+ Stderr "Running as user $Config(uid)"
+ }
+@@ -256,4 +259,6 @@
+ append error "\n$errorInfo"
+ error $error
++} else {
++ puts stderr "Sourced [file nativename $Config(main)] nicely"
+ }
+
++++ bin/httpdthread.tcl 2000/05/10 19:32:55
+@@ -142,2 +142,14 @@
+ }
+
++if {[info exists Config(extrafiles)]} {
++ puts stderr "Proceeding to source $Config(extrafiles)"
++ foreach f $Config(extrafiles) {
++ if {[catch "source $f" e]} {
++ puts stderr "Failed to source $f: $e"
++ } else {
++ puts stderr "Sourced $f ($e)."
++ }
++ }
++} else {
++ puts stderr "No extra files specified"
++}