Check if ClusterIP directory could be opened before enumerating it
This commit is contained in:
@@ -274,12 +274,15 @@ METHOD(ha_kernel_t, activate, void,
|
||||
char *file;
|
||||
|
||||
enumerator = enumerator_create_directory(CLUSTERIP_DIR);
|
||||
if (enumerator)
|
||||
{
|
||||
while (enumerator->enumerate(enumerator, NULL, &file, NULL))
|
||||
{
|
||||
enable_disable(this, segment, file, TRUE);
|
||||
}
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
}
|
||||
|
||||
METHOD(ha_kernel_t, deactivate, void,
|
||||
private_ha_kernel_t *this, u_int segment)
|
||||
@@ -288,12 +291,15 @@ METHOD(ha_kernel_t, deactivate, void,
|
||||
char *file;
|
||||
|
||||
enumerator = enumerator_create_directory(CLUSTERIP_DIR);
|
||||
if (enumerator)
|
||||
{
|
||||
while (enumerator->enumerate(enumerator, NULL, &file, NULL))
|
||||
{
|
||||
enable_disable(this, segment, file, FALSE);
|
||||
}
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable all not-yet disabled segments on all clusterip addresses
|
||||
@@ -306,6 +312,8 @@ static void disable_all(private_ha_kernel_t *this)
|
||||
int i;
|
||||
|
||||
enumerator = enumerator_create_directory(CLUSTERIP_DIR);
|
||||
if (enumerator)
|
||||
{
|
||||
while (enumerator->enumerate(enumerator, NULL, &file, NULL))
|
||||
{
|
||||
if (chown(file, charon->uid, charon->gid) != 0)
|
||||
@@ -324,6 +332,7 @@ static void disable_all(private_ha_kernel_t *this)
|
||||
}
|
||||
enumerator->destroy(enumerator);
|
||||
}
|
||||
}
|
||||
|
||||
METHOD(ha_kernel_t, destroy, void,
|
||||
private_ha_kernel_t *this)
|
||||
|
||||
Reference in New Issue
Block a user