X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=support%2Fnfs%2Fexports.c;h=dea040f1006eb830f13a031d1a55dce80555867d;hp=c250383a1b2fe2ada93bc5c8bf172fc02e3ad49b;hb=6eba4e22ce2b10bcfb19fbb253f7e235afbaa406;hpb=56f537535190d034039570bafd9a0de71b79b8f1 diff --git a/support/nfs/exports.c b/support/nfs/exports.c index c250383..dea040f 100644 --- a/support/nfs/exports.c +++ b/support/nfs/exports.c @@ -39,12 +39,6 @@ struct flav_info flav_map[] = { { "krb5", RPC_AUTH_GSS_KRB5 }, { "krb5i", RPC_AUTH_GSS_KRB5I }, { "krb5p", RPC_AUTH_GSS_KRB5P }, - { "lipkey", RPC_AUTH_GSS_LKEY }, - { "lipkey-i", RPC_AUTH_GSS_LKEYI }, - { "lipkey-p", RPC_AUTH_GSS_LKEYP }, - { "spkm3", RPC_AUTH_GSS_SPKM }, - { "spkm3i", RPC_AUTH_GSS_SPKMI }, - { "spkm3p", RPC_AUTH_GSS_SPKMP }, { "unix", AUTH_UNIX }, { "sys", AUTH_SYS }, { "null", AUTH_NULL }, @@ -475,7 +469,7 @@ static void clearflags(int mask, unsigned int active, struct exportent *ep) * ensure that the export flags agree with the flags on each * pseudoflavor: */ -static void fix_pseudoflavor_flags(struct exportent *ep) +void fix_pseudoflavor_flags(struct exportent *ep) { struct export_features *ef; struct sec_entry *p; @@ -649,6 +643,8 @@ bad_option: cp++; } + if (ep->e_secinfo[0].flav == NULL) + secinfo_addflavor(find_flavor("sys"), ep); fix_pseudoflavor_flags(ep); ep->e_squids = squids; ep->e_sqgids = sqgids; @@ -784,8 +780,9 @@ struct export_features *get_export_features(void) fd = open(path, O_RDONLY); if (fd == -1) goto good; - fd = read(fd, buf, 50); - if (fd == -1) + c = read(fd, buf, 50); + close(fd); + if (c == -1) goto err; c = sscanf(buf, "%x %x", &ef.flags, &ef.secinfo_flags); if (c != 2)