From 954a8e6ee7f34fa461a347c9f8c2c234031ede6e Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Fri, 1 Oct 2021 09:02:44 +0200 Subject: [PATCH] Struggling with Github Actions --- extra/vulnserver/vulnserver.py | 5 +++++ lib/core/settings.py | 2 +- lib/core/testing.py | 11 ++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/extra/vulnserver/vulnserver.py b/extra/vulnserver/vulnserver.py index 16917d25b..4cce7f933 100644 --- a/extra/vulnserver/vulnserver.py +++ b/extra/vulnserver/vulnserver.py @@ -60,6 +60,7 @@ _conn = None _cursor = None _lock = None _server = None +_alive = False def init(quiet=False): global _conn @@ -236,14 +237,18 @@ class ReqHandler(BaseHTTPRequestHandler): return def run(address=LISTEN_ADDRESS, port=LISTEN_PORT): + global _alive global _server try: + _alive = True _server = ThreadingServer((address, port), ReqHandler) print("[i] running HTTP server at 'http://%s:%d'" % (address, port)) _server.serve_forever() except KeyboardInterrupt: _server.socket.close() raise + finally: + _alive = False if __name__ == "__main__": try: diff --git a/lib/core/settings.py b/lib/core/settings.py index 73ed370b4..1f4917b3f 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.5.9.31" +VERSION = "1.5.10.0" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) diff --git a/lib/core/testing.py b/lib/core/testing.py index 99f5eaa22..50211523d 100644 --- a/lib/core/testing.py +++ b/lib/core/testing.py @@ -31,6 +31,7 @@ from lib.core.data import logger from lib.core.data import paths from lib.core.data import queries from lib.core.patch import unisonRandom +from lib.core.settings import MAX_CONSECUTIVE_CONNECTION_ERRORS from lib.core.settings import IS_WIN def vulnTest(): @@ -100,18 +101,26 @@ def vulnTest(): thread.daemon = True thread.start() - while True: + success = False + for i in xrange(MAX_CONSECUTIVE_CONNECTION_ERRORS): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.connect((address, port)) s.send(b"GET / HTTP/1.0\r\n\r\n") if b"vulnserver" in s.recv(4096): + success = True break except: time.sleep(1) finally: s.close() + if not success: + logger.error("problem occurred in vulnserver instantiation (address: 'http://%s:%s', alive: %s)" % (address, port, vulnserver._alive)) + return False + else: + logger.info("vulnserver running at 'http://%s:%s'..." % (address, port)) + handle, config = tempfile.mkstemp(suffix=".conf") os.close(handle)