(command.CommandList children: [ (C {<.>} {<'/lib/svc/share/smf_include.sh'>}) (C {<.>} {<'/lib/svc/share/ipf_include.sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YPDIR='> name:YPDIR) op: assign_op.Equal rhs: {<'/usr/lib/netsvc/yp'>} spids: [85] ) ] redirects: [] ) (command.ShFunction name: create_client_ipf_rules body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FMRI='> name:FMRI) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [96] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<fmri_to_file>} {($ Id.VSub_DollarName FMRI)} {($ Id.VSub_DollarName IPF_SUFFIX)} ) right: <Id.Backtick_Right '`'> ) } spids: [100] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file6='> name:file6) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<fmri_to_file>} {($ Id.VSub_DollarName FMRI)} {($ Id.VSub_DollarName IPF6_SUFFIX)} ) right: <Id.Backtick_Right '`'> ) } spids: [112] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'iana_name='> name:iana_name) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<svcprop>} {<-p>} {($ Id.VSub_DollarName FW_CONTEXT_PG) <'/name'>} {($ Id.VSub_DollarName FMRI)} ) right: <Id.Backtick_Right '`'> ) } spids: [124] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'domain='> name:domain) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<domainname>}) right: <Id.Backtick_Right '`'> ) } spids: [139] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'block_policy='> name:block_policy) op: assign_op.Equal rhs: {($ Id.VSub_DollarName GLOBAL_BLOCK_POLICY)} spids: [147] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName block_policy))} {<Id.Lit_Equals '='>} {(DQ <return>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'block_policy_tcp='> name: block_policy_tcp ) op: assign_op.Equal rhs: {(DQ <return-rst>)} spids: [172] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'block_policy_udp='> name: block_policy_udp ) op: assign_op.Equal rhs: {(DQ <return-icmp-as-dest>)} spids: [178] ) ] redirects: [] ) ] spids: [152 169] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName domain))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] spids: [188 201] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/var/yp/binding/'> ($ Id.VSub_DollarName domain)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [213 227] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<echo>} {(DQ <'# '> ($ Id.VSub_DollarName FMRI))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file)} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'# '> ($ Id.VSub_DollarName FMRI))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file6)} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ypfile='> name:ypfile) op: assign_op.Equal rhs: {(DQ <'/var/yp/binding/'> ($ Id.VSub_DollarName domain) <'/ypservers'>)} spids: [259] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName ypfile)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tports='> name:tports) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {($ Id.VSub_DollarName SERVINFO)} {<-R>} {<-p>} {<-t>} {<-s>} {($ Id.VSub_DollarName iana_name)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } spids: [281] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'uports='> name:uports) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {($ Id.VSub_DollarName SERVINFO)} {<-R>} {<-p>} {<-u>} {<-s>} {($ Id.VSub_DollarName iana_name)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } spids: [302] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tports_6='> name:tports_6) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {($ Id.VSub_DollarName SERVINFO)} {<-R>} {<-p>} {<-t6>} {<-s>} {($ Id.VSub_DollarName iana_name)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } spids: [323] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'uports_6='> name:uports_6) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [ {($ Id.VSub_DollarName SERVINFO)} {<-R>} {<-p>} {<-u6>} {<-s>} {($ Id.VSub_DollarName iana_name)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } spids: [344] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'server_addrs='> name: server_addrs ) op: assign_op.Equal rhs: {(DQ )} spids: [366] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'server_addrs_6='> name: server_addrs_6 ) op: assign_op.Equal rhs: {(DQ )} spids: [371] ) ] redirects: [] ) (command.ForEach iter_names: [ypsvr] iterable: (for_iter.Words words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<grep>} {<-v>} {(SQ <'^[ ]*#'>)} {($ Id.VSub_DollarName ypfile)}) right: <Id.Backtick_Right '`'> ) } ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'servers='> name: servers ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<getent>} {<ipnodes>} {($ Id.VSub_DollarName ypsvr)}) (C {<'/usr/xpg4/bin/awk'>} {(SQ <'$1 ~ !/:/{ print $1 }'>)} ) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [412] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'servers_6='> name: servers_6 ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<getent>} {<ipnodes>} {($ Id.VSub_DollarName ypsvr)}) (C {<'/usr/xpg4/bin/awk'>} {(SQ <'$1 ~ /:/{ print $1 }'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [437] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName servers))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'server_addrs='> name: server_addrs ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName server_addrs) <' '> ($ Id.VSub_DollarName servers) ) } spids: [479] ) ] redirects: [] ) ] spids: [463 476] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName servers_6))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'server_addrs_6='> name: server_addrs_6 ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName server_addrs_6) <' '> ($ Id.VSub_DollarName servers_6) ) } spids: [507] ) ] redirects: [] ) ] spids: [491 504] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName tports))} {<-o>} {<-n>} {(DQ ($ Id.VSub_DollarName tports_6))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [tport] iterable: (for_iter.Words words: [ {($ Id.VSub_DollarName tports)} {($ Id.VSub_DollarName tports_6)} ] ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} { (DQ <'block '> ($ Id.VSub_DollarName block_policy_tcp) <' in log'> ) } {(DQ <'proto tcp from any to any'>)} {(DQ <'port = '> ($ Id.VSub_DollarName tport))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file)} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName server_addrs))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [s] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName server_addrs)}] ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} {(DQ <'pass in log quick'>)} { (DQ <'proto tcp from '> ($ Id.VSub_DollarName s) ) } { (DQ <'to any port = '> ($ Id.VSub_DollarName tport) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file)} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) ] spids: [585 598] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [522 543] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName uports))} {<-o>} {<-n>} {(DQ ($ Id.VSub_DollarName uports_6))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [uport] iterable: (for_iter.Words words: [ {($ Id.VSub_DollarName uports)} {($ Id.VSub_DollarName uports_6)} ] ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} { (DQ <'block '> ($ Id.VSub_DollarName block_policy_udp) <' in log'> ) } {(DQ <'proto udp from any to any'>)} {(DQ <'port = '> ($ Id.VSub_DollarName uport))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file)} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName server_addrs))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [s] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName server_addrs)}] ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} {(DQ <'pass in log quick'>)} { (DQ <'proto udp from '> ($ Id.VSub_DollarName s) ) } { (DQ <'to any port = '> ($ Id.VSub_DollarName uport) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file)} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) ] spids: [715 728] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [652 673] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName tports_6))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [tport] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName tports_6)}]) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} { (DQ <'block '> ($ Id.VSub_DollarName block_policy_tcp) <' in log'> ) } {(DQ <'proto tcp from any to any'>)} {(DQ <'port = '> ($ Id.VSub_DollarName tport))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file6)} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName server_addrs_6))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [s] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName server_addrs_6)}] ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} {(DQ <'pass in log quick'>)} { (DQ <'proto tcp from '> ($ Id.VSub_DollarName s) ) } { (DQ <'to any port = '> ($ Id.VSub_DollarName tport) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file6)} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) ] spids: [835 848] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [782 795] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName uports_6))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [uport] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName uports_6)}]) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} { (DQ <'block '> ($ Id.VSub_DollarName block_policy_udp) <' in log'> ) } {(DQ <'proto udp from any to any'>)} {(DQ <'port = '> ($ Id.VSub_DollarName uport))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file6)} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName server_addrs_6))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [s] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName server_addrs_6)}] ) body: (command.DoGroup children: [ (command.Simple words: [ {<echo>} {(DQ <'pass in log quick'>)} { (DQ <'proto udp from '> ($ Id.VSub_DollarName s) ) } { (DQ <'to any port = '> ($ Id.VSub_DollarName uport) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file6)} ) ] more_env: [] do_fork: T ) ] ) redirects: [] ) ] spids: [955 968] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [902 915] ) ] else_action: [] redirects: [] ) ] spids: [267 278] ) ] else_action: [ (command.Simple words: [ {<echo>} {(DQ <'pass in log quick proto udp from any to any'>)} {(DQ <'port > 32768'>)} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file)} ) ] more_env: [] do_fork: T ) (command.Simple words: [ {<echo>} {(DQ <'pass in log quick proto udp from any to any'>)} {(DQ <'port > 32768'>)} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName file6)} ) ] more_env: [] do_fork: T ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_Number 1))} {<-a>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <ipfilter>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<create_client_ipf_rules>} {($ Id.VSub_Number 2)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_OK)} ) ] spids: [1106 1131] ) ] else_action: [] redirects: [] ) (command.Case to_match: {($ Id.VSub_DollarName SMF_FMRI)} arms: [ (case_arm pat_list: [{(SQ <'svc:/network/nis/client:default'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'domain='> name:domain) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<domainname>}) right: <Id.Backtick_Right '`'> ) } spids: [1159] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName domain))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': domainname not set'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} ) ] spids: [1168 1181] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/var/yp/binding/'> ($ Id.VSub_DollarName domain)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ ($ Id.VSub_Number 0) <': /var/yp/binding/'> ($ Id.VSub_DollarName domain) <' is not a directory'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} ) ] spids: [1201 1215] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [ {<pgrep>} {<-z>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<'/sbin/zonename'>}) right: <Id.Backtick_Right '`'> ) } {<ypbind>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': ypbind is already running.'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} ) ] spids: [1241 1259] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/var/yp/binding/'> ($ Id.VSub_DollarName domain) <'/ypservers'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{($ Id.VSub_DollarName YPDIR) <'/ypbind'>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) ] spids: [1279 1292] ) ] else_action: [ (command.Simple words: [{($ Id.VSub_DollarName YPDIR) <'/ypbind'>} {<-broadcast>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [1326] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName rc)} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': ypbind failed with '> ($ Id.VSub_DollarName rc))} ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1330 1344] ) ] else_action: [] redirects: [] ) ] spids: [1153 1156 1364 -1] ) (case_arm pat_list: [{(SQ <'svc:/network/nis/server:default'>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'domain='> name:domain) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<domainname>}) right: <Id.Backtick_Right '`'> ) } spids: [1374] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName domain))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': domainname not set'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} ) ] spids: [1383 1396] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/var/yp/'> ($ Id.VSub_DollarName domain)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': domain directory missing'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} ) ] spids: [1416 1430] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/resolv.conf'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {($ Id.VSub_DollarName YPDIR) <'/ypserv'>} {<-d>})] spids: [1450 1461] ) ] else_action: [(C {($ Id.VSub_DollarName YPDIR) <'/ypserv'>})] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [1481] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName rc)} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': ypserv failed with '> ($ Id.VSub_DollarName rc))} ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1485 1499] ) ] else_action: [] redirects: [] ) ] spids: [1368 1371 1519 -1] ) (case_arm pat_list: [{(SQ <'svc:/network/nis/passwd:default'>)}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PWDIR='> name:PWDIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Simple words: [{<grep>} {(DQ <'^PWDIR'>)} {<'/var/yp/Makefile'>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } spids: [1529] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PWDIR='> name:PWDIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {(DQ ($ Id.VSub_DollarName PWDIR))} {<Id.Lit_Colon ':'>} {(SQ <'.*=[ \t]*\\([^ \t]*\\)'>)} ) right: <Id.Backtick_Right '`'> ) } spids: [1550] ) ] redirects: [] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName PWDIR))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName PWDIR))} {<Id.Lit_Equals '='>} {(DQ <'/etc'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<unset>} {<PWDIR>})] spids: [1586 1603] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PWDIR='> name:PWDIR) op: assign_op.Equal rhs: {(DQ <'-D '> ($ Id.VSub_DollarName PWDIR))} spids: [1614] ) ] redirects: [] ) ] redirects: [] ) ] spids: [1572 1583] ) ] else_action: [] redirects: [] ) (C {($ Id.VSub_DollarName YPDIR) <'/rpc.yppasswdd'>} {($ Id.VSub_DollarName PWDIR)} {<-m>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [1636] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName rc)} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ ($ Id.VSub_Number 0) <': rpc.yppasswdd failed with '> ($ Id.VSub_DollarName rc) ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [1640 1654] ) ] else_action: [] redirects: [] ) ] spids: [1523 1526 1674 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<echo>} { (DQ ($ Id.VSub_Number 0) <': Unknown service '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName SMF_FMRI) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <.> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)} ) ] spids: [1678 1679 1699 -1] ) ] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_OK)} ) ] )