ETag=""
in CGI
"#DEBUG:..."
in CGI
$web/etc/namespace
has gone
/usr/web/bin/rc/webdav.lua
/sys/lib/lua
$web/log/webdav.log
$web/._.locktokens
$web/etc/handler
$web/etc/passwd
Pegasus 2.6 is released with new WebDAV script written in Lua.
The sources are in
http://plan9.aichi-u.ac.jp/netlib/pegasus/
and
http://plan9.aichi-u.ac.jp/netlib/webappls/webdav_lua/
For those who are new to Pegasus, the installation instructions for Pegasus 2.6 are provided.
Pegasus is a flexible httpd server. If you want to know more about current Pegasus, you need to read changes after Pegasus 2.2. These changes are in the documents: Pegasus 2.3, Pegasus 2.4, and Pegasus 2.5
ETag=""
in CGIETag=""
in HTTP header.
"#DEBUG:..."
in CGI"#DEBUG:..."
in headers, the value will be put to log file.
$web/etc/namespace
has gone$web/etc/namespace
. I found that it is better to remove the restriction.
Lua interpreter is 20 times smaller than Perl as shown below.
--rwxr-xr-x M 1438298 arisawa sys 594852 Jan 25 00:06 /bin/lua --rwxrwxr-x M 1438298 bootes sys 9609130 Nov 25 2002 /bin/perlCorresponding stripped sizes are:
--rwxr-xr-x M 1438298 arisawa arisawa 235922 Jan 31 14:06 /tmp/lua --rwxrwxr-x M 1438298 arisawa arisawa 4548970 Jan 31 14:06 /tmp/perlI added some codes to support WebDAV. Original size of lua is 6% (for un-stripped) and 8% (for stripped) smaller than above values. Code size is critical in case WebDAV is implemented on script.
lua-5.1-p9ext.tgz
webdav.lua
libp9.lua
libxml.lua
libdav.lua
lua-5.1-p9ext.tgz
is plan9 extension of /n/sources/contrib/iru/lua-5.1-plan9.tgz
You need:
lua
# Lua interpreter with extension for webdav/386/bin/
or /usr/local/bin/386/
webdav.lua
/usr/web/bin/rc/
chmod 755 webdav.lua
libp9.lua
/sys/lib/lua
libxml.lua
/sys/lib/lua
libdav.lua
/sys/lib/lua
/usr/web/bin/rc/webdav.lua
webdav.lua
controls taking log:LOG = io.open("/log/webdav.log","a") -- uncomment if you need logIf you don't want log change the line to
-- LOG = io.open("/log/webdav.log","a") -- uncomment if you need logbut if you want:
LOG = io.open("/log/webdav.log","a") -- uncomment if you need log
/sys/lib/lua
$web
is a httpd root* of a user, and host
stands for "host
", "host:port
" or "host/~user
".
$web/log/webdav.log
$web/log
if you take a log. It must be writable by user web
.
$web/._.locktokens
$web/._.locktokens
if you want to mount $web/doc
onto your local computer.$web/path/._.locktokens
if you want to mount $web/path/foo
, where path
is any path and foo
is a directory name.
The directory "._.locktokens
" must be writable by user web
.
$web/etc/handler
$web/doc
onto your local computer with server addresshttp://host/davthen the following lines are required.
/dav - * /bin/webdav.lua /dav /doc /dav/* - * /bin/webdav.lua /dav /docYou may replace "
/dav
" by other "/bar
" and likewise you may replace "/doc
" by "/path/foo
". Thus you may have WebDAV storage out of document root.
$web/etc/passwd
arisawa 1ecdd023fbd3c3fe8f63b05827c0d38a /dav arisawa@herawhere
arisawa@hera
is my realm and the md5 value is obtained byecho -n 'arisawa:arisawa@hera:black cat' | md5sumfor password "black cat".
OSX client is slow because of incredibly stupid behavior of the client.
There are many issues on this subject in the Internet.
You need to adjust parameters in /sys/lib/httpd.conf
if OSX client suddenly lost server side information. The candidate is maxconnect
and maxaccess
. Look /sys/log/blacklist
to find which parameter makes the problem.
PROPFIND
request with Depth:1
except names in the collection. After the request, the client continues PROPFIND
requests to all names in the collection although the client already has received requesting information . Thus, if a collection has 100 files then 100 PROPFIND
requests continue in a short time. The huge amount of accesses might make Pegasus busy state. Then you need to loosen maxconnect
and/or maxaccess
.
OSX 10.4 should work as has been.
?
" magic such ashttp://host/dav?in creating "Network Place".
?
" then Vista fails in creating Network Place.
(2) you need not host name "@host
" such as
alice@hostsin your user name.
WinXP and Win2000 should work as has been.