diff options
-rw-r--r-- | support/include/conffile.h | 2 | ||||
-rw-r--r-- | support/nfs/Makefile.am | 4 | ||||
-rw-r--r-- | support/nfs/conffile.c | 42 | ||||
-rw-r--r-- | support/nfsidmap/libnfsidmap.c | 17 | ||||
-rw-r--r-- | systemd/rpc-pipefs-generator.c | 2 | ||||
-rw-r--r-- | utils/blkmapd/device-discovery.c | 2 | ||||
-rw-r--r-- | utils/exportfs/exportfs.c | 2 | ||||
-rw-r--r-- | utils/gssd/gssd.c | 2 | ||||
-rw-r--r-- | utils/idmapd/idmapd.c | 6 | ||||
-rw-r--r-- | utils/mount/mount_config.h | 2 | ||||
-rw-r--r-- | utils/mountd/mountd.c | 2 | ||||
-rw-r--r-- | utils/nfsd/nfsd.c | 2 | ||||
-rw-r--r-- | utils/nfsdcltrack/nfsdcltrack.c | 2 | ||||
-rw-r--r-- | utils/statd/sm-notify.c | 2 | ||||
-rw-r--r-- | utils/statd/statd.c | 2 |
15 files changed, 55 insertions, 36 deletions
diff --git a/support/include/conffile.h b/support/include/conffile.h index d4cb6b4..ad20067 100644 --- a/support/include/conffile.h +++ b/support/include/conffile.h @@ -60,7 +60,7 @@ extern _Bool conf_get_bool(const char *, const char *, _Bool); extern char *conf_get_str(const char *, const char *); extern char *conf_get_str_with_def(const char *, const char *, char *); extern char *conf_get_section(const char *, const char *, const char *); -extern void conf_init(const char *); +extern void conf_init_file(const char *); extern void conf_cleanup(void); extern int conf_match_num(const char *, const char *, int); extern int conf_remove(int, const char *, const char *); diff --git a/support/nfs/Makefile.am b/support/nfs/Makefile.am index c037c46..e573b69 100644 --- a/support/nfs/Makefile.am +++ b/support/nfs/Makefile.am @@ -7,10 +7,10 @@ libnfs_la_SOURCES = exports.c rmtab.c xio.c rpcmisc.c rpcdispatch.c \ xcommon.c wildmat.c mydaemon.c \ rpc_socket.c getport.c \ svc_socket.c cacheio.c closeall.c nfs_mntent.c \ - svc_create.c atomicio.c strlcpy.c strlcat.c + svc_create.c atomicio.c strlcat.c libnfs_la_LIBADD = libnfsconf.la -libnfsconf_la_SOURCES = conffile.c xlog.c +libnfsconf_la_SOURCES = conffile.c xlog.c strlcpy.c MAINTAINERCLEANFILES = Makefile.in diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c index 9c5ed8e..dce8148 100644 --- a/support/nfs/conffile.c +++ b/support/nfs/conffile.c @@ -53,11 +53,9 @@ #include "conffile.h" #include "xlog.h" -#pragma GCC visibility push(hidden) - static void conf_load_defaults(void); -static char * conf_load(const char *path); -static int conf_set(int , const char *, const char *, const char *, +static char * conf_readfile(const char *path); +int conf_set(int , const char *, const char *, const char *, const char *, int , int ); static void conf_parse(int trans, char *buf, char **section, char **subsection); @@ -79,12 +77,10 @@ TAILQ_HEAD (conf_trans_head, conf_trans) conf_trans_queue; /* * Radix-64 Encoding. */ -#if 0 -static const uint8_t bin2asc[] +const uint8_t bin2asc[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -#endif -static const uint8_t asc2bin[] = +const uint8_t asc2bin[] = { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, @@ -370,7 +366,7 @@ conf_parse_line(int trans, char *line, int lineno, char **section, char **subsec if (strcasecmp(line, "include")==0) { /* load and parse subordinate config files */ - char * subconf = conf_load(val); + char * subconf = conf_readfile(val); if (subconf == NULL) { xlog_warn("config file error: line %d: " "error loading included config", lineno); @@ -435,7 +431,7 @@ conf_load_defaults(void) } static char * -conf_load(const char *path) +conf_readfile(const char *path) { struct stat sb; if ((stat (path, &sb) == 0) || (errno != ENOENT)) { @@ -444,19 +440,19 @@ conf_load(const char *path) int fd = open (path, O_RDONLY, 0); if (fd == -1) { - xlog_warn("conf_reinit: open (\"%s\", O_RDONLY) failed", path); + xlog_warn("conf_readfile: open (\"%s\", O_RDONLY) failed", path); return NULL; } new_conf_addr = malloc(sz+1); if (!new_conf_addr) { - xlog_warn("conf_reinit: malloc (%lu) failed", (unsigned long)sz); + xlog_warn("conf_readfile: malloc (%lu) failed", (unsigned long)sz); goto fail; } /* XXX I assume short reads won't happen here. */ if (read (fd, new_conf_addr, sz) != (int)sz) { - xlog_warn("conf_reinit: read (%d, %p, %lu) failed", + xlog_warn("conf_readfile: read (%d, %p, %lu) failed", fd, new_conf_addr, (unsigned long)sz); goto fail; } @@ -493,15 +489,19 @@ static void conf_free_bindings(void) } } +#pragma GCC visibility push(hidden) +/* these are the real fuinctions, hidden from being exported + * by libnfsidmap ABI compatability */ + /* Open the config file and map it into our address space, then parse it. */ static void -conf_reinit(const char *conf_file) +conf_load_file(const char *conf_file) { int trans; char * conf_data; trans = conf_begin(); - conf_data = conf_load(conf_file); + conf_data = conf_readfile(conf_file); if (conf_data == NULL) return; @@ -526,7 +526,7 @@ conf_reinit(const char *conf_file) } void -conf_init (const char *conf_file) +conf_init_file(const char *conf_file) { unsigned int i; @@ -536,7 +536,7 @@ conf_init (const char *conf_file) TAILQ_INIT (&conf_trans_queue); if (conf_file == NULL) conf_file=NFS_CONFFILE; - conf_reinit(conf_file); + conf_load_file(conf_file); } /* @@ -560,6 +560,8 @@ conf_cleanup(void) TAILQ_INIT(&conf_trans_queue); } +#pragma GCC visibility pop + /* * Return the numeric value denoted by TAG in section SECTION or DEF * if that tag does not exist. @@ -575,6 +577,7 @@ conf_get_num(const char *section, const char *tag, int def) return def; } +#pragma GCC visibility push(hidden) /* * Return the Boolean value denoted by TAG in section SECTION, or DEF * if that tags does not exist. @@ -606,6 +609,7 @@ conf_get_bool(const char *section, const char *tag, _Bool def) return false; return def; } +#pragma GCC visibility pop /* Validate X according to the range denoted by TAG in section SECTION. */ int @@ -651,6 +655,7 @@ conf_get_str_with_def(const char *section, const char *tag, char *def) return result; } +#pragma GCC visibility push(hidden) /* * Find a section that may or may not have an argument */ @@ -682,6 +687,7 @@ retry: } return 0; } +#pragma GCC visibility pop /* * Build a list of string values out of the comma separated value denoted by @@ -876,7 +882,7 @@ conf_trans_node(int transaction, enum conf_op op) } /* Queue a set operation. */ -static int +int conf_set(int transaction, const char *section, const char *arg, const char *tag, const char *value, int override, int is_default) { diff --git a/support/nfsidmap/libnfsidmap.c b/support/nfsidmap/libnfsidmap.c index 931387a..40011ee 100644 --- a/support/nfsidmap/libnfsidmap.c +++ b/support/nfsidmap/libnfsidmap.c @@ -89,6 +89,10 @@ gid_t nobody_gid = (gid_t)-1; #define NFS4DNSTXTREC "_nfsv4idmapdomain" #endif +/* DEPRECATED these are for ABI compatibility only */ +char * conf_path = PATH_IDMAPDCONF; +void conf_reinit(void); +void conf_init(void); /* Default logging fuction */ static void default_logger(const char *fmt, ...) @@ -342,7 +346,6 @@ int nfs4_init_name_mapping(char *conffile) char *nobody_user, *nobody_group; char *nostrip; char *reformatgroup; - char *conf_path; /* XXX: need to be able to reload configurations... */ if (nfs4_plugins) /* already succesfully initialized */ @@ -351,7 +354,7 @@ int nfs4_init_name_mapping(char *conffile) conf_path = conffile; else conf_path = PATH_IDMAPDCONF; - conf_init(conf_path); + conf_init_file(conf_path); default_domain = conf_get_str("General", "Domain"); if (default_domain == NULL) { dflt = 1; @@ -710,3 +713,13 @@ void nfs4_set_debug(int dbg_level, void (*logger)(const char *, ...)) idmap_verbosity = dbg_level; } +void conf_reinit(void) +{ + conf_init_file(conf_path); +} + +void conf_init(void) +{ + conf_init_file(conf_path); +} + diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c index 59eee87..6e1d69c 100644 --- a/systemd/rpc-pipefs-generator.c +++ b/systemd/rpc-pipefs-generator.c @@ -121,7 +121,7 @@ int main(int argc, char *argv[]) exit(1); } - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); s = conf_get_str("general", "pipefs-directory"); if (!s) exit(0); diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c index 29bafb2..cae8c8d 100644 --- a/utils/blkmapd/device-discovery.c +++ b/utils/blkmapd/device-discovery.c @@ -456,7 +456,7 @@ int main(int argc, char **argv) char *xrpcpipe_dir = NULL; strncpy(rpcpipe_dir, RPCPIPE_DIR, sizeof(rpcpipe_dir)); - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); CONF_SAVE(xrpcpipe_dir, conf_get_str("general", "pipefs-directory")); if (xrpcpipe_dir != NULL) strlcpy(rpcpipe_dir, xrpcpipe_dir, sizeof(rpcpipe_dir)); diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c index beed1b3..448f195 100644 --- a/utils/exportfs/exportfs.c +++ b/utils/exportfs/exportfs.c @@ -107,7 +107,7 @@ main(int argc, char **argv) xlog_stderr(1); xlog_syslog(0); - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); xlog_from_conffile("exportfs"); /* NOTE: following uses "mountd" section of nfs.conf !!!! */ diff --git a/utils/gssd/gssd.c b/utils/gssd/gssd.c index 053a223..2c14e5f 100644 --- a/utils/gssd/gssd.c +++ b/utils/gssd/gssd.c @@ -842,7 +842,7 @@ read_gss_conf(void) { char *s; - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); use_memcache = conf_get_bool("gssd", "use-memcache", use_memcache); root_uses_machine_creds = conf_get_bool("gssd", "use-machine-creds", root_uses_machine_creds); diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c index 4cbe148..2b9ecea 100644 --- a/utils/idmapd/idmapd.c +++ b/utils/idmapd/idmapd.c @@ -252,7 +252,7 @@ main(int argc, char **argv) warn("Skipping configuration file \"%s\"", conf_path); conf_path = NULL; } else { - conf_init(conf_path); + conf_init_file(conf_path); verbose = conf_get_num("General", "Verbosity", 0); cache_entry_expiration = conf_get_num("General", "Cache-Expiration", DEFAULT_IDMAP_CACHE_EXPIRY); @@ -264,13 +264,13 @@ main(int argc, char **argv) } } else { conf_path = NFS_CONFFILE; - conf_init(conf_path); + conf_init_file(conf_path); CONF_SAVE(xpipefsdir, conf_get_str("General", "Pipefs-Directory")); if (xpipefsdir != NULL) strlcpy(pipefsdir, xpipefsdir, sizeof(pipefsdir)); conf_path = _PATH_IDMAPDCONF; - conf_init(conf_path); + conf_init_file(conf_path); verbose = conf_get_num("General", "Verbosity", 0); cache_entry_expiration = conf_get_num("General", "cache-expiration", DEFAULT_IDMAP_CACHE_EXPIRY); diff --git a/utils/mount/mount_config.h b/utils/mount/mount_config.h index e4f8511..7cc72fc 100644 --- a/utils/mount/mount_config.h +++ b/utils/mount/mount_config.h @@ -32,7 +32,7 @@ static inline void mount_config_init(char *program) /* * Read the the default mount options */ - conf_init(MOUNTOPTS_CONFFILE); + conf_init_file(MOUNTOPTS_CONFFILE); } static inline char *mount_config_opts(char *spec, diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c index 829f803..4c68702 100644 --- a/utils/mountd/mountd.c +++ b/utils/mountd/mountd.c @@ -679,7 +679,7 @@ main(int argc, char **argv) else progname = argv[0]; - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); xlog_from_conffile("mountd"); manage_gids = conf_get_bool("mountd", "manage-gids", manage_gids); descriptors = conf_get_num("mountd", "descriptors", descriptors); diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c index f973203..f41a2de 100644 --- a/utils/nfsd/nfsd.c +++ b/utils/nfsd/nfsd.c @@ -80,7 +80,7 @@ main(int argc, char **argv) xlog_syslog(0); xlog_stderr(1); - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); xlog_from_conffile("nfsd"); count = conf_get_num("nfsd", "threads", count); grace = conf_get_num("nfsd", "grace-time", grace); diff --git a/utils/nfsdcltrack/nfsdcltrack.c b/utils/nfsdcltrack/nfsdcltrack.c index 7830cf4..76b06d2 100644 --- a/utils/nfsdcltrack/nfsdcltrack.c +++ b/utils/nfsdcltrack/nfsdcltrack.c @@ -564,7 +564,7 @@ main(int argc, char **argv) xlog_syslog(1); xlog_stderr(0); - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); xlog_from_conffile("nfsdcltrack"); val = conf_get_str("nfsdcltrack", "storagedir"); if (val) diff --git a/utils/statd/sm-notify.c b/utils/statd/sm-notify.c index d961dc0..6d19ec1 100644 --- a/utils/statd/sm-notify.c +++ b/utils/statd/sm-notify.c @@ -494,7 +494,7 @@ main(int argc, char **argv) else progname = argv[0]; - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); xlog_from_conffile("sm-notify"); opt_max_retry = conf_get_num("sm-notify", "retry-time", opt_max_retry / 60) * 60; opt_srcport = conf_get_str("sm-notify", "outgoing-port"); diff --git a/utils/statd/statd.c b/utils/statd/statd.c index 1443715..197d853 100644 --- a/utils/statd/statd.c +++ b/utils/statd/statd.c @@ -273,7 +273,7 @@ int main (int argc, char **argv) /* Set hostname */ MY_NAME = NULL; - conf_init(NFS_CONFFILE); + conf_init_file(NFS_CONFFILE); xlog_from_conffile("statd"); out_port = conf_get_num("statd", "outgoing-port", out_port); port = conf_get_num("statd", "port", port); |