#!/bin/bash

set -u
umask 0022
export LC_ALL="C"
export PATH="/bin:/usr/bin"

load_file() {
  [[ -r "$1" ]] && exec cat "$1"
}

save_file() {
  [[ -r "$1" ]] && ln -f "$1" "$1".old
  cat >"$1.$$.tmp" && exec mv -f "$1.$$.tmp" "$1"
}

case "${SSH_ORIGINAL_COMMAND-}" in
"load .forward")
  load_file .forward
  ;;
"load .procmailrc")
  load_file .procmailrc
  ;;
"save .forward")
  save_file .forward
  ;;
"save .procmailrc")
  save_file .procmailrc
  ;;
*)
  echo "$0: ERROR: Invalid command: ${SSH_ORIGINAL_COMMAND-NULL}" 1>&2
  exit 1
  ;;
esac

exit 0

