OpenVAS Scanner  22.7.9
heartbeat.h File Reference

heartbeat.c headerfile. More...

Include dependency graph for heartbeat.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int check_host_still_alive (kb_t, const char *)
 Check if the hosts is still alive and set it as dead if not. More...
 

Detailed Description

heartbeat.c headerfile.

Definition in file heartbeat.h.

Function Documentation

◆ check_host_still_alive()

int check_host_still_alive ( kb_t  kb,
const char *  hostname 
)

Check if the hosts is still alive and set it as dead if not.

Parameters
kbHost kb where the host is set as dead.
Returns
1 if considered alive, 0 if it is dead. -1 on error or option disabled.

Definition at line 33 of file heartbeat.c.

34 {
35  int is_alive = 0;
36  boreas_error_t alive_err;
37 
38  /* Heartbeat will work only with boreas enabled. We check if we
39  have all what we need before running a heartbeat check. */
40  if (prefs_get_bool ("test_alive_hosts_only"))
41  {
42  const gchar *alive_test_str = prefs_get ("ALIVE_TEST");
43 
44  /* Don't perform a hearbeat check if the host is always considered
45  alive or the alive test is not valid. */
46  if (!(alive_test_str
47  && atoi (alive_test_str) >= ALIVE_TEST_TCP_ACK_SERVICE
48  && atoi (alive_test_str) < 32 // max value for alive test combi.
49  && !((atoi (alive_test_str)) & ALIVE_TEST_CONSIDER_ALIVE)))
50  return -1;
51  }
52  else
53  {
54  g_warning ("%s: Trying to perform an alive test, but Boreas is not "
55  "enabled. Heartbeat check for %s will not be performed",
56  __func__, hostname);
57  return -1;
58  }
59 
60  alive_err = is_host_alive (hostname, &is_alive);
61  if (alive_err)
62  {
63  g_warning ("%s: Heartbeat check failed for %s with error %d.", __func__,
64  hostname, alive_err);
65  return -1;
66  }
67 
68  if (is_alive == 0)
69  {
70  g_message ("%s: Heartbeat check was not successful. The host %s has"
71  " been set as dead.",
72  __func__, hostname);
73  kb_item_set_int_with_main_kb_check (kb, "Host/dead", 1);
74  return 0;
75  }
76 
77  return 1;
78 }

References hostname, and kb_item_set_int_with_main_kb_check().

Here is the call graph for this function:
kb_item_set_int_with_main_kb_check
int kb_item_set_int_with_main_kb_check(kb_t kb, const char *name, int value)
Check if the current kb corresponds to the original scanid, if it matches it call kb_item_set_int....
Definition: plugutils.c:554
hostname
const char * hostname
Definition: pluginlaunch.c:68