if (ok == 0)
exp[0] = '\0';
if ((opt = strchr(exp, '(')) != NULL) {
+ if (opt == exp)
+ xlog(L_WARNING, "No host name given with %s %s, suggest *%s to avoid warning", ee.e_path, exp, exp);
*opt++ = '\0';
if (!(sp = strchr(opt, ')')) || sp[1] != '\0') {
syntaxerr("bad option list");
*sp = '\0';
if (parseopts(opt, &ee) < 0)
return NULL;
+ } else {
+ xlog(L_WARNING, "No options for %s %s: suggest %s() to avoid warning", ee.e_path, exp, exp);
}
if (strlen(exp) >= sizeof(ee.e_hostname)) {
syntaxerr("client name too long");
"" : "no_");
fprintf(fp, "%ssubtree_check,", (ep->e_flags & NFSEXP_NOSUBTREECHECK)?
"no_" : "");
+ fprintf(fp, "%ssecure_locks,", (ep->e_flags & NFSEXP_NOAUTHNLM)?
+ "in" : "");
fprintf(fp, "mapping=");
switch (ep->e_maptype) {
ep->e_flags &= ~NFSEXP_NOSUBTREECHECK;
else if (strcmp(opt, "no_subtree_check") == 0)
ep->e_flags |= NFSEXP_NOSUBTREECHECK;
+ else if (strcmp(opt, "auth_nlm") == 0)
+ ep->e_flags &= ~NFSEXP_NOAUTHNLM;
+ else if (strcmp(opt, "no_auth_nlm") == 0)
+ ep->e_flags |= NFSEXP_NOAUTHNLM;
+ else if (strcmp(opt, "secure_locks") == 0)
+ ep->e_flags &= ~NFSEXP_NOAUTHNLM;
+ else if (strcmp(opt, "insecure_locks") == 0)
+ ep->e_flags |= NFSEXP_NOAUTHNLM;
else if (strncmp(opt, "mapping=", 8) == 0)
ep->e_maptype = parsemaptype(opt+8);
else if (strcmp(opt, "map_identity") == 0) /* old style */
cp++;
} while(1);
- if (*cp == ',') *ep = cp+1;
-
+ if (**ep == ',') (*ep)++;
+
*lenp = len;
*idp = id;
return 1;