Port bootstrap script length limit
This commit is contained in:
parent
9870c94007
commit
e02ba7f389
@ -56,12 +56,6 @@ print(' '.join(map(str, buf)))'''), lines=13, cols=77)
|
||||
t('ssh --kitten=one -p 12 --kitten two -ix main', identity_file='x', port=12, extra_args=(('--kitten', 'one'), ('--kitten', 'two')))
|
||||
self.assertTrue(runtime_dir())
|
||||
|
||||
def test_ssh_bootstrap_sh_cmd_limit(self):
|
||||
# dropbear has a 9000 bytes maximum command length limit
|
||||
sh_script, _, _ = bootstrap_script(SSHOptions({'interpreter': 'sh'}), script_type='sh', remote_args=[], request_id='123-123')
|
||||
rcmd = wrap_bootstrap_script(sh_script, 'sh')
|
||||
self.assertLessEqual(sum(len(x) for x in rcmd), 9000)
|
||||
|
||||
@property
|
||||
@lru_cache()
|
||||
def all_possible_sh(self):
|
||||
|
||||
@ -27,12 +27,12 @@ func TestSSHConfigParsing(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
actual := c.final_env_instructions(for_python, func(key string) (string, bool) {
|
||||
actual := final_env_instructions(for_python, func(key string) (string, bool) {
|
||||
if key == "LOCAL_ENV" {
|
||||
return "LOCAL_VAL", true
|
||||
}
|
||||
return "", false
|
||||
})
|
||||
}, c.Env...)
|
||||
if expected_env == nil {
|
||||
expected_env = []string{}
|
||||
}
|
||||
|
||||
@ -37,3 +37,25 @@ func TestCloneEnv(t *testing.T) {
|
||||
t.Fatalf("Failed to deserialize env\n%s", diff)
|
||||
}
|
||||
}
|
||||
|
||||
func basic_connection_data() *connection_data {
|
||||
return &connection_data{
|
||||
script_type: "sh", request_id: "123-123", remote_args: []string{}, host_opts: NewConfig(),
|
||||
username: "testuser", hostname_for_match: "host.test",
|
||||
}
|
||||
}
|
||||
|
||||
func TestSSHBootstrapScriptLimit(t *testing.T) {
|
||||
cd := basic_connection_data()
|
||||
err := get_remote_command(cd)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
total := 0
|
||||
for _, x := range cd.rcmd {
|
||||
total += len(x)
|
||||
}
|
||||
if total > 9000 {
|
||||
t.Fatalf("Bootstrap script too large: %d bytes", total)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user