qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] iotests/207: Filter host fingerprint


From: John Snow
Subject: Re: [PATCH 2/2] iotests/207: Filter host fingerprint
Date: Fri, 18 Mar 2022 18:40:06 -0400

On Fri, Mar 18, 2022 at 8:53 AM Hanna Reitz <hreitz@redhat.com> wrote:
>
> Commit e3296cc796aeaf319f3ed4e064ec309baf5e4da4 made the ssh block
> driver's error message for fingerprint mismatches more verbose, so it
> now prints the actual host key fingerprint and the key type.
>
> iotest 207 tests such errors, but was not amended to filter that
> fingerprint (which is host-specific), so do it now.  Filter the key
> type, too, because I guess this too can differ depending on the host
> configuration.
>

Oh, neat.

(Not that neat.)

> Fixes: e3296cc796aeaf319f3ed4e064ec309baf5e4da4
>        ("block: print the server key type and fingerprint on failure")
> Reported-by: John Snow <jsnow@redhat.com>
> Signed-off-by: Hanna Reitz <hreitz@redhat.com>
> ---
>  tests/qemu-iotests/207     | 7 ++++++-
>  tests/qemu-iotests/207.out | 6 +++---
>  2 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/tests/qemu-iotests/207 b/tests/qemu-iotests/207
> index 0f5c4bc8a0..41dcf3ff55 100755
> --- a/tests/qemu-iotests/207
> +++ b/tests/qemu-iotests/207
> @@ -35,7 +35,12 @@ def filter_hash(qmsg):
>          if key == 'hash' and re.match('[0-9a-f]+', value):
>              return 'HASH'
>          return value
> -    return iotests.filter_qmp(qmsg, _filter)
> +    if isinstance(qmsg, str):
> +        # Strip key type and fingerprint
> +        p = r"\S+ (key fingerprint) '(md5|sha1|sha256):[0-9a-f]+'"
> +        return re.sub(p, r"\1 '\2:HASH'", qmsg)
> +    else:
> +        return iotests.filter_qmp(qmsg, _filter)
>
>  def blockdev_create(vm, options):
>      vm.blockdev_create(options, filters=[iotests.filter_qmp_testfiles, 
> filter_hash])
> diff --git a/tests/qemu-iotests/207.out b/tests/qemu-iotests/207.out
> index aeb8569d77..05cf753283 100644
> --- a/tests/qemu-iotests/207.out
> +++ b/tests/qemu-iotests/207.out
> @@ -42,7 +42,7 @@ virtual size: 4 MiB (4194304 bytes)
>
>  {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": 
> {"driver": "ssh", "location": {"host-key-check": {"hash": "wrong", "mode": 
> "hash", "type": "md5"}, "path": "TEST_DIR/PID-t.img", "server": {"host": 
> "127.0.0.1", "port": "22"}}, "size": 2097152}}}
>  {"return": {}}
> -Job failed: remote host key does not match host_key_check 'wrong'
> +Job failed: remote host key fingerprint 'md5:HASH' does not match 
> host_key_check 'md5:wrong'
>  {"execute": "job-dismiss", "arguments": {"id": "job0"}}
>  {"return": {}}
>
> @@ -59,7 +59,7 @@ virtual size: 8 MiB (8388608 bytes)
>
>  {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": 
> {"driver": "ssh", "location": {"host-key-check": {"hash": "wrong", "mode": 
> "hash", "type": "sha1"}, "path": "TEST_DIR/PID-t.img", "server": {"host": 
> "127.0.0.1", "port": "22"}}, "size": 2097152}}}
>  {"return": {}}
> -Job failed: remote host key does not match host_key_check 'wrong'
> +Job failed: remote host key fingerprint 'sha1:HASH' does not match 
> host_key_check 'sha1:wrong'
>  {"execute": "job-dismiss", "arguments": {"id": "job0"}}
>  {"return": {}}
>
> @@ -76,7 +76,7 @@ virtual size: 4 MiB (4194304 bytes)
>
>  {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": 
> {"driver": "ssh", "location": {"host-key-check": {"hash": "wrong", "mode": 
> "hash", "type": "sha256"}, "path": "TEST_DIR/PID-t.img", "server": {"host": 
> "127.0.0.1", "port": "22"}}, "size": 2097152}}}
>  {"return": {}}
> -Job failed: remote host key does not match host_key_check 'wrong'
> +Job failed: remote host key fingerprint 'sha256:HASH' does not match 
> host_key_check 'sha256:wrong'
>  {"execute": "job-dismiss", "arguments": {"id": "job0"}}
>  {"return": {}}
>
> --
> 2.35.1
>

sankyuu~

Reviewed-by: John Snow <jsnow@redhat.com>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]