Check if ClusterIP directory could be opened before enumerating it

This commit is contained in:
Martin Willi
2012-02-06 10:51:39 +01:00
parent b3cbc53893
commit e5747e7a83
+9
View File
@@ -274,11 +274,14 @@ METHOD(ha_kernel_t, activate, void,
char *file; char *file;
enumerator = enumerator_create_directory(CLUSTERIP_DIR); enumerator = enumerator_create_directory(CLUSTERIP_DIR);
if (enumerator)
{
while (enumerator->enumerate(enumerator, NULL, &file, NULL)) while (enumerator->enumerate(enumerator, NULL, &file, NULL))
{ {
enable_disable(this, segment, file, TRUE); enable_disable(this, segment, file, TRUE);
} }
enumerator->destroy(enumerator); enumerator->destroy(enumerator);
}
} }
METHOD(ha_kernel_t, deactivate, void, METHOD(ha_kernel_t, deactivate, void,
@@ -288,11 +291,14 @@ METHOD(ha_kernel_t, deactivate, void,
char *file; char *file;
enumerator = enumerator_create_directory(CLUSTERIP_DIR); enumerator = enumerator_create_directory(CLUSTERIP_DIR);
if (enumerator)
{
while (enumerator->enumerate(enumerator, NULL, &file, NULL)) while (enumerator->enumerate(enumerator, NULL, &file, NULL))
{ {
enable_disable(this, segment, file, FALSE); enable_disable(this, segment, file, FALSE);
} }
enumerator->destroy(enumerator); enumerator->destroy(enumerator);
}
} }
/** /**
@@ -306,6 +312,8 @@ static void disable_all(private_ha_kernel_t *this)
int i; int i;
enumerator = enumerator_create_directory(CLUSTERIP_DIR); enumerator = enumerator_create_directory(CLUSTERIP_DIR);
if (enumerator)
{
while (enumerator->enumerate(enumerator, NULL, &file, NULL)) while (enumerator->enumerate(enumerator, NULL, &file, NULL))
{ {
if (chown(file, charon->uid, charon->gid) != 0) if (chown(file, charon->uid, charon->gid) != 0)
@@ -323,6 +331,7 @@ static void disable_all(private_ha_kernel_t *this)
} }
} }
enumerator->destroy(enumerator); enumerator->destroy(enumerator);
}
} }
METHOD(ha_kernel_t, destroy, void, METHOD(ha_kernel_t, destroy, void,