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);

Reply via email to