4 * Manage the nfskeys database.
6 * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
21 static FILE *cfp = NULL;
24 setnfskeyent(char *fname)
29 fname = _PATH_NFSKEYS;
30 cfp = fsetnfskeyent(fname, "r");
35 fsetnfskeyent(char *fname, char *type)
40 if ((fp = fopen(fname, type)) == NULL)
41 xlog(L_ERROR, "can't open %s for %sing\n",
42 fname, type[0] == 'r'? "read" : "writ");
45 return fopen(fname, type);
52 return fgetnfskeyent(cfp);
56 fgetnfskeyent(FILE *fp)
58 static struct nfskeyent ke;
64 if (fread(&ke, sizeof(ke), 1, fp) != 1)
66 } while(ke.k_hostname[0] == '\0');
79 fendnfskeyent(FILE *fp)
86 fputnfskeyent(FILE *fp, struct nfskeyent *kep)
88 fwrite(kep, sizeof(*kep), 1, fp);
92 getnfskeytype(char *st)
94 if (!strcasecmp(st, "null"))
96 if (!strcasecmp(st, "md5"))
98 if (!strcasecmp(st, "sha"))
104 getnfskeyname(int type)
120 getnfskeysize(int type)