(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tid) op: Equal rhs: {(DQ ('connect with ssh.com client'))} spids: [7] ) ] spids: [7] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (X) (${ VSub_Name TEST_COMBASE))} {(Lit_Other '=')} {(DQ (X))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(fatal)} {(SQ <'$TEST_COMBASE is not set'>)})] spids: [16777215 36] ) ] spids: [16777215 45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSIONS) op: Equal rhs: { (DQ ('\n') ('\t2.1.0\n') ('\t2.2.0\n') ('\t2.3.0\n') ('\t2.3.1\n') ('\t2.4.0\n') ('\t3.0.0\n') ('\t3.1.0\n') ('\t3.2.0\n') ('\t3.2.2\n') ('\t3.2.3\n') ('\t3.2.5\n') ('\t3.2.9\n') ('\t3.2.9.1\n') ('\t3.3.0') ) } spids: [48] ) ] spids: [48] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRC) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(${ VSub_Name SCRIPT)})]) left_token: <Left_Backtick '`'> spids: [76 82] ) } spids: [75] ) ] spids: [75] ) (C {(cp)} {(${ VSub_Name SRC) (/dsa_ssh2.prv)} {(${ VSub_Name OBJ) (/id.com)}) (C {(chmod)} {(600)} {(${ VSub_Name OBJ) (/id.com)}) (SimpleCommand words: [{(${ VSub_Name SSHKEYGEN)} {(-i)} {(-f)} {(${ VSub_Name OBJ) (/id.com)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/id.openssh)} spids: [118] ) ] ) (C {(chmod)} {(600)} {(${ VSub_Name OBJ) (/id.openssh)}) (SimpleCommand words: [{(${ VSub_Name SSHKEYGEN)} {(-y)} {(-f)} {(${ VSub_Name OBJ) (/id.openssh)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/authorized_keys_) ($ VSub_Name '$USER')} spids: [145] ) ] ) (SimpleCommand words: [{(${ VSub_Name SSHKEYGEN)} {(-e)} {(-f)} {(${ VSub_Name OBJ) (/id.openssh)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/id.com.pub)} spids: [164] ) ] ) (SimpleCommand words: [{(echo)} {(IdKey)} {(${ VSub_Name OBJ) (/id.com)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name OBJ) (/id.list)} spids: [178] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:t) op:Equal rhs:{(dsa)} spids:[189])] spids: [189] ) (C {(rm)} {(-f)} {(${ VSub_Name OBJ) (/) ($ VSub_Name '$t')} {(${ VSub_Name OBJ) (/) ($ VSub_Name '$t') (.pub)} ) (C {(${ VSub_Name SSHKEYGEN)} {(-q)} {(-N)} {(SQ )} {(-t)} {($ VSub_Name '$t')} {(-f)} {(${ VSub_Name OBJ) (/) ($ VSub_Name '$t')} ) (C {($ VSub_Name '$SUDO')} {(cp)} {($ VSub_Name '$OBJ') (/) ($ VSub_Name '$t')} {($ VSub_Name '$OBJ') (/host.) ($ VSub_Name '$t')} ) (SimpleCommand words: [{(echo)} {(HostKey)} {($ VSub_Name '$OBJ') (/host.) ($ VSub_Name '$t')}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/sshd_config)} spids: [252] ) ] ) (C {(mkdir)} {(-p)} {(${ VSub_Name OBJ) (/) (${ VSub_Name USER) (/hostkeys)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HK) op: Equal rhs: {(${ VSub_Name OBJ) (/) (${ VSub_Name USER) (/hostkeys/key_) (${ VSub_Name PORT) (_127.0.0.1) } spids: [274] ) ] spids: [274] ) (SimpleCommand words: [{(${ VSub_Name SSHKEYGEN)} {(-e)} {(-f)} {(${ VSub_Name OBJ) (/rsa.pub)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name HK) (.ssh-rsa.pub)} spids: [301] ) ] ) (SimpleCommand words: [{(${ VSub_Name SSHKEYGEN)} {(-e)} {(-f)} {(${ VSub_Name OBJ) (/dsa.pub)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name HK) (.ssh-dss.pub)} spids: [321] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name OBJ) (/ssh2_config)} spids: [331] ) (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('*:\n') ('\tQuietMode\t\t\tyes\n') ('\tStrictHostKeyChecking\t\tyes\n') ('\tPort\t\t\t\t') (${ VSub_Name PORT) ('\n') ('\tUser\t\t\t\t') (${ VSub_Name USER) ('\n') ('\tHost\t\t\t\t127.0.0.1\n') ('\tIdentityFile\t\t\t') (${ VSub_Name OBJ) ('/id.list\n') ('\tRandomSeedFile\t\t\t') (${ VSub_Name OBJ) ('/random_seed\n') (' UserConfigDirectory ') (${ VSub_Name OBJ) ('/%U\n') ('\tAuthenticationSuccessMsg\tno\n') ('\tBatchMode\t\t\tyes\n') ('\tForwardX11\t\t\tno\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [338] ) ] ) (C {(start_sshd)}) (ForEach iter_name: v iter_words: [{(${ VSub_Name VERSIONS)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ssh2) op: Equal rhs: {(${ VSub_Name TEST_COMBASE) (/) (${ VSub_Name v) (/ssh2)} spids: [399] ) ] spids: [399] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-x)} {(${ VSub_Name ssh2)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 425] ) ] spids: [16777215 431] ) (C {(verbose)} {(DQ ('ssh2 ') (${ VSub_Name v))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:key) op:Equal rhs:{(ssh-dss)} spids:[444])] spids: [444] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:skipcat) op:Equal rhs:{(0)} spids:[448])] spids: [448] ) (Case to_match: {($ VSub_Name '$v')} arms: [ (case_arm pat_list: [{(2.1.) (Lit_Other '*')} {(2.3.0)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:skipcat) op:Equal rhs:{(1)} spids:[466])] spids: [466] ) ] spids: [459 463 470 16777215] ) (case_arm pat_list: [{(3.0.) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(ssh-rsa)} spids: [478] ) ] spids: [478] ) ] spids: [473 475 482 16777215] ) ] spids: [452 456 485] ) (C {(cp)} {(${ VSub_Name HK) (.) ($ VSub_Name '$key') (.pub)} {(${ VSub_Name HK) (.pub)}) (C {(${ VSub_Name ssh2)} {(-q)} {(-F)} {(${ VSub_Name OBJ) (/ssh2_config)} {(somehost)} {(exit)} {(42)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:r) op: Equal rhs: {($ VSub_QMark '$?')} spids: [528] ) ] spids: [528] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(42)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} { (DQ ('ssh2 ') (${ VSub_Name v) (' exit code test failed (got ') ($ VSub_Name '$r') (', expected 42)') ) } ) ] spids: [16777215 545] ) ] spids: [16777215 561] ) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) (SimpleCommand words: [ {(${ VSub_Name ssh2)} {(-F)} {(${ VSub_Name OBJ) (/ssh2_config)} {(somehost)} {(cat)} {(${ VSub_Name DATA)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name COPY)} spids: [597] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh2 ') (${ VSub_Name v) (' cat test (receive) failed'))})] spids: [16777215 617] ) ] spids: [16777215 631] ) (AndOr children: [ (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('ssh2 ') (${ VSub_Name v) (' cat test (receive) data mismatch'))}) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$skipcat')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) (Pipeline children: [ (C {(cat)} {(${ VSub_Name DATA)}) (C {(${ VSub_Name ssh2)} {(-F)} {(${ VSub_Name OBJ) (/ssh2_config)} {(host)} {(DQ ('cat > ') (${ VSub_Name COPY))} ) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} {(DQ ('ssh2 ') (${ VSub_Name v) (' cat test (send) failed'))}) ] spids: [16777215 731] ) ] spids: [16777215 745] ) (AndOr children: [ (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('ssh2 ') (${ VSub_Name v) (' cat test (send) data mismatch'))}) ] op_id: Op_DPipe ) ] spids: [16777215 675] ) ] spids: [16777215 773] ) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) (SimpleCommand words: [ {(${ VSub_Name ssh2)} {(-F)} {(${ VSub_Name OBJ) (/ssh2_config)} {(somehost)} {(exec)} {(sh)} {(-c)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (DQ ('exec > /dev/null; sleep 1; echo bla 1>&2; exit 0')) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) } ] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[819])] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh2 ') (${ VSub_Name v) (' stderr test failed'))})] spids: [16777215 837] ) ] spids: [16777215 851] ) ] spids: [396 853] ) spids: [390 394] ) (C {(rm)} {(-rf)} {(${ VSub_Name OBJ) (/) (${ VSub_Name USER)}) (ForEach iter_name: i iter_words: [ {(ssh2_config)} {(random_seed)} {(dsa.pub)} {(dsa)} {(host.dsa)} {(id.list)} {(id.com)} {(id.com.pub)} {(id.openssh)} ] do_arg_iter: False body: (DoGroup children: [(C {(rm)} {(-f)} {(${ VSub_Name OBJ) (/) ($ VSub_Name '$i')})] spids: [895 908] ) spids: [873 893] ) ] )