From dcc09def7f953e28e17cb4827acbf691bbeb9067 Mon Sep 17 00:00:00 2001 From: Chris Dituri Date: Sun, 13 Apr 2014 18:13:41 -0500 Subject: [PATCH] obliterate CFWORKDIR (GLOBAL_C) and its usage in the main codebase. - CFWORKDIR globals remain in tests/{unit,load}/ but are unrelated to the main global that is being obliterated here. --- .gitignore | 4 ++++ cf-agent/cf-agent.c | 1 - cf-execd/cf-execd.c | 3 ++- cf-key/cf-key-functions.c | 7 +++++-- cf-runagent/cf-runagent.c | 3 ++- cf-serverd/cf-serverd-functions.c | 2 +- libcfnet/tls_client.c | 1 + libenv/sysinfo.c | 24 +++++++++++++++--------- libenv/unix_iface.c | 3 ++- libpromises/cf3.extern.h | 2 -- libpromises/cf3globals.c | 2 -- libpromises/crypto.c | 14 ++++++++------ libpromises/evalfunction.c | 9 +++++++-- libpromises/generic_agent.c | 25 +++++++++++-------------- libpromises/keyring.c | 4 +++- tests/unit/generic_agent_test.c | 2 ++ tests/unit/mon_processes_test.c | 2 ++ tests/unit/persistent_lock_test.c | 2 ++ 18 files changed, 67 insertions(+), 43 deletions(-) diff --git a/.gitignore b/.gitignore index 42d1649b4bd..99dab0c648a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# git mergetool leftovers + +*.[ch].orig + # intermediate / autogen *.la diff --git a/cf-agent/cf-agent.c b/cf-agent/cf-agent.c index 1e006a6b5ff..d86351a9d8b 100644 --- a/cf-agent/cf-agent.c +++ b/cf-agent/cf-agent.c @@ -455,7 +455,6 @@ static GenericAgentConfig *CheckOpts(int argc, char **argv) const char *inputdir = GetInputDir(); const char *logdir = GetLogDir(); const char *statedir = GetStateDir(); - strcpy(CFWORKDIR, workdir); Writer *out = FileWriter(stdout); WriterWriteF(out, "self-diagnostics for agent using workdir '%s'\n", workdir); WriterWriteF(out, "self-diagnostics for agent using inputdir '%s'\n", inputdir); diff --git a/cf-execd/cf-execd.c b/cf-execd/cf-execd.c index c01293aa1d6..a95d9d27aeb 100644 --- a/cf-execd/cf-execd.c +++ b/cf-execd/cf-execd.c @@ -418,7 +418,8 @@ static bool LocalExecInThread(const ExecConfig *config) static void Apoptosis(void) { char promiser_buf[CF_SMALLBUF]; - snprintf(promiser_buf, sizeof(promiser_buf), "%s/bin/cf-execd", CFWORKDIR); + snprintf(promiser_buf, sizeof(promiser_buf), "%s%cbin%ccf-execd", + GetWorkDir(), FILE_SEPARATOR, FILE_SEPARATOR); if (LoadProcessTable(&PROCESSTABLE)) { diff --git a/cf-key/cf-key-functions.c b/cf-key/cf-key-functions.c index 7afe0738627..53163bd6532 100644 --- a/cf-key/cf-key-functions.c +++ b/cf-key/cf-key-functions.c @@ -39,6 +39,7 @@ #include #include #include +#include static const char *const passphrase = "Cfengine passphrase"; @@ -124,7 +125,9 @@ int TrustKey(const char* pubkey) if (NULL == digeststr) return 1; /* ERROR exitcode */ - snprintf(outfilename, CF_BUFSIZE, "%s/ppkeys/root-%s.pub", CFWORKDIR, digeststr); + snprintf(outfilename, CF_BUFSIZE, "%s%cppkeys%croot-%s.pub", + GetWorkDir(), FILE_SEPARATOR, FILE_SEPARATOR, digeststr); + free(digeststr); ok = CopyRegularFileDisk(pubkey, outfilename); @@ -313,7 +316,7 @@ void KeepKeyPromises(const char *public_key_file, const char *private_key_file) fclose(fp); - snprintf(vbuff, CF_BUFSIZE, "%s/randseed", CFWORKDIR); + snprintf(vbuff, CF_BUFSIZE, "%s%crandseed", GetWorkDir(), FILE_SEPARATOR); if (RAND_write_file(vbuff) != 1024) { Log(LOG_LEVEL_ERR, "Unable to write randseed"); diff --git a/cf-runagent/cf-runagent.c b/cf-runagent/cf-runagent.c index ce25f2c1045..7cfdff59964 100644 --- a/cf-runagent/cf-runagent.c +++ b/cf-runagent/cf-runagent.c @@ -746,7 +746,8 @@ static FILE *NewStream(char *name) } else { - snprintf(filename, CF_BUFSIZE, "%s/outputs/%s_runagent.out", CFWORKDIR, name); + snprintf(filename, CF_BUFSIZE, "%s%coutputs%c%s_runagent.out", + GetWorkDir(), FILE_SEPARATOR, FILE_SEPARATOR, name); } if (OUTPUT_TO_FILE) diff --git a/cf-serverd/cf-serverd-functions.c b/cf-serverd/cf-serverd-functions.c index 0f1f9ff7ece..b36e3ad02b5 100644 --- a/cf-serverd/cf-serverd-functions.c +++ b/cf-serverd/cf-serverd-functions.c @@ -301,7 +301,7 @@ static void KeepHardClasses(EvalContext *ctx) char name[CF_BUFSIZE]; if (name != NULL) { - char *existing_policy_server = ReadPolicyServerFile(CFWORKDIR); + char *existing_policy_server = ReadPolicyServerFile(GetWorkDir()); if (existing_policy_server) { free(existing_policy_server); diff --git a/libcfnet/tls_client.c b/libcfnet/tls_client.c index 9c0f4a64898..0a961b2ed75 100644 --- a/libcfnet/tls_client.c +++ b/libcfnet/tls_client.c @@ -37,6 +37,7 @@ #include /* SendTransaction, ReceiveTransaction */ /* TODO move crypto.h to libutils */ #include /* LoadSecretKeys */ +#include /* ReadPolicyServerFile */ extern RSA *PRIVKEY, *PUBKEY; diff --git a/libenv/sysinfo.c b/libenv/sysinfo.c index 37f25d6704f..a76fb67de42 100644 --- a/libenv/sysinfo.c +++ b/libenv/sysinfo.c @@ -378,6 +378,8 @@ void DiscoverVersion(EvalContext *ctx) int major = 0; int minor = 0; int patch = 0; + const char* const workdir = GetWorkDir(); + if (3 == sscanf(Version(), "%d.%d.%d", &major, &minor, &patch)) { char workbuf[CF_BUFSIZE]; @@ -389,7 +391,10 @@ void DiscoverVersion(EvalContext *ctx) snprintf(workbuf, CF_MAXVARSIZE, "%d", patch); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "cf_version_patch", workbuf, CF_DATA_TYPE_STRING, "source=agent"); - snprintf(workbuf, CF_BUFSIZE, "%s%cinputs%clib%c%d.%d", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, FILE_SEPARATOR, major, minor); + snprintf(workbuf, CF_BUFSIZE, "%s%cinputs%clib%c%d.%d", + workdir, FILE_SEPARATOR, FILE_SEPARATOR, + FILE_SEPARATOR, major, minor); + EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "libdir", workbuf, CF_DATA_TYPE_STRING, "source=agent"); snprintf(workbuf, CF_BUFSIZE, "lib%c%d.%d", FILE_SEPARATOR, major, minor); @@ -400,7 +405,7 @@ void DiscoverVersion(EvalContext *ctx) EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "cf_version_major", "BAD VERSION " VERSION, CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "cf_version_minor", "BAD VERSION " VERSION, CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "cf_version_patch", "BAD VERSION " VERSION, CF_DATA_TYPE_STRING, "source=agent"); - EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "libdir", CFWORKDIR, CF_DATA_TYPE_STRING, "source=agent"); + EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "libdir", workdir, CF_DATA_TYPE_STRING, "source=agent"); } } @@ -412,6 +417,7 @@ static void GetNameInfo3(EvalContext *ctx) struct hostent *hp; struct sockaddr_in cin; unsigned char digest[EVP_MAX_MD_SIZE + 1]; + const char* const workdir = GetWorkDir(); #ifdef _AIX char real_version[_SYS_NMLN]; @@ -564,7 +570,7 @@ static void GetNameInfo3(EvalContext *ctx) EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "release", VSYSNAME.release, CF_DATA_TYPE_STRING, "inventory,source=agent,attribute_name=OS kernel"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "version", VSYSNAME.version, CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "arch", VSYSNAME.machine, CF_DATA_TYPE_STRING, "inventory,source=agent,attribute_name=Architecture"); - EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "workdir", CFWORKDIR, CF_DATA_TYPE_STRING, "source=agent"); + EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "workdir", workdir, CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "fstab", VFSTAB[VSYSTEMHARDCLASS], CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "resolv", VRESOLVCONF[VSYSTEMHARDCLASS], CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "maildir", VMAILDIR[VSYSTEMHARDCLASS], CF_DATA_TYPE_STRING, "source=agent"); @@ -575,7 +581,7 @@ static void GetNameInfo3(EvalContext *ctx) EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "masterdir", GetMasterDir(), CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "inputdir", GetInputDir(), CF_DATA_TYPE_STRING, "source=agent"); - snprintf(workbuf, CF_BUFSIZE, "%s%cbin", CFWORKDIR, FILE_SEPARATOR); + snprintf(workbuf, CF_BUFSIZE, "%s%cbin", workdir, FILE_SEPARATOR); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "bindir", workbuf, CF_DATA_TYPE_STRING, "source=agent"); snprintf(workbuf, CF_BUFSIZE, "%s%cfailsafe.cf", GetInputDir(), FILE_SEPARATOR); @@ -612,16 +618,16 @@ static void GetNameInfo3(EvalContext *ctx) // twin has own dir, and is named agent if (i == 0) { - snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin-twin%ccf-agent.exe", CFWORKDIR, FILE_SEPARATOR, + snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin-twin%ccf-agent.exe", workdir, FILE_SEPARATOR, FILE_SEPARATOR); } else { - snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s.exe", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, + snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s.exe", workdir, FILE_SEPARATOR, FILE_SEPARATOR, components[i]); } #else - snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, components[i]); + snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s", workdir, FILE_SEPARATOR, FILE_SEPARATOR, components[i]); #endif have_component[i] = false; @@ -641,10 +647,10 @@ static void GetNameInfo3(EvalContext *ctx) snprintf(shortname, CF_MAXVARSIZE - 1, "%s", CanonifyName(components[0])); #if defined(_WIN32) - snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s.exe", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, + snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s.exe", workdir, FILE_SEPARATOR, FILE_SEPARATOR, components[1]); #else - snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, components[1]); + snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s", workdir, FILE_SEPARATOR, FILE_SEPARATOR, components[1]); #endif if (stat(name, &sb) != -1) diff --git a/libenv/unix_iface.c b/libenv/unix_iface.c index 4800565c91e..d95f7446e33 100644 --- a/libenv/unix_iface.c +++ b/libenv/unix_iface.c @@ -33,6 +33,7 @@ #include /* StringMatchFull */ #include #include +#include #ifdef HAVE_SYS_JAIL_H # include @@ -726,7 +727,7 @@ static void InitIgnoreInterfaces() FILE *fin; char filename[CF_BUFSIZE],regex[CF_MAXVARSIZE]; - snprintf(filename, sizeof(filename), "%s%cinputs%c%s", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, CF_IGNORE_INTERFACES); + snprintf(filename, sizeof(filename), "%s%cinputs%c%s", GetWorkDir(), FILE_SEPARATOR, FILE_SEPARATOR, CF_IGNORE_INTERFACES); if ((fin = fopen(filename,"r")) == NULL) { diff --git a/libpromises/cf3.extern.h b/libpromises/cf3.extern.h index e86e4b8a499..96684320643 100644 --- a/libpromises/cf3.extern.h +++ b/libpromises/cf3.extern.h @@ -35,8 +35,6 @@ extern RSA *PRIVKEY, *PUBKEY; extern char BINDINTERFACE[CF_MAXVARSIZE]; extern time_t CONNTIMEOUT; -extern char CFWORKDIR[CF_BUFSIZE]; - extern time_t CFSTARTTIME; extern struct utsname VSYSNAME; diff --git a/libpromises/cf3globals.c b/libpromises/cf3globals.c index 713c317aa3d..15a7f5d7845 100644 --- a/libpromises/cf3globals.c +++ b/libpromises/cf3globals.c @@ -62,8 +62,6 @@ char VFQNAME[CF_MAXVARSIZE] = ""; /* GLOBAL_E GLOBAL_P */ char VUQNAME[CF_MAXVARSIZE] = ""; /* GLOBAL_E */ char VDOMAIN[CF_MAXVARSIZE] = ""; /* GLOBAL_E GLOBAL_P */ -char CFWORKDIR[CF_BUFSIZE] = ""; /* GLOBAL_C */ - /* Default value for copytype attribute. Loaded by cf-agent from body control */ diff --git a/libpromises/crypto.c b/libpromises/crypto.c index 33e97dd17b2..6288128bb20 100644 --- a/libpromises/crypto.c +++ b/libpromises/crypto.c @@ -138,7 +138,7 @@ static void RandomSeed(void) /* randseed file is written on deinitialization of crypto system */ char randfile[CF_BUFSIZE]; snprintf(randfile, CF_BUFSIZE, "%s%crandseed", - CFWORKDIR, FILE_SEPARATOR); + GetWorkDir(), FILE_SEPARATOR); Log(LOG_LEVEL_VERBOSE, "Looking for a source of entropy in '%s'", randfile); @@ -234,6 +234,7 @@ void PolicyHubUpdateKeys(const char *policy_server) if (GetAmPolicyHub() && NULL != PUBKEY) { unsigned char digest[EVP_MAX_MD_SIZE + 1]; + const char* const workdir = GetWorkDir(); char dst_public_key_filename[CF_BUFSIZE] = ""; { @@ -241,7 +242,7 @@ void PolicyHubUpdateKeys(const char *policy_server) HashPubKey(PUBKEY, digest, CF_DEFAULT_DIGEST); snprintf(dst_public_key_filename, sizeof(dst_public_key_filename), "%s/ppkeys/%s-%s.pub", - CFWORKDIR, "root", + workdir, "root", HashPrintSafe(buffer, sizeof(buffer), digest, CF_DEFAULT_DIGEST, true)); MapName(dst_public_key_filename); @@ -251,7 +252,7 @@ void PolicyHubUpdateKeys(const char *policy_server) if ((stat(dst_public_key_filename, &sb) == -1)) { char src_public_key_filename[CF_BUFSIZE] = ""; - snprintf(src_public_key_filename, CF_MAXVARSIZE, "%s/ppkeys/localhost.pub", CFWORKDIR); + snprintf(src_public_key_filename, CF_MAXVARSIZE, "%s/ppkeys/localhost.pub", workdir); MapName(src_public_key_filename); // copy localhost.pub to root-HASH.pub on policy server @@ -302,10 +303,11 @@ RSA *HavePublicKey(const char *username, const char *ipaddress, const char *dige struct stat statbuf; FILE *fp; RSA *newkey = NULL; + const char* const workdir = GetWorkDir(); snprintf(keyname, CF_MAXVARSIZE, "%s-%s", username, digest); - snprintf(newname, CF_BUFSIZE, "%s/ppkeys/%s.pub", CFWORKDIR, keyname); + snprintf(newname, CF_BUFSIZE, "%s/ppkeys/%s.pub", workdir, keyname); MapName(newname); if (stat(newname, &statbuf) == -1) @@ -313,7 +315,7 @@ RSA *HavePublicKey(const char *username, const char *ipaddress, const char *dige Log(LOG_LEVEL_VERBOSE, "Did not find new key format '%s'", newname); snprintf(oldname, CF_BUFSIZE, "%s/ppkeys/%s-%s.pub", - CFWORKDIR, username, ipaddress); + workdir, username, ipaddress); MapName(oldname); Log(LOG_LEVEL_VERBOSE, "Trying old style '%s'", oldname); @@ -390,7 +392,7 @@ void SavePublicKey(const char *user, const char *digest, const RSA *key) } ret = snprintf(filename, sizeof(filename), "%s/ppkeys/%s.pub", - CFWORKDIR, keyname); + GetWorkDir(), keyname); if (ret >= sizeof(filename)) { Log(LOG_LEVEL_ERR, "Filename too long!"); diff --git a/libpromises/evalfunction.c b/libpromises/evalfunction.c index 80867665ed9..ec97a0b534c 100644 --- a/libpromises/evalfunction.c +++ b/libpromises/evalfunction.c @@ -63,6 +63,7 @@ #include #include #include +#include #include @@ -1602,8 +1603,10 @@ static FnCallResult FnCallUseModule(EvalContext *ctx, char *command = RlistScalarValue(finalargs); char *args = RlistScalarValue(finalargs->next); + const char* const workdir = GetWorkDir(); - snprintf(modulecmd, CF_BUFSIZE, "\"%s%cmodules%c%s\"", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, command); + snprintf(modulecmd, CF_BUFSIZE, "\"%s%cmodules%c%s\"", + workdir, FILE_SEPARATOR, FILE_SEPARATOR, command); if (stat(CommandArg0(modulecmd), &statbuf) == -1) { @@ -1623,7 +1626,9 @@ static FnCallResult FnCallUseModule(EvalContext *ctx, return FnFailure(); } - snprintf(modulecmd, CF_BUFSIZE, "\"%s%cmodules%c%s\" %s", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, command, args); + snprintf(modulecmd, CF_BUFSIZE, "\"%s%cmodules%c%s\" %s", + workdir, FILE_SEPARATOR, FILE_SEPARATOR, command, args); + Log(LOG_LEVEL_VERBOSE, "Executing and using module [%s]", modulecmd); if (!ExecModule(ctx, modulecmd)) diff --git a/libpromises/generic_agent.c b/libpromises/generic_agent.c index 7b6f01a7adc..844c0dc77d1 100644 --- a/libpromises/generic_agent.c +++ b/libpromises/generic_agent.c @@ -492,18 +492,22 @@ static bool WriteReleaseIdFile(const char *filename, const char *dirname) bool GenericAgentArePromisesValid(const GenericAgentConfig *config) { char cmd[CF_BUFSIZE]; + const char* const workdir = GetWorkDir(); Log(LOG_LEVEL_VERBOSE, "Verifying the syntax of the inputs..."); { char cfpromises[CF_MAXVARSIZE]; - snprintf(cfpromises, sizeof(cfpromises), "%s%cbin%ccf-promises%s", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, - EXEC_SUFFIX); + + snprintf(cfpromises, sizeof(cfpromises), "%s%cbin%ccf-promises%s", + workdir, FILE_SEPARATOR, FILE_SEPARATOR, EXEC_SUFFIX); struct stat sb; if (stat(cfpromises, &sb) == -1) { - Log(LOG_LEVEL_ERR, "cf-promises%s needs to be installed in %s%cbin for pre-validation of full configuration", - EXEC_SUFFIX, CFWORKDIR, FILE_SEPARATOR); + Log(LOG_LEVEL_ERR, + "cf-promises%s needs to be installed in %s%cbin for pre-validation of full configuration", + EXEC_SUFFIX, workdir, FILE_SEPARATOR); + return false; } @@ -595,16 +599,9 @@ void GenericAgentInitialize(EvalContext *ctx, GenericAgentConfig *config) const char *workdir = GetWorkDir(); - /* TODO: CFWORKDIR global gets initialized here. (GLOBAL_C) - * Do not remove this block until its use has been obliterated elsewhere. */ + if (!workdir) { - if (!workdir) - { - FatalError(ctx, "Error determining working directory"); - } - - strcpy(CFWORKDIR, workdir); - MapName(CFWORKDIR); + FatalError(ctx, "Error determining working directory"); } OpenLog(LOG_USER); @@ -1037,7 +1034,7 @@ bool GenericAgentIsPolicyReloadNeeded(const GenericAgentConfig *config) { char filename[MAX_FILENAME]; - snprintf(filename, MAX_FILENAME, "%s/policy_server.dat", CFWORKDIR); + snprintf(filename, MAX_FILENAME, "%s%cpolicy_server.dat", GetWorkDir(), FILE_SEPARATOR); MapName(filename); struct stat sb; diff --git a/libpromises/keyring.c b/libpromises/keyring.c index c00443473de..39805616b1e 100644 --- a/libpromises/keyring.c +++ b/libpromises/keyring.c @@ -27,6 +27,7 @@ #include #include #include +#include /***************************************************************/ @@ -57,7 +58,8 @@ int RemovePublicKey(const char *id) const struct dirent *dirp; char suffix[CF_BUFSIZE]; - snprintf(keysdir, CF_BUFSIZE, "%s/ppkeys", CFWORKDIR); + snprintf(keysdir, CF_BUFSIZE, "%s/ppkeys", GetWorkDir()); + MapName(keysdir); if ((dirh = DirOpen(keysdir)) == NULL) diff --git a/tests/unit/generic_agent_test.c b/tests/unit/generic_agent_test.c index 682afe7658b..71aace123f6 100644 --- a/tests/unit/generic_agent_test.c +++ b/tests/unit/generic_agent_test.c @@ -9,6 +9,8 @@ #include /* xsnprintf */ +char CFWORKDIR[CF_BUFSIZE]; + void test_load_masterfiles(void) { EvalContext *ctx = EvalContextNew(); diff --git a/tests/unit/mon_processes_test.c b/tests/unit/mon_processes_test.c index d2a4c864245..361128e4fb1 100644 --- a/tests/unit/mon_processes_test.c +++ b/tests/unit/mon_processes_test.c @@ -6,6 +6,8 @@ #include /* xsnprintf */ #include +char CFWORKDIR[CF_BUFSIZE]; + static void tests_setup(void) { xsnprintf(CFWORKDIR, CF_BUFSIZE, "/tmp/mon_processes_test.XXXXXX"); diff --git a/tests/unit/persistent_lock_test.c b/tests/unit/persistent_lock_test.c index b07ea43c97f..89057b78426 100644 --- a/tests/unit/persistent_lock_test.c +++ b/tests/unit/persistent_lock_test.c @@ -6,6 +6,8 @@ #include +char CFWORKDIR[CF_BUFSIZE]; + static void tests_setup(void) { OpenSSL_add_all_digests();