1da978630SJohn Beck#!/sbin/sh 2da978630SJohn Beck# 3da978630SJohn Beck# CDDL HEADER START 4da978630SJohn Beck# 5da978630SJohn Beck# The contents of this file are subject to the terms of the 6da978630SJohn Beck# Common Development and Distribution License (the "License"). 7da978630SJohn Beck# You may not use this file except in compliance with the License. 8da978630SJohn Beck# 9da978630SJohn Beck# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10da978630SJohn Beck# or http://www.opensolaris.org/os/licensing. 11da978630SJohn Beck# See the License for the specific language governing permissions 12da978630SJohn Beck# and limitations under the License. 13da978630SJohn Beck# 14da978630SJohn Beck# When distributing Covered Code, include this CDDL HEADER in each 15da978630SJohn Beck# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16da978630SJohn Beck# If applicable, add the following below this CDDL HEADER, with the 17da978630SJohn Beck# fields enclosed by brackets "[]" replaced with your own identifying 18da978630SJohn Beck# information: Portions Copyright [yyyy] [name of copyright owner] 19da978630SJohn Beck# 20da978630SJohn Beck# CDDL HEADER END 21da978630SJohn Beck# 22da978630SJohn Beck# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23da978630SJohn Beck# Use is subject to license terms. 24da978630SJohn Beck 25da978630SJohn Beck. /lib/svc/share/smf_include.sh 26da978630SJohn Beck. /lib/svc/share/sendmail_include.sh 27da978630SJohn Beck 28da978630SJohn BeckCLIENT_PID_FILE="/var/spool/clientmqueue/sm-client.pid" 29da978630SJohn BeckSUBMIT_CF="/etc/mail/submit.cf" 30da978630SJohn Beck 31da978630SJohn Beckcase "$1" in 32da978630SJohn Beck'refresh') 33da978630SJohn Beck [ -f $CLIENT_PID_FILE ] && kill -1 `head -1 $CLIENT_PID_FILE` 34da978630SJohn Beck ;; 35da978630SJohn Beck 36da978630SJohn Beck'start') 37da978630SJohn Beck exist_or_exit $SENDMAIL 38da978630SJohn Beck [ -f $DEFAULT_FILE ] && . $DEFAULT_FILE 39da978630SJohn Beck # 40da978630SJohn Beck # * CLIENTQUEUEINTERVAL should be set to some legal value; 41da978630SJohn Beck # sanity checks are done below. 42da978630SJohn Beck # * CLIENTOPTIONS are catch-alls; set with care. 43da978630SJohn Beck # 44da978630SJohn Beck check_queue_interval_syntax $CLIENTQUEUEINTERVAL 45da978630SJohn Beck CLIENTQUEUEINTERVAL=$answer 46da978630SJohn Beck 47da978630SJohn Beck submit_path=`svcprop -p config/path_to_submit_mc $SMF_FMRI 2>/dev/null` 48da978630SJohn Beck if [ $? -eq 0 -a -n "$submit_path" ]; then 49*39b0b3b7SJohn Beck turn_m4_crank "$SUBMIT_CF" "$submit_path" 50da978630SJohn Beck fi 51*39b0b3b7SJohn Beck exist_or_exit "$SUBMIT_CF" 52da978630SJohn Beck 53da978630SJohn Beck $SENDMAIL -Ac -q$CLIENTQUEUEINTERVAL $CLIENTOPTIONS & 54da978630SJohn Beck ;; 55da978630SJohn Beck 56da978630SJohn Beck'stop') 57da978630SJohn Beck if [ -f $CLIENT_PID_FILE ]; then 58da978630SJohn Beck check_and_kill $CLIENT_PID_FILE 59da978630SJohn Beck rm -f $CLIENT_PID_FILE 60da978630SJohn Beck fi 61da978630SJohn Beck # Need to kill the entire service contract to kill all sendmail related 62da978630SJohn Beck # processes 63da978630SJohn Beck smf_kill_contract $2 TERM 1 30 64da978630SJohn Beck ret=$? 65da978630SJohn Beck [ $ret -eq 1 ] && exit 1 66da978630SJohn Beck 67da978630SJohn Beck # Sendmail can take its time responding to SIGTERM, as it waits for 68da978630SJohn Beck # things like child processes and SMTP connections to clean up. If 69da978630SJohn Beck # the contract did not empty after TERM, move on to KILL. 70da978630SJohn Beck if [ $ret -eq 2 ] ; then 71da978630SJohn Beck smf_kill_contract $2 KILL 1 72da978630SJohn Beck fi 73da978630SJohn Beck ;; 74da978630SJohn Beck 75da978630SJohn Beck*) 76da978630SJohn Beck echo "Usage: $0 { start | stop | refresh }" 77da978630SJohn Beck exit 1 78da978630SJohn Beck ;; 79da978630SJohn Beckesac 80da978630SJohn Beckexit 0 81