(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:SAVEDFILE) rhs: {(/var/lib/urandom/random-seed)} spids: [58] ) ] spids: [58] ) (AndOr children: [(C {(Lit_Other "[")} {(-c)} {(/dev/urandom)} {(Lit_Other "]")}) (C {(exit)} {(0)})] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:PATH) rhs:{(/sbin) (Lit_Other ":") (/bin)} spids:[77])] spids: [77] ) (If arms: [ (if_arm cond: (Sentence command: (Pipeline children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:POOLBYTES) rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithBinary op_id: Arith_Plus left: (ArithWord w: { (CommandSubPart command_list: (SimpleCommand words: [ {(cat)} {(/proc/sys/kernel/random/poolsize)} ] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: 2 spids: [96] ) ] ) spids: [91 98] ) } ) right: (ArithWord w:{(Lit_Digits 7)}) ) right: (ArithWord w:{(Lit_Digits 8)}) ) spids: [87 110] ) } spids: [86] ) ] spids: [86] ) ] negated: True ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:POOLBYTES) rhs:{(512)} spids:[117])] spids: [117] ) spids: [-1 114] ) ] spids: [-1 120] ) (C {(.)} {(/lib/init/vars.sh)}) (C {(.)} {(/lib/lsb/init-functions)}) (FuncDef name: do_status body: (BraceGroup children: [ (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-f)} {($ VSub_Name "$SAVEDFILE")} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) action: (C {(return)} {(0)}) spids: [-1 152] ) ] else_action: (C {(return)} {(4)}) spids: [160 168] ) ] spids: [137] ) spids: [132 136] ) (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(start)} {(DQ )}] action: (CommandList children: [ (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} {(Lit_Other "]")} ) (C {(log_action_begin_msg)} {(DQ ("Initializing random number generator"))}) ] op_id: Op_DPipe ) (Subshell children: [ (CommandList children: [ (C {(date)} {(Lit_Other "+") (Lit_Other "%") (s.) (Lit_Other "%") (N)}) (If arms: [ (if_arm cond: (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$SAVEDFILE"))} {(Lit_Other "]")} ) action: (C {(cat)} {(DQ ($ VSub_Name "$SAVEDFILE"))}) spids: [-1 272] ) ] spids: [-1 282] ) ] ) ] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/urandom)} fd: -1 spids: [303] ) ] spids: [238 301] ) (C {(umask)} {(077)}) (SimpleCommand words: [ {(dd)} {(Lit_VarLike "if=") (/dev/urandom)} {(Lit_VarLike "of=") ($ VSub_Name "$SAVEDFILE")} {(Lit_VarLike "bs=") ($ VSub_Name "$POOLBYTES")} {(Lit_VarLike "count=") (1)} ] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: -1 spids: [355] ) (Redirect op_id: Redir_GreatAnd arg_word: {(1)} fd: 2 spids: [358] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:ES) rhs:{($ VSub_QMark "$?")} spids:[362])] spids: [362] ) (C {(umask)} {(022)}) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} {(Lit_Other "]")} ) (C {(log_action_end_msg)} {($ VSub_Name "$ES")}) ] op_id: Op_DPipe ) ] ) spids: [182 186 390 -1] ) (case_arm pat_list: [{(stop)}] action: (CommandList children: [ (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} {(Lit_Other "]")} ) (C {(log_action_begin_msg)} {(DQ ("Saving random seed"))}) ] op_id: Op_DPipe ) (C {(umask)} {(077)}) (SimpleCommand words: [ {(dd)} {(Lit_VarLike "if=") (/dev/urandom)} {(Lit_VarLike "of=") ($ VSub_Name "$SAVEDFILE")} {(Lit_VarLike "bs=") ($ VSub_Name "$POOLBYTES")} {(Lit_VarLike "count=") (1)} ] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: -1 spids: [453] ) (Redirect op_id: Redir_GreatAnd arg_word: {(1)} fd: 2 spids: [456] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:ES) rhs:{($ VSub_QMark "$?")} spids:[460])] spids: [460] ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$VERBOSE"))} {(Lit_Other "=")} {(no)} {(Lit_Other "]")} ) (C {(log_action_end_msg)} {($ VSub_Name "$ES")}) ] op_id: Op_DPipe ) ] ) spids: [393 394 483 -1] ) (case_arm pat_list: [{(status)}] action: (CommandList children:[(C {(do_status)})(C {(exit)} {($ VSub_QMark "$?")})]) spids: [486 487 498 -1] ) (case_arm pat_list: [{(restart)} {(reload)} {(force-reload)}] action: (CommandList children: [ (SimpleCommand words: [{(echo)} {(DQ ("Error: argument '") ($ VSub_Number "$1") ("' not supported"))}] redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[517])] ) (C {(exit)} {(3)}) ] ) spids: [501 506 526 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: (CommandList children: [ (SimpleCommand words: [{(echo)} {(DQ ("Usage: urandom start|stop"))}] redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[539])] ) (C {(exit)} {(3)}) ] ) spids: [529 530 548 -1] ) ] spids: [173 179 550] ) (C {(Lit_Other ":")}) ] )