]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/configfile.c
There are a number of different mount options that can be
[nfs-utils.git] / utils / mount / configfile.c
index e347b0ebcaf3fed77f86b873c25a3e77b6bd5ec7..b0aa6f05265bde7ba08bd1ae0d437d5d517aa2b1 100644 (file)
@@ -185,6 +185,20 @@ void free_all(void)
                free(entry);
        }
 }
+static char *versions[] = {"v2", "v3", "v4", "vers", "nfsvers", NULL};
+int inline check_vers(char *mopt, char *field)
+{
+       int i;
+
+       if (strncmp("mountvers", field, strlen("mountvers") != 0 &&
+                       (strcasecmp(field, "nfsvers") == 0 || 
+                               strcasecmp(field, "vers") == 0))) {
+               for (i=0; versions[i]; i++) 
+                       if (strcasestr(mopt, versions[i]) != NULL)
+                               return 1;
+       }
+       return 0;
+}
 /*
  * Parse the given section of the configuration 
  * file to if there are any mount options set.
@@ -207,6 +221,12 @@ conf_parse_mntopts(char *section, char *arg, char *opts)
                snprintf(buf, BUFSIZ, "%s=", node->field);
                if (opts && strcasestr(opts, buf) != NULL)
                        continue;
+               /* 
+                * Protocol verions can be set in a number of ways
+                */
+               if (opts && check_vers(opts, node->field))
+                       continue;
+
                if (lookup_entry(node->field) != NULL)
                        continue;
                buf[0] = '\0';