Skip to content

Commit

Permalink
Merge pull request #1146 from jjnicola/interrupted
Browse files Browse the repository at this point in the history
Handle "interrupted" OSP status
  • Loading branch information
timopollmeier authored Jun 25, 2020
2 parents 44e18e3 + a9ac635 commit 8192e63
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Fix and simplify parse_iso_time and add tests [#1129](https://github.com/greenbone/gvmd/pull/1129)
- Fix gvm-manage-certs. [#1140](https://github.com/greenbone/gvmd/pull/1140)
- Fix CVE scanner and results handling [#1141](https://github.com/greenbone/gvmd/pull/1141)
- Handle INTERRUPTED scans [#1146](https://github.com/greenbone/gvmd/pull/1146)

### Removed
- Remove support for "All SecInfo": removal of "allinfo" for type in get_info [#790](https://github.com/greenbone/gvmd/pull/790)
Expand Down
23 changes: 21 additions & 2 deletions src/manage.c
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ truncate_text (gchar *string, size_t max_len, gboolean xml, const char *suffix)
// move the offset to the start of that entity.
ssize_t entity_start_offset = offset;

while (entity_start_offset >= 0
while (entity_start_offset >= 0
&& string[entity_start_offset] != '&')
{
entity_start_offset --;
Expand Down Expand Up @@ -3545,7 +3545,8 @@ get_osp_scan_status (const char *scan_id, const char *host, int port,
* @param[in] report The report.
* @param[in] scan_id The UUID of the scan on the scanner.
*
* @return 0 if success, -1 if error, -2 if scan was stopped.
* @return 0 if success, -1 if error, -2 if scan was stopped,
* -3 if the scan was interrupted.
*/
static int
handle_osp_scan (task_t task, report_t report, const char *scan_id)
Expand Down Expand Up @@ -3628,6 +3629,19 @@ handle_osp_scan (task_t task, report_t report, const char *scan_id)
queued_status_updated = TRUE;
}
}
else if (osp_scan_status == OSP_SCAN_STATUS_INTERRUPTED)
{
result_t result = make_osp_result
(task, "", "", "",
threat_message_type ("Error"),
"Task interrupted unexpectedly", "", "",
QOD_DEFAULT);
report_add_result (report, result);
delete_osp_scan (scan_id, host, port, ca_pub, key_pub,
key_priv);
rc = -3;
break;
}
else if (progress >= 0 && progress < 100
&& osp_scan_status == OSP_SCAN_STATUS_STOPPED)
{
Expand Down Expand Up @@ -4560,6 +4574,11 @@ fork_osp_scan_handler (task_t task, target_t target, int from,
set_task_run_status (task, TASK_STATUS_STOPPED);
set_report_scan_run_status (global_current_report, TASK_STATUS_STOPPED);
}
else if (rc == -3)
{
set_task_run_status (task, TASK_STATUS_INTERRUPTED);
set_report_scan_run_status (global_current_report, TASK_STATUS_INTERRUPTED);
}

set_task_end_time_epoch (task, time (NULL));
set_scan_end_time_epoch (global_current_report, time (NULL));
Expand Down

0 comments on commit 8192e63

Please sign in to comment.