Mercurial > dropbear
annotate test/conftest.py @ 1885:5d8dbb6fdab7
Fix SSH_PUBKEYINFO, limit characters, add tests
We fix a bad_bufptr() failure from a previous commit. We now limit
the allowed characters to those that will definitely be safe
in a shell. Some scripts/programs may use arbitrary environment
variables without escaping correctly - that could be a problem
in a restricted environment.
The current allowed set is a-z A-Z 0-9 .,_-+@
This also adds a test for SSH_PUBKEYINFO, by default it only runs
under github actions (or "act -j build").
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Wed, 16 Mar 2022 17:17:23 +0800 |
parents | 06c7ddbb9dd6 |
children | 43ebe0028187 |
rev | line source |
---|---|
1836
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
1 def pytest_addoption(parser): |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
2 parser.addoption("--port", type=str, help="default is 2244 local, 22 remote") |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
3 parser.addoption("--dbclient", type=str, default="../dbclient") |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
4 parser.addoption("--dropbear", type=str, default="../dropbear") |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
5 parser.addoption("--hostkey", type=str, help="required unless --remote") |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
6 parser.addoption("--remote", type=str, help="remote host") |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
7 parser.addoption("--user", type=str, help="optional username") |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
8 |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
9 def pytest_configure(config): |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
10 opt = config.option |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
11 if not opt.hostkey and not opt.remote: |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
12 raise Exception("--hostkey must be given") |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
13 if not opt.port: |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
14 if opt.remote: |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
15 opt.port = "22" |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
16 else: |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
17 opt.port = "2244" |
06c7ddbb9dd6
Add first channel tests
Matt Johnston <matt@codeconstruct.com.au>
parents:
diff
changeset
|
18 |