annotate test/test_svrauth.py @ 1902:4a6725ac957c

Revert "Don't include sk keys at all in KEX list" This reverts git commit f972813ecdc7bb981d25b5a63638bd158f1c8e72. The sk algorithms need to remain in the sigalgs list so that they are included in the server-sig-algs ext-info message sent by the server. RFC8308 for server-sig-algs requires that all algorithms are listed (though OpenSSH client 8.4p1 tested doesn't require that)
author Matt Johnston <matt@ucc.asn.au>
date Thu, 24 Mar 2022 13:42:08 +0800
parents 30fd047f6ebf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1885
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
1 from test_dropbear import *
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
2 import signal
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
3 import queue
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
4 import socket
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
5 import os
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
6 from pathlib import Path
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
7
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
8 # Tests for server side authentication
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
9
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
10 # Requires keyfile and authorized_keys set up in github action build.yml
1887
30fd047f6ebf Fix pytest incorrect skip "reason" string
Matt Johnston <matt@ucc.asn.au>
parents: 1885
diff changeset
11 @pytest.mark.skipif('DBTEST_IN_ACTION' not in os.environ, reason="DBTEST_IN_ACTION not set")
1885
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
12 def test_pubkeyinfo(request, dropbear):
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
13 kf = str(Path.home() / ".ssh/id_dropbear_key2")
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
14 r = dbclient(request, "-i", kf, "echo -n $SSH_PUBKEYINFO", capture_output=True)
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
15 # stop at first space
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
16 assert r.stdout.decode() == "key2"
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
17
1887
30fd047f6ebf Fix pytest incorrect skip "reason" string
Matt Johnston <matt@ucc.asn.au>
parents: 1885
diff changeset
18 @pytest.mark.skipif('DBTEST_IN_ACTION' not in os.environ, reason="DBTEST_IN_ACTION not set")
1885
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
19 def test_pubkeyinfo_special(request, dropbear):
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
20 kf = str(Path.home() / ".ssh/id_dropbear_key3")
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
21 r = dbclient(request, "-i", kf, "echo -n $SSH_PUBKEYINFO", capture_output=True)
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
22 # comment contains special characters so the SSH_PUBKEYINFO should not be set
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
23 assert r.stdout.decode() == ""
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
24
1887
30fd047f6ebf Fix pytest incorrect skip "reason" string
Matt Johnston <matt@ucc.asn.au>
parents: 1885
diff changeset
25 @pytest.mark.skipif('DBTEST_IN_ACTION' not in os.environ, reason="DBTEST_IN_ACTION not set")
1885
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
26 def test_pubkeyinfo_okchar(request, dropbear):
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
27 kf = str(Path.home() / ".ssh/id_dropbear_key4")
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
28 r = dbclient(request, "-i", kf, "echo -n $SSH_PUBKEYINFO", capture_output=True)
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
29 # comment contains special characters so the SSH_PUBKEYINFO should not be set
5d8dbb6fdab7 Fix SSH_PUBKEYINFO, limit characters, add tests
Matt Johnston <matt@ucc.asn.au>
parents:
diff changeset
30 assert r.stdout.decode() == "key4,char"