| 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 |