Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix - kill network capture process if any container is killed #361

Merged
merged 2 commits into from
Sep 17, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions core/load.py
Original file line number Diff line number Diff line change
Expand Up @@ -362,13 +362,16 @@ def wait_until_interrupt(virtual_machine_container_reset_factory_time_seconds, c
# start containers based on selected modules
start_containers(configuration)
if not new_network_events_thread.is_alive():
return error(messages["interrupt_application"])
error(messages["interrupt_application"])
return True
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return in a while loop?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Return error("")
Is returning None

So we need to return True in failing cases

We can break the while loop and at the end return True
What say @dhirensr ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can't use break there. sounds like a use case for break?


if containers_are_unhealthy(configuration):
return error(
error(
"Interrupting the application because \"{0}\" container(s) is(are) not alive!".format(
", ".join(containers_are_unhealthy(configuration))
)
)
return True
if run_as_test:
break
except KeyboardInterrupt:
Expand Down Expand Up @@ -884,6 +887,9 @@ def load_honeypot_engine():
)
# killed the network traffic capture process by ctrl + c... waiting to end.
info(messages["killing_capture_process"])
if exit_flag:
# Terminate the network capture process
network_traffic_capture_process.terminate()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should do the job right without the above changes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nopes, we need a exit flag value which denotes this has exited

if run_as_test:
network_traffic_capture_process.terminate()
# without ci it will be terminate after a few seconds, it needs to kill the tshark and update pcap file collection
Expand Down