Store the location of the configuration directory in a global
variable, rather than hardcoding it in multiple locations in the file.
This makes it easier to write unit tests for portions of the fileserver,
and is a step towards producing a fileserver that can be run from
within the test suite.
Change-Id: I0ee1d9bed084472b1e29b9c559a8726f867f91e4
Reviewed-on: http://gerrit.openafs.org/7585
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
extern struct afsconf_dir *confDir; /* config dir object */
extern int lwps; /* the max number of server threads */
extern afsUUID FS_HostUUID;
+extern char *FS_configPath;
afsUUID nulluuid;
int CEs = 0; /* active clients */
afs_int32 i;
char cellstr[64];
- tdir = afsconf_Open(AFSDIR_SERVER_ETC_DIRPATH);
+ tdir = afsconf_Open(FS_configPath);
if (!tdir) {
- ViceLog(0, ("hpr_Initialize: Could not open configuration directory: %s", AFSDIR_SERVER_ETC_DIRPATH));
+ ViceLog(0,
+ ("hpr_Initialize: Could not open configuration directory: %s",
+ FS_configPath));
return -1;
}
#define ADDRSPERSITE 16 /* Same global is in rx/rx_user.c */
char FS_HostName[128] = "localhost";
+char *FS_configPath = NULL;
afs_uint32 FS_HostAddr_NBO;
afs_uint32 FS_HostAddr_HBO;
afs_uint32 FS_HostAddrs[ADDRSPERSITE], FS_HostAddr_cnt = 0, FS_registered = 0;
exit(1);
}
#endif
- confDir = afsconf_Open(AFSDIR_SERVER_ETC_DIRPATH);
+ FS_configPath = strdup(AFSDIR_SERVER_ETC_DIRPATH);
+
+ confDir = afsconf_Open(FS_configPath);
if (!confDir) {
fprintf(stderr, "Unable to open config directory %s\n",
- AFSDIR_SERVER_ETC_DIRPATH);
+ FS_configPath);
exit(-1);
}