mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-02 00:54:54 +02:00
Complete Refactor for target/bin
(#1654)
* documentation and script updates trying to fix #1647 * preparations for refactoring target/bin/ * complete refactor for target/bin/ * changing script output slightly * outsourcing functions in `bin-helper.sh` * re-wrote linting to allow for proper shellcheck -x execution * show explanation for shellcheck ignore * adding some more information
This commit is contained in:
parent
0ada57d87c
commit
da8171388f
37 changed files with 579 additions and 504 deletions
|
@ -1,35 +1,29 @@
|
|||
#! /bin/bash
|
||||
|
||||
# shellcheck source=../bin-helper.sh
|
||||
. /usr/local/bin/bin-helper.sh
|
||||
|
||||
DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-sasl-password.cf}
|
||||
|
||||
DOMAIN="$1"
|
||||
USER="$2"
|
||||
PASSWD="$3"
|
||||
DOMAIN="${1}"
|
||||
USER="${2}"
|
||||
PASSWD="${3}"
|
||||
|
||||
usage() {
|
||||
echo "Usage: addsaslpassword <domain> <username> <password>"
|
||||
}
|
||||
function usage { echo "Usage: addsaslpassword <domain> <username> <password>" ; }
|
||||
|
||||
errex() {
|
||||
echo "$@" 1>&2
|
||||
exit 1
|
||||
}
|
||||
[[ -z ${DOMAIN} ]] && { usage ; errex "no domain specified" ; }
|
||||
[[ -z ${USER} ]] && { usage ; errex "no username specified" ; }
|
||||
|
||||
escape() {
|
||||
echo "${1//./\\.}"
|
||||
}
|
||||
|
||||
[ -z "$DOMAIN" ] && { usage; errex "no domain specified"; }
|
||||
[ -z "$USER" ] && { usage; errex "no username specified"; }
|
||||
|
||||
if [ -z "$PASSWD" ]; then
|
||||
read -s -p "Enter Password: " PASSWD
|
||||
echo
|
||||
[ -z "$PASSWD" ] && errex "Password must not be empty"
|
||||
if [[ -z ${PASSWD} ]]
|
||||
then
|
||||
read -r -s -p "Enter Password: " PASSWD
|
||||
echo
|
||||
[[ -z ${PASSWD} ]] && errex "Password must not be empty"
|
||||
fi
|
||||
|
||||
if grep -qi "^@$DOMAIN" $DATABASE 2>/dev/null; then
|
||||
sed -i "s ^@"$DOMAIN".* "@$DOMAIN"\t\t"$USER":"$PASSWD" " $DATABASE
|
||||
if grep -qi "^@${DOMAIN}" "${DATABASE}" 2>/dev/null
|
||||
then
|
||||
sed -i "s ^@""${DOMAIN}"".* ""@""${DOMAIN}""\t\t""${USER}"":""${PASSWD}"" " "${DATABASE}"
|
||||
else
|
||||
echo -e "@$DOMAIN\t\t$USER:$PASSWD" >> $DATABASE
|
||||
echo -e "@${DOMAIN}\t\t${USER}:${PASSWD}" >> "${DATABASE}"
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue