(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:PATH) rhs: {(/bin) (Lit_Other ":") (/usr/bin) (Lit_Other ":") (/sbin) (Lit_Other ":") (/usr/sbin)} spids: [51] ) ] spids: [51] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:DAEMON) rhs:{(/usr/sbin/postfix)} spids:[60])] spids: [60] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:NAME) rhs:{(Postfix)} spids:[63])] spids: [63] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:TZ) rhs:{(SQ )} spids:[66])] spids: [66] ) (C {(unset)} {(TZ)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:SYNC_CHROOT) rhs:{(DQ (y))} spids:[76])] spids: [76] ) (AndOr children: [(C {(test)} {(-f)} {(/etc/default/postfix)}) (C {(.)} {(/etc/default/postfix)})] op_id: Op_DAmp ) (AndOr children: [ (C {(test)} {(-x)} {($ VSub_Name "$DAEMON")}) (AndOr children: [(C {(test)} {(-f)} {(/etc/postfix/main.cf)}) (C {(exit)} {(0)})] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (C {(.)} {(/lib/lsb/init-functions)}) (FuncDef name: enabled_instances body: (BraceGroup children: [ (Pipeline children: [(C {(postmulti)} {(-l)} {(-a)}) (C {(awk)} {(SQ <"($3==\"y\") { print $1}">)})] negated: False ) ] spids: [128] ) spids: [124 127] ) (FuncDef name: running body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:INSTANCE) rhs: {(DQ ($ VSub_Number "$1"))} spids: [155] ) ] spids: [155] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$INSTANCE"))} {(Lit_Other "=")} {(X)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:POSTCONF) rhs: {(DQ (postconf))} spids: [180] ) ] spids: [180] ) spids: [-1 177] ) ] else_action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:POSTCONF) rhs: {(DQ ("postmulti -i ") ($ VSub_Name "$INSTANCE") (" -x postconf"))} spids: [189] ) ] spids: [189] ) spids: [186 197] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:queue) rhs: { (CommandSubPart command_list: (AndOr children: [ (SimpleCommand words: [{($ VSub_Name "$POSTCONF")} {(-h)} {(queue_directory)}] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: 2 spids: [209] ) ] ) (C {(echo)} {(/var/spool/postfix)}) ] op_id: Op_DPipe ) spids: [202 217] ) } spids: [201] ) ] spids: [201] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-f)} {(${ VSub_Name queue) (/pid/master.pid)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:pid) rhs: { (CommandSubPart command_list: (C {(sed)} {(SQ <"s/ //g">)} {(${ VSub_Name queue) (/pid/master.pid)} ) spids: [238 249] ) } spids: [237] ) ] spids: [237] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:dir) rhs: { (CommandSubPart command_list: (Pipeline children: [ (SimpleCommand words: [{(ls)} {(-l)} {(/proc/) ($ VSub_Name "$pid") (/exe)}] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: 2 spids: [266] ) ] ) (C {(sed)} {(SQ <"s/.* -> //; s/\\/[^\\/]*$//">)}) ] negated: False ) spids: [257 276] ) } spids: [256] ) ] spids: [256] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$dir"))} {(Lit_Other "=")} {(DQ (X/usr/lib/postfix))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (C {(echo)} {(y)}) spids: [-1 297] ) ] spids: [-1 305] ) ] ) spids: [-1 234] ) ] spids: [-1 308] ) ] spids: [152] ) spids: [148 151] ) (FuncDef name: configure_instance body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:INSTANCE) rhs: {(DQ ($ VSub_Number "$1"))} spids: [320] ) ] spids: [320] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$INSTANCE"))} {(Lit_Other "=")} {(X)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:POSTCONF) rhs: {(DQ (postconf))} spids: [345] ) ] spids: [345] ) spids: [-1 342] ) ] else_action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:POSTCONF) rhs: {(DQ ("postmulti -i ") ($ VSub_Name "$INSTANCE") (" -x postconf"))} spids: [354] ) ] spids: [354] ) spids: [351 362] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:MYORIGIN) rhs: { (CommandSubPart command_list: (Pipeline children: [ (C {($ VSub_Name "$POSTCONF")} {(-h)} {(myorigin)}) (C {(tr)} {(SQ <A-Z>)} {(SQ <a-z>)}) ] negated: False ) spids: [377 395] ) } spids: [376] ) ] spids: [376] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} { (DQ (X) (BracedVarSub token: <VSub_Name MYORIGIN> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)}) spids: [404 408] ) ) } {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) (${ VSub_Name MYORIGIN))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:MYORIGIN) rhs: { (CommandSubPart command_list: (SimpleCommand words: [{(tr)} {(SQ <A-Z>)} {(SQ <a-z>)}] redirects: [ (Redirect op_id: Redir_Less arg_word: {($ VSub_Name "$MYORIGIN")} fd: -1 spids: [439] ) ] ) spids: [428 442] ) } spids: [427] ) ] spids: [427] ) spids: [-1 424] ) ] spids: [-1 445] ) (If arms: [ (if_arm cond: (Sentence command: (AndOr children: [ (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$MYORIGIN"))} {(Lit_Other "=")} {(Xubuntu.com)} {(Lit_Other "]")} ) (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$MYORIGIN"))} {(Lit_Other "=")} {(Xdebian.org)} {(Lit_Other "]")} ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (C {(log_failure_msg)} { (DQ ("Invalid ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("myorigin (") ($ VSub_Name "$MYORIGIN") ("), refusing to start") ) } ) (C {(log_end_msg)} {(1)}) (C {(exit)} {(1)}) ] ) spids: [-1 479] ) ] spids: [-1 503] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:config_dir) rhs: { (CommandSubPart command_list: (C {($ VSub_Name "$POSTCONF")} {(-h)} {(config_directory)}) spids: [508 514] ) } spids: [507] ) ] spids: [507] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:NEED_CHROOT) rhs: { (CommandSubPart command_list: (C {(awk)} {(SQ <"/^[0-9a-z]/ && ($5 ~ \"[-yY]\") { print \"y\"; exit}">)} {(${ VSub_Name config_dir) (/master.cf)} ) spids: [522 533] ) } spids: [521] ) ] spids: [521] ) (If arms: [ (if_arm cond: (Sentence command: (AndOr children: [ (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$NEED_CHROOT"))} {(Lit_Other "]")} ) (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$SYNC_CHROOT"))} {(Lit_Other "]")} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:oldumask) rhs: {(CommandSubPart command_list:(C {(umask)}) spids:[570572])} spids: [569] ) ] spids: [569] ) (C {(umask)} {(022)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:queue_dir) rhs: { (CommandSubPart command_list: (C {($ VSub_Name "$POSTCONF")} {(-h)} {(queue_directory)}) spids: [581 587] ) } spids: [580] ) ] spids: [580] ) (C {(cd)} {(DQ ($ VSub_Name "$queue_dir"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:ca_path) rhs: { (CommandSubPart command_list: (C {($ VSub_Name "$POSTCONF")} {(-h)} {(smtp_tls_CApath)}) spids: [603 609] ) } spids: [602] ) ] spids: [602] ) (Case to_match: {(DQ ($ VSub_Name "$ca_path"))} arms: [ (case_arm pat_list: [{(SQ )}] action: (C {(Lit_Other ":")}) spids: [-1 623 626 -1] ) (case_arm pat_list: [{($ VSub_Name "$queue_dir") (/) (Lit_Other "*")}] action: (C {(Lit_Other ":")}) spids: [632 635 638 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: (If arms: [ (if_arm cond: (Sentence command: (C {(test)} {(-d)} {(DQ ($ VSub_Name "$ca_path"))}) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:dest_dir) rhs: { (DQ ($ VSub_Name "$queue_dir") (/) (BracedVarSub token: <VSub_Name ca_path> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [666 670] ) ) } spids: [662] ) ] spids: [662] ) (While cond: (Sentence command: (C {(Lit_Other "[")} { (DQ (BracedVarSub token: <VSub_Name dest_dir> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [683 687] ) ) } {(KW_Bang "!") (Lit_Other "=")} {(DQ (${ VSub_Name dest_dir))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) body: (DoGroup child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:dest_dir) rhs: { (DQ (BracedVarSub token: <VSub_Name dest_dir> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /)} ) spids: [707 711] ) ) } spids: [705] ) ] spids: [705] ) spids: [702 715] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:new) rhs: {(0)} spids: [718] ) ] spids: [718] ) (If arms: [ (if_arm cond: (Sentence command: (C {(test)} {(-d)} {(DQ ($ VSub_Name "$dest_dir"))} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:dest_dir) rhs: {(DQ (${ VSub_Name dest_dir) (.NEW))} spids: [740] ) ] spids: [740] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:new) rhs: {(1)} spids: [749] ) ] spids: [749] ) ] ) spids: [-1 733] ) ] spids: [-1 753] ) (C {(mkdir)} {(--parent)} {(${ VSub_Name dest_dir)}) (AndOr children: [ (Subshell children: [ (AndOr children: [ (C {(cd)} {(DQ ($ VSub_Name "$ca_path"))}) (Pipeline children: [ (C {(find)} {(.)} {(-name)} {(SQ <"*.pem">)} {(-print0)} ) (C {(cpio)} {(-0pdL)} {(--quiet)} {(DQ ($ VSub_Name "$dest_dir"))} ) ] negated: False ) ] op_id: Op_DAmp ) ] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: 2 spids: [803] ) ] spids: [769 801] ) (Subshell children: [ (CommandList children: [ (Sentence command: (C {(log_failure_msg)} {(failure)} {(copying)} {(certificates)} ) terminator: <Op_Semi ";"> ) (C {(exit)} {(1)}) ] ) ] spids: [810 823] ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(c_rehash)} {(DQ ($ VSub_Name "$dest_dir"))}] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: -1 spids: [832] ) (Redirect op_id: Redir_GreatAnd arg_word: {(1)} fd: 2 spids: [835] ) ] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$new"))} {(Lit_Other "=")} {(1)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (C {(rm)} {(-rf)} { (DQ (BracedVarSub token: <VSub_Name dest_dir> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(.NEW)} ) spids: [866 870] ) ) } ) (C {(mv)} {(DQ ($ VSub_Name "$dest_dir"))} { (DQ (BracedVarSub token: <VSub_Name dest_dir> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(.NEW)} ) spids: [881 885] ) ) } ) ] ) spids: [-1 854] ) ] spids: [-1 889] ) ] ) spids: [-1 659] ) ] spids: [-1 892] ) spids: [644 645 895 -1] ) ] spids: [612 618 898] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:ca_file) rhs: { (CommandSubPart command_list: (C {($ VSub_Name "$POSTCONF")} {(-h)} {(smtp_tls_CAfile)}) spids: [907 913] ) } spids: [906] ) ] spids: [906] ) (Case to_match: {(DQ ($ VSub_Name "$ca_file"))} arms: [ (case_arm pat_list: [{($ VSub_Name "$queue_dir") (/) (Lit_Other "*")}] action: (C {(Lit_Other ":")}) spids: [925 928 931 -1] ) (case_arm pat_list: [{(SQ )}] action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:ca_bundle) rhs: {(/etc/ssl/certs/ca-certificates.crt)} spids: [949] ) ] spids: [949] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-f)} {($ VSub_Name "$ca_bundle")} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (C {(mkdir)} {(--parent)} { (DQ ($ VSub_Name "$queue_dir") (/) (BracedVarSub token: <VSub_Name ca_bundle> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ("*")} ) spids: [974 979] ) ) } ) (C {(cp)} {(-L)} {(DQ ($ VSub_Name "$ca_bundle"))} { (DQ ($ VSub_Name "$queue_dir") (/) (BracedVarSub token: <VSub_Name ca_bundle> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ("*")} ) spids: [994 999] ) ) } ) ] ) spids: [-1 964] ) ] spids: [-1 1003] ) ] ) spids: [-1 939 1006 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: (If arms: [ (if_arm cond: (Sentence command: (C {(test)} {(-f)} {(DQ ($ VSub_Name "$ca_file"))}) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:dest_dir) rhs: { (DQ ($ VSub_Name "$queue_dir") (/) (BracedVarSub token: <VSub_Name ca_path> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [1031 1035] ) ) } spids: [1027] ) ] spids: [1027] ) (C {(mkdir)} {(--parent)} {(DQ ($ VSub_Name "$dest_dir"))}) (C {(cp)} {(-L)} {(DQ ($ VSub_Name "$ca_file"))} {(DQ ($ VSub_Name "$dest_dir"))} ) ] ) spids: [-1 1024] ) ] spids: [-1 1061] ) spids: [1009 1010 1064 -1] ) ] spids: [916 922 1067] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:local_maps) rhs: { (CommandSubPart command_list: (C {($ VSub_Name "$POSTCONF")} {(-h)} {(local_recipient_maps)}) spids: [1076 1082] ) } spids: [1075] ) ] spids: [1075] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$local_maps"))} {(KW_Bang "!") (Lit_Other "=")} { (DQ (X) (BracedVarSub token: <VSub_Name local_maps> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {("*unix:passwd.byname")} ) spids: [1099 1103] ) ) } {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$local_maps"))} {(Lit_Other "=")} { (DQ (X) (BracedVarSub token: <VSub_Name local_maps> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {("*proxy:unix:passwd.byname")} ) spids: [1125 1129] ) ) } {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (SimpleCommand words: [ {(sed)} {(SQ <"s/^\\([^:]*\\):[^:]*/\\1:x/">)} {(/etc/passwd)} ] redirects: [ (Redirect op_id: Redir_Great arg_word: {(etc/passwd)} fd: -1 spids: [1146] ) ] ) (C {(chmod)} {(a) (Lit_Other "+") (r)} {(etc/passwd)}) ] ) spids: [-1 1135] ) ] spids: [-1 1160] ) spids: [-1 1109] ) ] spids: [-1 1163] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:FILES) rhs: { (DQ ("etc/localtime etc/services etc/resolv.conf etc/hosts ") ("\t etc/nsswitch.conf etc/nss_mdns.config") ) } spids: [1167] ) ] spids: [1167] ) (ForEach iter_name: file iter_words: [{($ VSub_Name "$FILES")}] do_arg_iter: False body: (DoGroup child: (CommandList children: [ (AndOr children: [ (C {(Lit_Other "[")} {(-d)} { (BracedVarSub token: <VSub_Name file> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ("*")} ) spids: [1191 1196] ) } {(Lit_Other "]")} ) (C {(mkdir)} {(-p)} { (BracedVarSub token: <VSub_Name file> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ("*")} ) spids: [1206 1211] ) } ) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-f)} {(/) (${ VSub_Name file)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Sentence command: (AndOr children: [ (C {(rm)} {(-f)} {(${ VSub_Name file)}) (C {(cp)} {(/) (${ VSub_Name file)} {(${ VSub_Name file)} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) spids: [-1 1228] ) ] spids: [-1 1252] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-f)} {(${ VSub_Name file)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Sentence command: (C {(chmod)} {(a) (Lit_Other "+") (rX)} {(${ VSub_Name file)} ) terminator: <Op_Semi ";"> ) spids: [-1 1268] ) ] spids: [-1 1281] ) ] ) spids: [1184 1284] ) spids: [1180 1182] ) (AndOr children: [ (Pipeline children: [ (Subshell children: [ (CommandList children: [ (Sentence command: (C {(echo)} {(/dev/random)}) terminator: <Op_Semi ";"> ) (C {(echo)} {(/dev/urandom)}) ] ) ] spids: [1291 1300] ) (SimpleCommand words: [{(cpio)} {(-pdL)} {(--quiet)} {(.)}] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: 2 spids: [1312] ) ] ) ] negated: False ) (C {(true)}) ] op_id: Op_DPipe ) (C {(rm)} {(-f)} {(usr/lib/zoneinfo/localtime)}) (C {(mkdir)} {(-p)} {(usr/lib/zoneinfo)}) (C {(ln)} {(-sf)} {(/etc/localtime)} {(usr/lib/zoneinfo/localtime)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:LIBLIST) rhs: { (CommandSubPart command_list: (ForEach iter_name: name iter_words: [{(gcc_s)} {(nss)} {(resolv)}] do_arg_iter: False body: (DoGroup child: (Sentence command: (ForEach iter_name: f iter_words: [ {(/lib/) (Lit_Other "*") (/lib) (${ VSub_Name name) (Lit_Other "*") (.so) (Lit_Other "*") } {(/lib/lib) (${ VSub_Name name) (Lit_Other "*") (.so) (Lit_Other "*") } ] do_arg_iter: False body: (DoGroup child: (Sentence command: (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$f"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Sentence command: (C {(echo)} { (BracedVarSub token: <VSub_Name f> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: { (Lit_Slash / ) } ) spids: [1407 1411] ) } ) terminator: <Op_Semi ";"> ) spids: [-1 1403] ) ] spids: [-1 1414] ) terminator: <Op_Semi ";"> ) spids: [1387 1418] ) spids: [1367 1385] ) terminator: <Op_Semi ";"> ) spids: [1359 1422] ) spids: [1351 1357] ) spids: [1345 1423] ) } spids: [1344] ) ] spids: [1344] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$LIBLIST"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (ForEach iter_name: f iter_words: [{(DQ ($ VSub_Name "$LIBLIST"))}] do_arg_iter: False body: (DoGroup child: (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$f"))}) spids: [1454 1466] ) spids: [1448 1452] ) (Pipeline children: [ (SimpleCommand words: [ {(tar)} {(cf)} {(-)} {(-C)} {(/)} {($ VSub_Name "$LIBLIST")} ] redirects: [ (Redirect op_id: Redir_Great arg_word: {(/dev/null)} fd: 2 spids: [1481] ) ] ) (C {(tar)} {(xf)} {(-)}) ] negated: False ) ] ) spids: [-1 1440] ) ] spids: [-1 1492] ) (C {(umask)} {($ VSub_Name "$oldumask")}) ] ) spids: [-1 562] ) ] spids: [-1 1500] ) ] spids: [317] ) spids: [313 316] ) (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(start)}] action: (CommandList children: [ (C {(log_daemon_msg)} {(DQ ("Starting Postfix Mail Transport Agent"))} {(postfix)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:RET) rhs:{(0)} spids:[1527])] spids: [1527] ) (ForEach iter_name: INSTANCE iter_words: [ {(CommandSubPart command_list:(C {(enabled_instances)}) spids:[15411543])} ] do_arg_iter: False body: (DoGroup child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:RUNNING) rhs: { (CommandSubPart command_list: (C {(running)} {($ VSub_Name "$INSTANCE")}) spids: [1550 1554] ) } spids: [1549] ) ] spids: [1549] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$RUNNING"))} {(Lit_Other "=")} {(X)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (C {(configure_instance)} {($ VSub_Name "$INSTANCE")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:CMD) rhs: { (DQ ("/usr/sbin/postmulti -- -i ") ($ VSub_Name "$INSTANCE") (" -x ") (${ VSub_Name DAEMON) ) } spids: [1581] ) ] spids: [1581] ) (If arms: [ (if_arm cond: (Sentence command: (Pipeline children: [ (C {(start-stop-daemon)} {(--start)} {(--exec)} {($ VSub_Name "$CMD")} {(quiet-quick-start)} ) ] negated: True ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:RET) rhs: {(1)} spids: [1610] ) ] spids: [1610] ) spids: [-1 1607] ) ] spids: [-1 1614] ) ] ) spids: [-1 1573] ) ] spids: [-1 1617] ) ] ) spids: [1546 1620] ) spids: [1540 1544] ) (C {(log_end_msg)} {($ VSub_Name "$RET")}) ] ) spids: [1514 1515 1628 -1] ) (case_arm pat_list: [{(stop)}] action: (CommandList children: [ (C {(log_daemon_msg)} {(DQ ("Stopping Postfix Mail Transport Agent"))} {(postfix)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:RET) rhs:{(0)} spids:[1645])] spids: [1645] ) (ForEach iter_name: INSTANCE iter_words: [ {(CommandSubPart command_list:(C {(enabled_instances)}) spids:[16591661])} ] do_arg_iter: False body: (DoGroup child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:RUNNING) rhs: { (CommandSubPart command_list: (C {(running)} {($ VSub_Name "$INSTANCE")}) spids: [1668 1672] ) } spids: [1667] ) ] spids: [1667] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$RUNNING"))} {(KW_Bang "!") (Lit_Other "=")} {(X)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:CMD) rhs: { (DQ ("/usr/sbin/postmulti -i ") ($ VSub_Name "$INSTANCE") (" -x ") (${ VSub_Name DAEMON) ) } spids: [1695] ) ] spids: [1695] ) (If arms: [ (if_arm cond: (Sentence command: (Pipeline children: [ (C {(${ VSub_Name CMD)} {(quiet-stop)}) ] negated: True ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:RET) rhs: {(1)} spids: [1720] ) ] spids: [1720] ) spids: [-1 1717] ) ] spids: [-1 1724] ) ] ) spids: [-1 1692] ) ] spids: [-1 1727] ) ] ) spids: [1664 1730] ) spids: [1658 1662] ) (C {(log_end_msg)} {($ VSub_Name "$RET")}) ] ) spids: [1632 1633 1738 -1] ) (case_arm pat_list: [{(restart)}] action: (CommandList children: [(C {($ VSub_Number "$0")} {(stop)}) (C {($ VSub_Number "$0")} {(start)})] ) spids: [1742 1743 1756 -1] ) (case_arm pat_list: [{(force-reload)} {(reload)}] action: (CommandList children: [ (C {(log_action_begin_msg)} {(DQ ("Reloading Postfix configuration"))}) (If arms: [ (if_arm cond: (Sentence command: (C {(${ VSub_Name DAEMON)} {(quiet-reload)}) terminator: <Op_Semi ";"> ) action: (C {(log_action_end_msg)} {(0)}) spids: [-1 1782] ) ] else_action: (C {(log_action_end_msg)} {(1)}) spids: [1790 1798] ) ] ) spids: [1760 1763 1801 -1] ) (case_arm pat_list: [{(status)}] action: (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:ALL) rhs:{(1)} spids:[1809])] spids: [1809] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:ANY) rhs:{(0)} spids:[1813])] spids: [1813] ) (ForEach iter_name: INSTANCE iter_words: [ {(CommandSubPart command_list:(C {(enabled_instances)}) spids:[18271829])} ] do_arg_iter: False body: (DoGroup child: (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:RUNNING) rhs: { (CommandSubPart command_list: (C {(running)} {($ VSub_Name "$INSTANCE")}) spids: [1836 1840] ) } spids: [1835] ) ] spids: [1835] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {(DQ (X) ($ VSub_Name "$RUNNING"))} {(KW_Bang "!") (Lit_Other "=")} {(X)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LeftVar name:ANY) rhs: {(1)} spids: [1863] ) ] spids: [1863] ) spids: [-1 1860] ) ] else_action: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:ALL) rhs:{(0)} spids:[1870])] spids: [1870] ) spids: [1867 1874] ) ] ) spids: [1832 1877] ) spids: [1826 1830] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {($ VSub_Name "$ANY")} {(Lit_Other "=")} {(0)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LeftVar name:ALL) rhs:{(0)} spids:[1900])] spids: [1900] ) spids: [-1 1897] ) ] spids: [-1 1904] ) (If arms: [ (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {($ VSub_Name "$ALL")} {(Lit_Other "=")} {(1)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (C {(log_success_msg)} {(DQ ("postfix is running"))}) (C {(exit)} {(0)}) ] ) spids: [-1 1920] ) (if_arm cond: (Sentence command: (C {(Lit_Other "[")} {($ VSub_Name "$ANY")} {(Lit_Other "=")} {(1)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) action: (CommandList children: [ (C {(log_success_msg)} {(DQ ("some postfix instances are running"))}) (C {(exit)} {(0)}) ] ) spids: [1935 1948] ) ] else_action: (CommandList children: [ (C {(log_success_msg)} {(DQ ("postfix is not running"))}) (C {(exit)} {(3)}) ] ) spids: [1963 1978] ) ] ) spids: [1805 1806 1981 -1] ) (case_arm pat_list: [{(flush)} {(check)} {(abort)}] action: (C {(${ VSub_Name DAEMON)} {($ VSub_Number "$1")}) spids: [1985 1990 2000 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: (CommandList children: [ (C {(log_action_msg)} { (DQ ( "Usage: /etc/init.d/postfix {start|stop|restart|reload|flush|check|abort|force-reload|status}" ) ) } ) (C {(exit)} {(1)}) ] ) spids: [2004 2005 2020 -1] ) ] spids: [1505 1511 2022] ) (C {(exit)} {(0)}) ] )