(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PATH) op:Equal rhs:{(DQ ('/sbin:/bin'))} spids:[31])] spids: [31] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:RUN_DIR) op:Equal rhs:{(DQ (/run/network))} spids:[36])] spids: [36] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFSTATE) op: Equal rhs: {(DQ ($ VSub_Name '$RUN_DIR') (/ifstate))} spids: [41] ) ] spids: [41] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:STATEDIR) op: Equal rhs: {(DQ ($ VSub_Name '$RUN_DIR') (/state))} spids: [47] ) ] spids: [47] ) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-x)} {(/sbin/ifup)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-x)} {(/sbin/ifdown)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CONFIGURE_INTERFACES) op:Equal rhs:{(yes)} spids:[88])] spids: [88] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXCLUDE_INTERFACES) op: Equal rhs: {(EmptyPart)} spids: [91] ) ] spids: [91] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VERBOSE) op:Equal rhs:{(no)} spids:[93])] spids: [93] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-f)} {(/etc/default/networking)} {(Lit_Other ']')}) (C {(.)} {(/etc/default/networking)}) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(DQ )} spids:[112])] spids: [112] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(-v)} spids:[130])] spids: [130] ) ] ) (FuncDef name: process_exclusions body: (BraceGroup children: [ (C {(set)} {(--)} {($ VSub_Name '$EXCLUDE_INTERFACES')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:exclusions) op:Equal rhs:{(DQ )} spids:[148])] spids: [148] ) (ForEach iter_name: d do_arg_iter: T body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:exclusions) op: Equal rhs: {(DQ ('-X ') ($ VSub_Name '$d') (' ') ($ VSub_Name '$exclusions'))} spids: [161] ) ] spids: [161] ) ] spids: [158 170] ) spids: [16777215 16777215] ) (C {(echo)} {($ VSub_Name '$exclusions')}) ] spids: [138] ) spids: [134 137] ) (FuncDef name: process_options body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {(/etc/network/options)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (C {(log_warning_msg)} { (DQ ( '/etc/network/options still exists and it will be IGNORED! Please use /etc/sysctl.conf instead.' ) ) } ) ] spids: [184] ) spids: [180 183] ) (FuncDef name: check_ifstate body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$RUN_DIR'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$RUN_DIR'))})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ("can't create ") ($ VSub_Name '$RUN_DIR'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 251] ) ] spids: [16777215 267] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(chown)} {(root) (Lit_Other ':') (netdev)} {(DQ ($ VSub_Name '$RUN_DIR'))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_warning_msg)} {(DQ ("can't chown ") ($ VSub_Name '$RUN_DIR'))}) ] spids: [16777215 286] ) ] spids: [16777215 297] ) ] spids: [16777215 234] ) ] spids: [16777215 300] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-r)} {(DQ ($ VSub_Name '$IFSTATE'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(Lit_Other ':')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$IFSTATE'))} spids: [327] ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ("can't initialise ") ($ VSub_Name '$IFSTATE'))}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 335] ) ] spids: [16777215 351] ) ] spids: [16777215 319] ) ] spids: [16777215 354] ) ] spids: [215] ) spids: [211 214] ) (FuncDef name: check_network_file_systems body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {(/proc/mounts)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(/etc/iscsi/iscsi.initramfs)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_warning_msg)} {(DQ ('not deconfiguring network interfaces: iSCSI root is mounted.'))} ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 393] ) ] spids: [16777215 408] ) (While cond: [ (Sentence child: (C {(read)} {(DEV)} {(MTPT)} {(FSTYPE)} {(REST)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$DEV')} arms: [ (case_arm pat_list: [ {(/dev/nbd) (Lit_Other '*')} {(/dev/nd) (Lit_Other '[') (a-z) (Lit_Other ']') (Lit_Other '*')} {(/dev/etherd/e) (Lit_Other '*')} {(curlftpfs) (Lit_Other '*')} ] action: [ (C {(log_warning_msg)} { (DQ ( 'not deconfiguring network interfaces: network devices still mounted.' ) ) } ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [435 449 464 16777215] ) ] spids: [428 432 467] ) (Case to_match: {($ VSub_Name '$FSTYPE')} arms: [ (case_arm pat_list: [ {(nfs)} {(nfs4)} {(smbfs)} {(ncp)} {(ncpfs)} {(cifs)} {(coda)} {(ocfs2)} {(gfs)} {(pvfs)} {(pvfs2)} {(fuse.httpfs)} {(fuse.curlftpfs)} ] action: [ (C {(log_warning_msg)} { (DQ ( 'not deconfiguring network interfaces: network file systems still mounted.' ) ) } ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [477 502 517 16777215] ) ] spids: [470 474 520] ) ] spids: [425 523] ) redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/proc/mounts)} spids:[525])] ) ] spids: [363] ) spids: [359 362] ) (FuncDef name: check_network_swap body: (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {(/proc/swaps)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (While cond: [ (Sentence child: (C {(read)} {(DEV)} {(MTPT)} {(FSTYPE)} {(REST)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$DEV')} arms: [ (case_arm pat_list: [ {(/dev/nbd) (Lit_Other '*')} {(/dev/nd) (Lit_Other '[') (a-z) (Lit_Other ']') (Lit_Other '*')} {(/dev/etherd/e) (Lit_Other '*')} ] action: [ (C {(log_warning_msg)} { (DQ ( 'not deconfiguring network interfaces: network swap still mounted.' ) ) } ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [578 589 604 16777215] ) ] spids: [571 575 607] ) ] spids: [568 610] ) redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/proc/swaps)} spids:[612])] ) ] spids: [536] ) spids: [532 535] ) (FuncDef name: ifup_hotplug body: (BraceGroup children: [ (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(-d)} {(/sys/class/net)} {(Lit_Other ']')})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ifaces) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (ForEach iter_name: iface iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(ifquery)} {(--list)} {(--allow) (Lit_Other '=') (hotplug)} ) ] ) left_token: <Left_CommandSub '$('> spids: [649 657] ) } ] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link) op: Equal rhs: { (BracedVarSub token: <VSub_Name iface> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {(':*')} ) spids: [664 668] ) } spids: [663] ) ] spids: [663] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link) op: Equal rhs: { (BracedVarSub token: <VSub_Name link> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('.*')} ) spids: [672 676] ) } spids: [671] ) ] spids: [671] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-e)} { (DQ (/sys/class/net/) ($ VSub_Name '$link')) } {(Lit_Other ']')} ) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(ip)} {(link)} {(set)} {(DQ ($ VSub_Name '$iface'))} {(up)} ) (C {(true)}) ] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(cat)} {(/sys/class/net/) ($ VSub_Name '$link') (/operstate) } ) ] ) left_token: <Left_CommandSub '$('> spids: [722 728] ) ) } {(Lit_Other '=')} {(up)} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$iface'))}) ] spids: [16777215 738] ) ] spids: [16777215 748] ) ] spids: [16777215 693] ) ] spids: [16777215 751] ) ] spids: [660 754] ) spids: [648 16777215] ) ] ) left_token: <Left_CommandSub '$('> spids: [642 755] ) } spids: [641] ) ] spids: [641] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$ifaces'))} {(Lit_Other ']')}) ] action: [ (AndOr ops: [Op_DPipe] children: [ (C {(ifup)} {($ VSub_Name '$ifaces')} {(DQ ($ VSub_At '$@'))}) (C {(true)}) ] ) ] spids: [16777215 771] ) ] spids: [16777215 787] ) ] spids: [16777215 638] ) ] spids: [16777215 790] ) ] spids: [624] ) spids: [619 623] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(init_is_upstart)}) terminator:<Op_Semi ';'>)] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [16777215 812] ) ] spids: [16777215 820] ) (C {(process_options)}) (C {(check_ifstate)}) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$CONFIGURE_INTERFACES'))} {(Lit_Other '=')} {(no)} {(Lit_Other ']')} ) ] action: [ (C {(log_action_msg)} {(DQ ('Not configuring network interfaces, see /etc/default/networking'))} ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 845] ) ] spids: [16777215 860] ) (C {(set)} {(-f)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:exclusions) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(process_exclusions)})]) left_token: <Left_CommandSub '$('> spids: [869 871] ) } spids: [868] ) ] spids: [868] ) (C {(log_action_begin_msg)} {(DQ ('Configuring network interfaces'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(/sbin/udevadm)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(ifquery)} {(--list)} {(--exclude) (Lit_Other '=') (lo)} ) ] ) left_token: <Left_CommandSub '$('> spids: [902 910] ) ) } {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-n)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(ifquery)} {(--list)} {(--allow) (Lit_Other '=') (hotplug)} ) ] ) left_token: <Left_CommandSub '$('> spids: [922 930] ) ) } {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DPipe] children: [(C {(udevadm)} {(settle)}) (C {(true)})] ) ] spids: [16777215 936] ) ] spids: [16777215 948] ) ] spids: [16777215 892] ) ] spids: [16777215 951] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(ifup)} {(-a)} {($ VSub_Name '$exclusions')} {($ VSub_Name '$verbose')}) (C {(ifup_hotplug)} {($ VSub_Name '$exclusions')} {($ VSub_Name '$verbose')}) ] ) ] action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 973] ) ] else_action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [981 989] ) ] spids: [803 804 992 16777215] ) (case_arm pat_list: [{(stop)}] action: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(init_is_upstart)}) terminator:<Op_Semi ';'>)] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})] spids: [16777215 1004] ) ] spids: [16777215 1012] ) (C {(check_network_file_systems)}) (C {(check_network_swap)}) (C {(log_action_begin_msg)} {(DQ ('Deconfiguring network interfaces'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(ifdown)} {(-a)} {(--exclude) (Lit_Other '=') (lo)} {($ VSub_Name '$verbose')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1042] ) ] else_action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [1050 1058] ) ] spids: [995 996 1061 16777215] ) (case_arm pat_list: [{(reload)}] action: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(init_is_upstart)}) terminator:<Op_Semi ';'>)] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [16777215 1073] ) ] spids: [16777215 1081] ) (C {(process_options)}) (C {(log_action_begin_msg)} {(DQ ('Reloading network interfaces configuration'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(ifquery)} {(--state)})]) left_token: <Left_CommandSub '$('> spids: [1096 1100] ) } spids: [1095] ) ] spids: [1095] ) (AndOr ops: [Op_DPipe] children: [ (C {(ifdown)} {(-a)} {(--exclude) (Lit_Other '=') (lo)} {($ VSub_Name '$verbose')}) (C {(true)}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(ifup)} {(--exclude) (Lit_Other '=') (lo)} {($ VSub_Name '$state')} {($ VSub_Name '$verbose')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1132] ) ] else_action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [1140 1148] ) ] spids: [1064 1065 1151 16777215] ) (case_arm pat_list: [{(force-reload)} {(restart)}] action: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(init_is_upstart)}) terminator:<Op_Semi ';'>)] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [16777215 1165] ) ] spids: [16777215 1173] ) (C {(process_options)}) (C {(log_warning_msg)} { (DQ ('Running ') ($ VSub_Number '$0') (' ') ($ VSub_Number '$1') (' is deprecated because it may not re-enable some interfaces') ) } ) (C {(log_action_begin_msg)} {(DQ ('Reconfiguring network interfaces'))}) (AndOr ops: [Op_DPipe] children: [ (C {(ifdown)} {(-a)} {(--exclude) (Lit_Other '=') (lo)} {($ VSub_Name '$verbose')}) (C {(true)}) ] ) (C {(set)} {(-f)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:exclusions) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(process_exclusions)})]) left_token: <Left_CommandSub '$('> spids: [1219 1221] ) } spids: [1218] ) ] spids: [1218] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(ifup)} {(-a)} {(--exclude) (Lit_Other '=') (lo)} {($ VSub_Name '$exclusions')} {($ VSub_Name '$verbose')} ) (C {(ifup_hotplug)} {($ VSub_Name '$exclusions')} {($ VSub_Name '$verbose')}) ] ) ] action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1247] ) ] else_action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [1255 1263] ) ] spids: [1154 1157 1266 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(echo)} {(DQ ('Usage: /etc/init.d/networking {start|stop|reload|restart|force-reload}'))} ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1269 1270 1285 16777215] ) ] spids: [795 801 1287] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )