X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=support%2Fexport%2Fkeys.c;fp=support%2Fexport%2Fkeys.c;h=0000000000000000000000000000000000000000;hb=9f5b40b7a68fe0a2648565ecbd4b08bf60287130;hp=481480871a085972ea54337d32f1a25fb1d30599;hpb=fbb1602bbd34cbe89dd55ca6eaaa19432237db1d;p=nfs-utils.git diff --git a/support/export/keys.c b/support/export/keys.c deleted file mode 100644 index 4814808..0000000 --- a/support/export/keys.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * keys.c Key management for nfsd. Currently, keys - * are kept in a single file only, but eventually, - * support for a key server should be added. - * - * Copyright (C) 1995 Olaf Kirch - */ - -#include "config.h" - -#include -#include "nfslib.h" -#include "exportfs.h" -#include "xmalloc.h" - -struct keycache { - struct keycache * k_next; - struct nfskeyent k_data; -}; - -static struct keycache * keycache = NULL; -static time_t lastmod = 0; - -static void key_reload(void); - - -struct nfskey * -key_lookup(char *hname) -{ - struct keycache *kc; - - key_reload(); - - for (kc = keycache; kc; kc = kc->k_next) { -#if 0 - if (matchhostname(kc->k_data.k_hostname, hname)) -#else - if (!strcmp(kc->k_data.k_hostname, hname)) -#endif - return &kc->k_data.k_key; - } - - return NULL; -} - -static void -key_reload(void) -{ - struct stat stb; - struct keycache *cp; - struct nfskeyent *kp; - - if (stat(_PATH_NFSKEYS, &stb) >= 0 && stb.st_mtime == lastmod) - return; - - while (keycache) { - cp = keycache->k_next; - xfree(keycache); - keycache = cp; - } - - setnfskeyent(_PATH_NFSKEYS); - while ((kp = getnfskeyent()) != NULL) { - cp = (struct keycache *) xmalloc(sizeof(*cp)); - cp->k_data = *kp; - cp->k_next = keycache; - keycache = cp; - } - endnfskeyent(); - - lastmod = stb.st_mtime; -}