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;
|
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,
|
||||||
private_ha_kernel_t *this, u_int segment)
|
private_ha_kernel_t *this, u_int segment)
|
||||||
@@ -288,12 +291,15 @@ 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);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disable all not-yet disabled segments on all clusterip addresses
|
* 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;
|
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)
|
||||||
@@ -324,6 +332,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,
|
||||||
private_ha_kernel_t *this)
|
private_ha_kernel_t *this)
|
||||||
|
|||||||
Reference in New Issue
Block a user