diff --git a/server/extcmd.c b/server/extcmd.c index 75276a28..e43d514a 100644 --- a/server/extcmd.c +++ b/server/extcmd.c @@ -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]); diff --git a/server/fw_util.c b/server/fw_util.c index 839302b6..dfc4137f 100644 --- a/server/fw_util.c +++ b/server/fw_util.c @@ -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))