(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ (integrity))} spids:[7])] spids: [7] ) (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_proxy)} {($ VSub_Name '$OBJ') (/sshd_proxy_bak)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tries) op:Equal rhs:{(10)} spids:[24])] spids: [24] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:startoffset) op:Equal rhs:{(2900)} spids:[27])] spids: [27] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:macs) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(${ VSub_Name SSH)} {(-Q)} {(mac)})]) left_token: <Left_Backtick '`'> spids: [31 39] ) } spids: [30] ) ] spids: [30] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:macs) op: Equal rhs: { (DQ ($ VSub_Name '$macs') (' ') (CommandSubPart command_list: (CommandList children: [(C {(${ VSub_Name SSH)} {(-Q)} {(cipher-auth)})] ) left_token: <Left_Backtick '`'> spids: [51 59] ) ) } spids: [47] ) ] spids: [47] ) (SimpleCommand words: [{(echo)} {(DQ ('KexAlgorithms diffie-hellman-group14-sha1,diffie-hellman-group1-sha1'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/ssh_proxy)} spids: [77] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd) op: Equal rhs: { (DQ ($ VSub_Name '$SUDO') (' sh ') (${ VSub_Name SRC) ('/sshd-log-wrapper.sh ') (${ VSub_Name TEST_SSHD_LOGFILE) (' ') (${ VSub_Name SSHD) (' -i -f ') ($ VSub_Name '$OBJ') (/sshd_proxy) ) } spids: [86] ) ] spids: [86] ) (ForEach iter_name: m iter_words: [{($ VSub_Name '$macs')}] do_arg_iter: False body: (DoGroup children: [ (C {(trace)} {(DQ ('test ') ($ VSub_Name '$tid') (': mac ') ($ VSub_Name '$m'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:elen) op:Equal rhs:{(0)} spids:[129])] spids: [129] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:epad) op:Equal rhs:{(0)} spids:[133])] spids: [133] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:emac) op:Equal rhs:{(0)} spids:[137])] spids: [137] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:etmo) op:Equal rhs:{(0)} spids:[141])] spids: [141] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ecnt) op:Equal rhs:{(0)} spids:[145])] spids: [145] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:skip) op:Equal rhs:{(0)} spids:[149])] spids: [149] ) (ForEach iter_name: off iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(jot)} {($ VSub_Name '$tries')} {($ VSub_Name '$startoffset')})] ) left_token: <Left_Backtick '`'> spids: [159 165] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$skip')} {(-)} {(1)})] ) left_token: <Left_Backtick '`'> spids: [172 180] ) } spids: [171] ) ] spids: [171] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$skip')} {(-gt)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 196] ) ] spids: [16777215 206] ) (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_proxy_bak)} {($ VSub_Name '$OBJ') (/sshd_proxy)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pxy) op: Equal rhs: { (DQ ('proxycommand=') ($ VSub_Name '$cmd') (' | ') ($ VSub_Name '$OBJ') ('/modpipe -wm xor:') ($ VSub_Name '$off') (':1') ) } spids: [222] ) ] spids: [222] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(${ VSub_Name SSH)} {(-Q)} {(cipher-auth)}) (SimpleCommand words: [ {(grep)} { (DQ ('^') (${ VSub_Name m) (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [256] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [259] ) ] ) ] negated: False ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ('Ciphers=') ($ VSub_Name '$m'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/sshd_proxy)} spids: [274] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:macopt) op: Equal rhs: {(DQ ('-c ') ($ VSub_Name '$m'))} spids: [280] ) ] spids: [280] ) ] spids: [16777215 264] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ('Ciphers=aes128-ctr'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/sshd_proxy)} spids: [296] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ('MACs=') ($ VSub_Name '$m'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/sshd_proxy)} spids: [309] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:macopt) op: Equal rhs: {(DQ ('-m ') ($ VSub_Name '$m') (' -c aes128-ctr'))} spids: [315] ) ] spids: [315] ) ] spids: [287 323] ) (C {(verbose)} { (DQ ('test ') ($ VSub_Name '$tid') (': ') ($ VSub_Name '$m') (' @') ($ VSub_Name '$off') ) } ) (SimpleCommand words: [ {(${ VSub_Name SSH)} {($ VSub_Name '$macopt')} {(-2F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(-o)} {(DQ ($ VSub_Name '$pxy'))} {(-oServerAliveInterval) (Lit_Other '=') (1)} {(-oServerAliveCountMax) (Lit_Other '=') (30)} {(999.999.999.999)} {(SQ <'printf "%4096s" " "'>)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [373] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} { (DQ ('ssh -m ') ($ VSub_Name '$m') (' succeeds with bit-flip at ') ($ VSub_Name '$off') ) } ) ] spids: [16777215 390] ) ] spids: [16777215 403] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ecnt) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$ecnt')} {(Lit_Other '+')} {(1)}) ] ) left_token: <Left_Backtick '`'> spids: [407 415] ) } spids: [406] ) ] spids: [406] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(egrep)} {(-v)} {(DQ ('^debug'))} {($ VSub_Name '$TEST_SSH_LOGFILE')} ) (C {(tail)} {(-2)}) (C {(tr)} {(-s)} {(SQ <'\\r\\n'>)} {(SQ <.>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [419 451] ) } spids: [418] ) ] spids: [418] ) (Case to_match: {(DQ ($ VSub_Name '$out'))} arms: [ (case_arm pat_list: [{(Bad) (Lit_Other '?') (packet) (Lit_Other '*')}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:elen) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$elen')} {(Lit_Other '+')} {(1)} ) ] ) left_token: <Left_Backtick '`'> spids: [470 478] ) } spids: [469] ) ] spids: [469] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: {(3)} spids: [481] ) ] spids: [481] ) ] spids: [463 467 483 16777215] ) (case_arm pat_list: [ {(Corrupted) (Lit_Other '?') (MAC) (Lit_Other '*')} {(Lit_Other '*') (message) (Lit_Other '?') (authentication) (Lit_Other '?') (code) (Lit_Other '?') (incorrect) (Lit_Other '*') } ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:emac) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$emac')} {(Lit_Other '+')} {(1)} ) ] ) left_token: <Left_Backtick '`'> spids: [506 514] ) } spids: [505] ) ] spids: [505] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: {(0)} spids: [517] ) ] spids: [517] ) ] spids: [486 502 519 16777215] ) (case_arm pat_list: [{(padding) (Lit_Other '*')}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:epad) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$epad')} {(Lit_Other '+')} {(1)} ) ] ) left_token: <Left_Backtick '`'> spids: [527 535] ) } spids: [526] ) ] spids: [526] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: {(0)} spids: [538] ) ] spids: [538] ) ] spids: [522 524 540 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(fail)} { (DQ ('unexpected error mac ') ($ VSub_Name '$m') (' at ') ($ VSub_Name '$off') (': ') ($ VSub_Name '$out') ) } ) ] spids: [543 544 556 16777215] ) ] spids: [454 460 559] ) ] spids: [168 562] ) spids: [158 166] ) (C {(verbose)} { (DQ ('test ') ($ VSub_Name '$tid') (': ') ($ VSub_Name '$ecnt') (' errors: mac ') ($ VSub_Name '$emac') (' padding ') ($ VSub_Name '$epad') (' length ') ($ VSub_Name '$elen') ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$emac')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ($ VSub_Name '$m') (': no mac errors'))})] spids: [16777215 594] ) ] spids: [16777215 605] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expect) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$ecnt')} {(-)} {($ VSub_Name '$epad')} {(-)} {($ VSub_Name '$elen')} ) ] ) left_token: <Left_Backtick '`'> spids: [609 621] ) } spids: [608] ) ] spids: [608] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$emac')} {(-ne)} {($ VSub_Name '$expect')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} { (DQ ($ VSub_Name '$m') (': expected ') ($ VSub_Name '$expect') (' mac errors, got ') ($ VSub_Name '$emac') ) } ) ] spids: [16777215 637] ) ] spids: [16777215 651] ) ] spids: [116 653] ) spids: [112 114] ) ] )