# by ico, Tue, 15 Mar 2005 14:04:21 +0100
cp_backup_conffile() {
- [ "$CP_SCRIPT_DEBUG" ] && set -vx
- local file_bak
+ cp_check_and_backup "$@"
+}
+cp_check_and_backup() {
+ [ "$CP_SCRIPT_DEBUG" ] && set -vx
+ local file_bak check did
+
+ if [ "x$1" = "x-r" ]; then
+ check=1
+ shift
+ fi
if [ -z "$1" ]; then
return 1
fi
echo "cp_backup_conffile: $1: No such file" 1>&2
return 1
fi
+ if [ -z "$2" ]; then
+ file_bak="/var/backups/`basename $1`.bak"
+ else
+ file_bak="/var/backups/`basename $2`.bak"
+ fi
- file_bak="/var/backups/`basename $1`.bak"
-
- if [ ! -f $file_bak ]; then
- cp -pf "$1" $file_bak
+ if [ ! -f "$file_bak" ]; then
+ cp -pf "$1" "$file_bak"
+ did=1
else
- if ! cmp -s "$1" $file_bak; then
- /usr/bin/savelog -p -c 7 $file_bak > /dev/null 2> /dev/null
- cp -pf $1 $file_bak
+ if ! cmp -s "$1" "$file_bak"; then
+ /usr/bin/savelog -p -c 7 "$file_bak" > /dev/null 2> /dev/null
+ cp -pf "$1" "$file_bak"
+ did=1
fi
fi
+
+ if [ "$check" -a "$did" ]; then
+ return 0
+ else
+ return 3
+ fi
}
# by jelly, Tue, 15 Mar 2005 14:04:21 +0100
END { gsub(/"/, "", $2); print $2 }' \
< /etc/ldap/slapd.conf`"
+ if [ "`echo $RET | sed 's/,/ /g' | wc -w`" -gt 2 ]; then
+ RET=""
+ echo "cp_get_ldap_suffix: Invalid LDAP suffix in /etc/ldap/slapd.conf" >&2
+ return 2
+ fi
+
[ -z "$RET" ] && echo "cp_get_ldap_suffix: No LDAP suffix in /etc/ldap/slapd.conf" >&2
[ -z "$echo_return" ] || echo $RET
CP_ECHO_RETURN="$echo_return"
# by ico, Wed, 20 Apr 2005 21:09:54 +0200
cp_get_ldap_realm() {
- local echo_return suffix
+ local echo_return
echo_return="$CP_ECHO_RETURN" # since we're making our own calls
# in our own way we need to set CP_ECHO_RETURN the way we want it
# but preserving initial state so it could be used afterwards
fi
cp_get_ldap_suffix || true
- suffix="$RET"
-
- RET="`echo $suffix | awk -F, '{print $1}' | awk -F= '{print $2}'`"
+ RET="`echo $RET | awk -F, '{print $1}' | awk -F= '{print $2}'`"
[ -z "$RET" ] && echo "cp_get_ldap_realm: No LDAP REALM in /etc/ldap/slapd.conf" >&2
[ -z "$echo_return" ] || echo $RET