MOUNT_WEBDAV(8)             System Manager's Manual            MOUNT_WEBDAV(8)

NAME
     mount_webdav - mount a WebDAV filesystem

SYNOPSIS
     mount_webdav [-a<fd>] [-o options] host[:port][/path] node

DESCRIPTION
     The mount_webdav command mounts a WebDAV-enabled server directory at
     host[:port][/path] at the mount point indicated by node.

     The user and group IDs for all files and directories are set to unknown,
     and the permissions default to read, write and execute for user, group
     and other.

     The arguments and options are:

     -a<fd>  A file descriptor which identifies a file containing the username
             and the password. mount_webdav reads the username and password
             from the file, zeros the file's contents, and then closes the
             file. mount_webdav does not delete the file after closing it, so
             the file should be unlinked before passing it to mount_webdav.
             See the FILES section of this man page for more details.

     -o      Options passed to mount(2) are specified with the -o option fol-
             lowed by a comma separated string of options. See the mount(8)
             man page for possible options and their meanings. If connecting
             to a Class 1 compliant WebDAV server, the rdonly option will be
             set even if it was not specified because mount_webdav will not
             allow files to be opened with write access on servers which do
             not support the DAV LOCK method.

     host[:port][/path]
             The WebDAV-enabled server directory to mount as a volume. If port
             is not specified, then port 80 is used. If path is not specified,
             then the path "/" is used.

     node    Path to mount point.

EXAMPLES
     The following example illustrates how to mount the WebDAV-enabled server
     directory idisk.mac.com/membername/ at the mount point /Volumes/mntpnt/

           mount_webdav idisk.mac.com/membername/ /Volumes/mntpnt/

FILES
     The username/password file passed to the mount_webdav command as the
     -a<fd> option has the following format:

     u_int32_t   length of username
     char[]      username
     u_int32_t   length of password
     char[]      password

     The -a<fd> option string is created with code similar to this:

     #define WEBDAV_TEMPLATE "/tmp/webdav.XXXXXX"
     int ok;
     int fd;
     u_int32_t length;
     char fd_str[20];
     char template[sizeof(WEBDAV_TEMPLATE)+1];
     ok = 0;
     strcpy(template, WEBDAV_TEMPLATE);
     fd = mkstemp(template);
     if (fd != -1) {
         if (!unlink(template)) {
             length = strlen(username);
             if (write(fd, &length, sizeof(u_int32_t)) > 0) {
                 if (write(fd, username, length) > 0) {
                     length = strlen(password);
                     if (write(fd, &length, sizeof(u_int32_t)) > 0) {
                         if (write(fd, password, length) > 0) {
                             ok = 1;
                         }
                     }
                 }
             }
         } else {
             (void)close(fd);
             fd = -1;
         }
     }
     if (ok) {
         (void)fsync(fd);
         sprintf(fd_str, "-a%d", fd);
     } else {
         *fd_str = 0;
         if (fd != -1) {
             (void)close(fd);
         }
     }

SEE ALSO
     mount(2), unmount(2), mount(8)

HISTORY
     The mount_webdav command first appeared Mac OS X Version 10.0. Support
     for Digest Access authentication was added in Mac OS X Version 10.1.1.

RETURN VALUES
     0                  mount_webdav successfully mounted the server direc-
                        tory.

     [ENOENT]           The server directory could not be mounted by
                        mount_webdav because the node path is invalid.

     [ENODEV]           The server directory could not be mounted by
                        mount_webdav because it is not WebDAV-enabled or
                        because it does not exist, or because node does not
                        have proper access.

     [ECANCELED]        The server directory could not be mounted by
                        mount_webdav because the user did not provide proper
                        authentication credentials.

Mac OS X                         July 26, 2002                        Mac OS X