From 866b3a8909d3800327679b2367a56cda4ea5cfff Mon Sep 17 00:00:00 2001 From: Caleb Watt Date: Tue, 29 Sep 2015 20:34:16 -0500 Subject: [PATCH 1/2] Add feature to change port via command line A user can call the agent.py script, along with a -p flag followed by an integer between 0 and 65535 (inclusive). This will set the agent.py port to that number. If no argument is called, the script will default to port 9000. --- experiments/agent.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/experiments/agent.py b/experiments/agent.py index 76b4f81..0ced63e 100644 --- a/experiments/agent.py +++ b/experiments/agent.py @@ -16,8 +16,38 @@ dumps_folder = 'C:\\dumps' archive_name = 'dumps.zip' port = 9000 +set_port = False +usage_printed = False ################################ +for arg in sys.argv: + if(set_port): + #set port to the command line argument + if(arg.isdigit()): + if(int(arg) >= 0 or int(arg) <= 65535): + port = int(arg) + set_port = False + break + else: + print('-p value must be an integer 0-65535') + exit() + else: + print('-p value must be an integer') + exit() + continue + + elif(arg == '-p'): + #Check for setting port argument + set_port = True + continue + + else: + if(usage_printed == False and arg != sys.argv[0]): + print('Usage: agent.py -p [port number]') + usage_printed = True + continue + + def zipdir(path, zip): for root, dirs, files in os.walk(path): for file in files: From 501680ff2c3ded3552a29db145539fb973a60c29 Mon Sep 17 00:00:00 2001 From: Caleb Watt Date: Tue, 29 Sep 2015 20:46:26 -0500 Subject: [PATCH 2/2] Removed boolean OR leading to Port overflow Comparison in port number allowed ports outside of 0-65535 range, crashing Bottle library. agent.py now restricts ports to 0-65535. --- experiments/agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/agent.py b/experiments/agent.py index 0ced63e..a7c0dd8 100644 --- a/experiments/agent.py +++ b/experiments/agent.py @@ -24,7 +24,7 @@ if(set_port): #set port to the command line argument if(arg.isdigit()): - if(int(arg) >= 0 or int(arg) <= 65535): + if(int(arg) >= 0 and int(arg) <= 65535): port = int(arg) set_port = False break