Projects STRLCPY geneva Commits 3c1c963c
🤬
  • ■ ■ ■ ■ ■ ■
    engine.py
    skipped 131 lines
    132 132   
    133 133   def __exit__(self, exc_type, exc_value, tb):
    134 134   """
    135  - Allows the engine to be used as a context manager; simply stops the engine
    136  - if enabled.
     135 + Allows the engine to be used as a context manager
     136 + Stops the engine if enabled and closes loggers.
    137 137   """
     138 + for handler in self.logger.handlers:
     139 + handler.close()
    138 140   if self.enabled:
    139 141   self.shutdown_nfqueue()
    140 142   
    skipped 302 lines
    443 445   """
    444 446   Kicks off the engine with the given arguments.
    445 447   """
    446  - try:
    447  - nat_config = {}
    448  - if args.get("sender_ip") and args.get("routing_ip") and args.get("forward_ip"):
    449  - nat_config = {"sender_ip" : args["sender_ip"],
    450  - "routing_ip" : args["routing_ip"],
    451  - "forward_ip" : args["forward_ip"]}
     448 + nat_config = {}
     449 + if args.get("sender_ip") and args.get("routing_ip") and args.get("forward_ip"):
     450 + nat_config = {"sender_ip": args["sender_ip"],
     451 + "routing_ip": args["routing_ip"],
     452 + "forward_ip": args["forward_ip"]}
    452 453   
    453  - eng = Engine(args["server_port"],
    454  - args["strategy"],
    455  - environment_id=args["environment_id"],
    456  - server_side=args["server_side"],
    457  - output_directory=args["output_directory"],
    458  - forwarder=nat_config,
    459  - log_level=args["log"],
    460  - in_queue_num=args["in_queue_num"],
    461  - out_queue_num=args["out_queue_num"],
    462  - save_seen_packets=args["no_save_packets"],
    463  - demo_mode=args["demo_mode"])
    464  - eng.initialize_nfqueue()
    465  - while True:
    466  - time.sleep(0.5)
    467  - finally:
    468  - eng.shutdown_nfqueue()
     454 + with Engine(args["server_port"],
     455 + args["strategy"],
     456 + environment_id=args["environment_id"],
     457 + server_side=args["server_side"],
     458 + output_directory=args["output_directory"],
     459 + forwarder=nat_config,
     460 + log_level=args["log"],
     461 + in_queue_num=args["in_queue_num"],
     462 + out_queue_num=args["out_queue_num"],
     463 + save_seen_packets=args["no_save_packets"],
     464 + demo_mode=args["demo_mode"]):
     465 + 
     466 + threading.Event().wait() # Wait forever
    469 467   
    470 468   
    471 469  if __name__ == "__main__":
    skipped 2 lines
Please wait...
Page is in error, reload to recover