Hi, the attached patch has a typo that sets the password instead of the username if USER= is given. Fix attched. Cheers, -- Guido
diff -u -Naur bla/davfs2-0.2.3/src/mount.c davfs2-0.2.3/src/mount.c --- bla/davfs2-0.2.3/src/mount.c 2004-11-02 06:45:26.000000000 +0100 +++ davfs2-0.2.3/src/mount.c 2005-04-30 19:15:38.000000000 +0200 @@ -276,6 +276,34 @@ return dav_delete_mtab(mopt->dev); } +int parse_env(dav_mount_opt *mopt) +{ + char *p; + + if( (p=getenv("USER")) ) { + mopt->username = ne_strdup(p); + } + if( (p=getenv("PASSWD")) ) { + mopt->password = ne_strdup(p); + } + if( (p=getenv("http_proxy")) ) { + + if(!strncmp("http://",p,7)) { + char *port_str; + p=&(p[7]); // Skip http:// + if((port_str = strchr(p, ':'))) + *port_str++ = 0; + + mopt->proxy_host = ne_strdup(p); + if(port_str) + mopt->proxy_port = atoi(port_str); + else + mopt->proxy_port = DEFAULT_PROXY_PORT; + } + } + return OK; +} + #include <getopt.h> int parse_args(int argc, char *argv[], @@ -334,7 +362,13 @@ /* Clear mopt */ memset(mopt, 0x00, sizeof(*mopt)); - + + if (parse_env(mopt) != OK) { + usage(argv[0]); + printf("Error parsing environment\n"); + return dav_mount_exit(DAV_E_WRARG); + } + if (parse_args(argc, argv, mopt)!=OK) { usage(argv[0]); return dav_mount_exit(DAV_E_WRARG);