diff options
| author | tb <> | 2021-09-03 14:50:36 +0000 |
|---|---|---|
| committer | tb <> | 2021-09-03 14:50:36 +0000 |
| commit | 44ab8594fe6e54cf4b642a4658d15b236145aca7 (patch) | |
| tree | a749e1b935543e68cadbdaf4151b873b16c3ad63 /src | |
| parent | f4b0cdd6ef229ef572cd5d7ccd94223442f688e6 (diff) | |
| download | openbsd-44ab8594fe6e54cf4b642a4658d15b236145aca7.tar.gz openbsd-44ab8594fe6e54cf4b642a4658d15b236145aca7.tar.bz2 openbsd-44ab8594fe6e54cf4b642a4658d15b236145aca7.zip | |
Implement a -h option that allows specifying a target host that
will be passed to the test scripts.
Diffstat (limited to 'src')
| -rw-r--r-- | src/regress/lib/libssl/tlsfuzzer/tlsfuzzer.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/regress/lib/libssl/tlsfuzzer/tlsfuzzer.py b/src/regress/lib/libssl/tlsfuzzer/tlsfuzzer.py index d44dee4333..61328a14fb 100644 --- a/src/regress/lib/libssl/tlsfuzzer/tlsfuzzer.py +++ b/src/regress/lib/libssl/tlsfuzzer/tlsfuzzer.py | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # $OpenBSD: tlsfuzzer.py,v 1.42 2021/09/03 13:26:20 tb Exp $ | 1 | # $OpenBSD: tlsfuzzer.py,v 1.43 2021/09/03 14:50:36 tb Exp $ |
| 2 | # | 2 | # |
| 3 | # Copyright (c) 2020 Theo Buehler <tb@openbsd.org> | 3 | # Copyright (c) 2020 Theo Buehler <tb@openbsd.org> |
| 4 | # | 4 | # |
| @@ -593,13 +593,14 @@ class TestRunner: | |||
| 593 | """ Runs the given tests troups against a server and displays stats. """ | 593 | """ Runs the given tests troups against a server and displays stats. """ |
| 594 | 594 | ||
| 595 | def __init__( | 595 | def __init__( |
| 596 | self, timing=False, verbose=False, port=4433, use_tls1_3=True, | 596 | self, timing=False, verbose=False, host="localhost", port=4433, |
| 597 | dry_run=False, tests=[], scriptdir=tlsfuzzer_scriptdir, | 597 | use_tls1_3=True, dry_run=False, tests=[], scriptdir=tlsfuzzer_scriptdir, |
| 598 | ): | 598 | ): |
| 599 | self.tests = [] | 599 | self.tests = [] |
| 600 | 600 | ||
| 601 | self.dryrun = dry_run | 601 | self.dryrun = dry_run |
| 602 | self.use_tls1_3 = use_tls1_3 | 602 | self.use_tls1_3 = use_tls1_3 |
| 603 | self.host = host | ||
| 603 | self.port = str(port) | 604 | self.port = str(port) |
| 604 | self.scriptdir = scriptdir | 605 | self.scriptdir = scriptdir |
| 605 | 606 | ||
| @@ -619,7 +620,7 @@ class TestRunner: | |||
| 619 | 620 | ||
| 620 | def run_script(self, test): | 621 | def run_script(self, test): |
| 621 | script = test.name | 622 | script = test.name |
| 622 | args = ["-p"] + [self.port] + test.args(self.use_tls1_3) | 623 | args = ["-h"] + [self.host] + ["-p"] + [self.port] + test.args(self.use_tls1_3) |
| 623 | 624 | ||
| 624 | if self.dryrun: | 625 | if self.dryrun: |
| 625 | if not self.verbose: | 626 | if not self.verbose: |
| @@ -685,11 +686,11 @@ class TestRunner: | |||
| 685 | class TlsServer: | 686 | class TlsServer: |
| 686 | """ Spawns an s_server listening on localhost:port if necessary. """ | 687 | """ Spawns an s_server listening on localhost:port if necessary. """ |
| 687 | 688 | ||
| 688 | def __init__(self, port=4433): | 689 | def __init__(self, host="localhost", port=4433): |
| 689 | self.spawn = True | 690 | self.spawn = True |
| 690 | # Check whether a server is already listening on localhost:port | 691 | # Check whether a server is already listening on localhost:port |
| 691 | self.spawn = subprocess.run( | 692 | self.spawn = subprocess.run( |
| 692 | ["nc", "-c", "-z", "-T", "noverify", "localhost", str(port)], | 693 | ["nc", "-c", "-z", "-T", "noverify", host, str(port)], |
| 693 | stderr=subprocess.DEVNULL, | 694 | stderr=subprocess.DEVNULL, |
| 694 | ).returncode != 0 | 695 | ).returncode != 0 |
| 695 | 696 | ||
| @@ -785,18 +786,21 @@ def main(): | |||
| 785 | list = False | 786 | list = False |
| 786 | missing = False | 787 | missing = False |
| 787 | dryrun = False | 788 | dryrun = False |
| 789 | host = "localhost" | ||
| 788 | port = 4433 | 790 | port = 4433 |
| 789 | slow = False | 791 | slow = False |
| 790 | timing = False | 792 | timing = False |
| 791 | verbose = False | 793 | verbose = False |
| 792 | 794 | ||
| 793 | argv = sys.argv[1:] | 795 | argv = sys.argv[1:] |
| 794 | opts, args = getopt.getopt(argv, "flmnp:stv", ["help"]) | 796 | opts, args = getopt.getopt(argv, "fh:lmnp:stv", ["help"]) |
| 795 | for opt, arg in opts: | 797 | for opt, arg in opts: |
| 796 | if opt == '--help': | 798 | if opt == '--help': |
| 797 | usage() | 799 | usage() |
| 798 | elif opt == '-f': | 800 | elif opt == '-f': |
| 799 | failing = True | 801 | failing = True |
| 802 | elif opt == '-h': | ||
| 803 | host = arg | ||
| 800 | elif opt == '-l': | 804 | elif opt == '-l': |
| 801 | list = True | 805 | list = True |
| 802 | elif opt == '-m': | 806 | elif opt == '-m': |
| @@ -827,9 +831,9 @@ def main(): | |||
| 827 | if list or missing: | 831 | if list or missing: |
| 828 | list_or_missing(missing) | 832 | list_or_missing(missing) |
| 829 | 833 | ||
| 830 | tls_server = TlsServer(port) | 834 | tls_server = TlsServer(host, port) |
| 831 | 835 | ||
| 832 | tests = TestRunner(timing, verbose, port, tls_server.has_tls1_3, dryrun) | 836 | tests = TestRunner(timing, verbose, host, port, tls_server.has_tls1_3, dryrun) |
| 833 | 837 | ||
| 834 | if args: | 838 | if args: |
| 835 | (dir, script) = os.path.split(args[0]) | 839 | (dir, script) = os.path.split(args[0]) |
