Minor tweaks to firewall rules processing and external command execution code.

git-svn-id: file:///home/mbr/svn/fwknop/trunk@212 510a4753-2344-4c79-9c09-4d669213fbeb
This commit is contained in:
Damien Stuart
2010-04-14 01:59:02 +00:00
parent 83a10b96f6
commit 0008cdc86c
2 changed files with 10 additions and 11 deletions
+10 -4
View File
@@ -153,7 +153,8 @@ run_extcmd(char *cmd, char *so_buf, char *se_buf, size_t so_buf_sz, size_t se_bu
/* Select error - so kill the child and bail.
*/
kill(pid, SIGTERM);
return(EXTCMD_SELECT_ERROR);
retval |= EXTCMD_SELECT_ERROR;
break;
}
if(selval == 0)
@@ -161,14 +162,15 @@ run_extcmd(char *cmd, char *so_buf, char *se_buf, size_t so_buf_sz, size_t se_bu
/* Timeout - so kill the child and bail
*/
kill(pid, SIGTERM);
return(retval | EXTCMD_EXECUTION_TIMEOUT);
retval |= EXTCMD_EXECUTION_TIMEOUT;
break;
}
/* The stdout pipe...
*/
bytes_read = read(so[0], so_read_buf, IO_READ_BUF_LEN);
if(so_buf_remaining > 0)
{
bytes_read = read(so[0], so_read_buf, IO_READ_BUF_LEN);
if(bytes_read > 0)
{
/* We have data, so process it...
@@ -203,12 +205,14 @@ run_extcmd(char *cmd, char *so_buf, char *se_buf, size_t so_buf_sz, size_t se_bu
so_buf_remaining = 0;
}
}
else
break;
/* The stderr pipe...
*/
bytes_read = read(se[0], se_read_buf, IO_READ_BUF_LEN);
if(se_buf_remaining > 0)
{
bytes_read = read(se[0], se_read_buf, IO_READ_BUF_LEN);
if(bytes_read > 0)
{
/* We have data, so process it...
@@ -243,6 +247,8 @@ run_extcmd(char *cmd, char *so_buf, char *se_buf, size_t so_buf_sz, size_t se_bu
se_buf_remaining = 0;
}
}
else
break;
}
close(so[0]);
-7
View File
@@ -113,9 +113,6 @@ jump_rule_exists(int chain_num)
if(sscanf(line_buf, "%i %s ", &num, target) == 2)
{
//printf("GOT MATCH: '%s' - (pos=%i, target=%s)\n",
// line_buf, num, target);
if(strcmp(target, fwc.chain[chain_num].to_chain) == 0)
{
pos = num;
@@ -157,7 +154,6 @@ delete_all_chains(void)
);
//printf("CMD: '%s'\n", cmd_buf);
//system(cmd_buf);
res = run_extcmd(cmd_buf, NULL, err, 0, 256, &status);
/* Expect full success on this */
if(! EXTCMD_IS_SUCCESS(res))
@@ -177,7 +173,6 @@ delete_all_chains(void)
);
//printf("CMD: '%s'\n", cmd_buf);
//system(cmd_buf);
res = run_extcmd(cmd_buf, NULL, err, 0, 256, &status);
/* Expect full success on this */
if(! EXTCMD_IS_SUCCESS(res))
@@ -209,7 +204,6 @@ create_fw_chains(void)
);
//printf("CMD: '%s'\n", cmd_buf);
//res = system(cmd_buf);
res = run_extcmd(cmd_buf, NULL, err, 0, 256, &status);
/* Expect full success on this */
if(! EXTCMD_IS_SUCCESS(res))
@@ -229,7 +223,6 @@ create_fw_chains(void)
);
//printf("CMD: '%s'\n", cmd_buf);
//res = system(cmd_buf);
res = run_extcmd(cmd_buf, NULL, err, 0, 256, &status);
/* Expect full success on this */
if(! EXTCMD_IS_SUCCESS(res))