(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tid) op: Equal rhs: {(DQ ('connect to ssh.com server'))} 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: [-1 36] ) ] spids: [-1 45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSIONS) op: Equal rhs: { (DQ ('\n') ('\t2.0.12\n') ('\t2.0.13\n') ('\t2.1.0\n') ('\t2.2.0\n') ('\t2.3.0\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] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ('#*:\n') ('\t# Port and ListenAddress are not used.\n') ('\tQuietMode\t\t\tyes\n') ('\tPort\t\t\t\t4343\n') ('\tListenAddress\t\t\t127.0.0.1\n') ('\tUserConfigDirectory\t\t') (${ VSub_Name OBJ) ('/%U\n') ('\tCiphers\t\t\t\tAnyCipher\n') ('\tPubKeyAuthentication\t\tyes\n') ('\t#AllowedAuthentications\t\tpublickey\n') ('\tAuthorizationFile\t\tauthorization\n') ('\tHostKeyFile\t\t\t') (${ VSub_Name SRC) ('/dsa_ssh2.prv\n') ('\tPublicHostKeyFile\t\t') (${ VSub_Name SRC) ('/dsa_ssh2.pub\n') ('\tRandomSeedFile\t\t\t') (${ VSub_Name OBJ) ('/random_seed\n') ('\tMaxConnections\t\t\t0\n') ('\tPermitRootLogin\t\t\tyes\n') ('\tVerboseMode\t\t\tno\n') ('\tCheckMail\t\t\tno\n') ('\tSsh1Compatibility\t\tno\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [90] ) (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$OBJ') (/sshd2_config)} spids: [94] ) ] ) (SimpleCommand words: [{(sed)} {(DQ ('s/HostKeyAlias.*/HostKeyAlias ssh2-localhost-with-alias/'))}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {($ VSub_Name '$OBJ') (/ssh_config)} spids: [146] ) (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$OBJ') (/ssh_config_com)} spids: [151] ) ] ) (C {(rm)} {(-f)} {(${ VSub_Name OBJ) (/dsa)} {(${ VSub_Name OBJ) (/dsa.pub)}) (C {(${ VSub_Name SSHKEYGEN)} {(-q)} {(-N)} {(SQ )} {(-t)} {(dsa)} {(-f)} {(${ VSub_Name OBJ) (/dsa)}) (C {(mkdir)} {(-p)} {(${ VSub_Name OBJ) (/) (${ VSub_Name USER)}) (C {(cp)} {(/dev/null)} {(${ VSub_Name OBJ) (/) (${ VSub_Name USER) (/authorization)}) (ForEach iter_name: t iter_words: [{(rsa)} {(dsa)}] do_arg_iter: False body: (DoGroup children: [ (SimpleCommand words: [ {(${ VSub_Name SSHKEYGEN)} {(-e)} {(-f)} {(${ VSub_Name OBJ) (/) ($ VSub_Name '$t') (.pub)} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name OBJ) (/) (${ VSub_Name USER) (/) ($ VSub_Name '$t') (.com)} spids: [254] ) ] ) (SimpleCommand words: [{(echo)} {(Key)} {($ VSub_Name '$t') (.com)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name OBJ) (/) (${ VSub_Name USER) (/authorization)} spids: [275] ) ] ) (SimpleCommand words: [{(echo)} {(IdentityFile)} {(${ VSub_Name OBJ) (/) ($ VSub_Name '$t')}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name OBJ) (/ssh_config_com)} spids: [297] ) ] ) ] spids: [236 304] ) spids: [230 234] ) (Subshell child: (CommandList children: [ (C {(printf)} {(SQ <'ssh2-localhost-with-alias,127.0.0.1,::1 '>)}) (C {(${ VSub_Name SSHKEYGEN)} {(-if)} {(${ VSub_Name SRC) (/dsa_ssh2.pub)}) ] ) redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$OBJ') (/known_hosts)} spids: [333] ) ] spids: [310 331] ) (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:sshd2) op: Equal rhs: {(${ VSub_Name TEST_COMBASE) (/) (${ VSub_Name v) (/sshd2)} spids: [356] ) ] spids: [356] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-x)} {(${ VSub_Name sshd2)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [-1 382] ) ] spids: [-1 388] ) (C {(trace)} {(DQ ('sshd2 ') (${ VSub_Name v))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROXY) op: Equal rhs: { (DQ ('proxycommand ') (${ VSub_Name sshd2) (' -qif ') (${ VSub_Name OBJ) ('/sshd2_config 2> /dev/null') ) } spids: [401] ) ] spids: [401] ) (C {(${ VSub_Name SSH)} {(-qF)} {(${ VSub_Name OBJ) (/ssh_config_com)} {(-o)} {(DQ (${ VSub_Name PROXY))} {(dummy)} {(exit)} {(0)} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh connect to sshd2 ') (${ VSub_Name v) (' failed'))})] spids: [-1 454] ) ] spids: [-1 468] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ciphers) op: Equal rhs: {(DQ ('3des-cbc blowfish-cbc arcfour'))} spids: [472] ) ] spids: [472] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:macs) op: Equal rhs: {(DQ (hmac-md5))} spids: [478] ) ] spids: [478] ) (Case to_match: {($ VSub_Name '$v')} arms: [ (case_arm pat_list: [{(2.4.) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ciphers) op: Equal rhs: {(DQ ($ VSub_Name '$ciphers') (' cast128-cbc'))} spids: [496] ) ] spids: [496] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:macs) op: Equal rhs: {(DQ ($ VSub_Name '$macs') (' hmac-sha1 hmac-sha1-96 hmac-md5-96'))} spids: [503] ) ] spids: [503] ) ] spids: [491 493 510 -1] ) (case_arm pat_list: [{(3.) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ciphers) op: Equal rhs: {(DQ ($ VSub_Name '$ciphers') (' aes128-cbc cast128-cbc'))} spids: [518] ) ] spids: [518] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:macs) op: Equal rhs: {(DQ ($ VSub_Name '$macs') (' hmac-sha1 hmac-sha1-96 hmac-md5-96'))} spids: [525] ) ] spids: [525] ) ] spids: [513 515 532 -1] ) ] spids: [484 488 535] ) (ForEach iter_name: m iter_words: [{($ VSub_Name '$macs')}] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: c iter_words: [{($ VSub_Name '$ciphers')}] do_arg_iter: False body: (DoGroup children: [ (C {(trace)} { (DQ ('sshd2 ') (${ VSub_Name v) (' cipher ') ($ VSub_Name '$c') (' mac ') ($ VSub_Name '$m') ) } ) (C {(verbose)} { (DQ ('test ') (${ VSub_Name tid) (': sshd2 ') (${ VSub_Name v) (' cipher ') ($ VSub_Name '$c') (' mac ') ($ VSub_Name '$m') ) } ) (C {(${ VSub_Name SSH)} {(-c)} {($ VSub_Name '$c')} {(-m)} {($ VSub_Name '$m')} {(-qF)} {(${ VSub_Name OBJ) (/ssh_config_com)} {(-o)} {(DQ (${ VSub_Name PROXY))} {(dummy)} {(exit)} {(0)} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} { (DQ ('ssh connect to sshd2 ') (${ VSub_Name v) (' with ') ($ VSub_Name '$c') (/) ($ VSub_Name '$m') (' failed') ) } ) ] spids: [-1 645] ) ] spids: [-1 663] ) ] spids: [563 666] ) spids: [559 561] ) ] spids: [551 669] ) spids: [547 549] ) ] spids: [353 671] ) spids: [347 351] ) (C {(rm)} {(-rf)} {(${ VSub_Name OBJ) (/) (${ VSub_Name USER)}) (ForEach iter_name: i iter_words: [ {(sshd_config_proxy)} {(ssh_config_proxy)} {(random_seed)} {(sshd2_config)} {(dsa.pub)} {(dsa)} {(ssh_config_com)} ] do_arg_iter: False body: (DoGroup children: [(C {(rm)} {(-f)} {(${ VSub_Name OBJ) (/) ($ VSub_Name '$i')})] spids: [709 722] ) spids: [691 707] ) ] )