Mercurial > dropbear
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 |
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" |