#!/bin/sh

# ClonePanel - Manages duplicate accounts on two or more webservers,
# including snapshot backups, monitoring and failover dns.
# Copyright (C)2006 Chris Cheers, Internet Lynx.
# Contact chris[at]clonepanel[dot]com.
# Internet Lynx, PO Box 7117, Mannering Park, NSW 2259, Australia

# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Version=0.33
# Exit codes for all applications (E_ prefix signifies error code)

# Error handling function:
function checkerror {
	if [ ${1} -ne 0 ]; then
		cecho -c $error "Error ${2}"
		exit ${2}
	fi
}


DOC_REQUEST=40
DEBUG_EXIT=41
LIST_REQUEST=42
NO_ACTION_REQUIRED=43
USER_ABORT=44
E_UNKNOWN_OPT=50
E_BLANK_INPUTS=51
E_NO_HOST=52
E_NO_THIS_HOST=53
E_EXISTING_KEYFILE=54
E_KEYGEN_FAILED=55
E_MKDIR_SSH_FAILED=56
E_MKDIR_SYNC_FAILED=57
E_SSH_SETUP_FAILED=58
E_CONNECT_FAILED=59
E_CREATE_ROLES_FAILED=60
E_SETUP_KEYS_FAILED=61
E_RSYNC_SPECIFIC_FAILED=62
E_ACCOUNT_EXISTS=63
E_RSYNC_SCRIPTS_FAILED=64
E_FAILED_OPENING_DB_LIST=65
E_NO_ACCOUNT=66
E_NO_SOURCE=67
E_FAILED_OPENING_CRONJOB_FILE=68
E_WRITE_CRONTAB_FAILED=69
E_REMOVE_CRONTEMP_FAILED=70
E_TOUCH_CRONTEMP_FAILED=71
E_UNKNOWN_PERIOD=72
E_NO_PULLFROM_HOST=73
E_NO_PULLFROM_IP=74
E_NO_PUSHTO_HOST=75
E_NO_PUSHTO_IP=76
E_OPEN_ZONES_FILE_FAILED=77
E_NO_ZONE=78
E_GET_DNS_FAILED=79
E_UNKNOWN_STATUS=80
E_NO_STATUS=81
E_TEMP_STATUSFILE_FAILED=82
E_APPEND_STATUSFILE_FAILED=83
E_NO_DNS_METHOD=84
E_NO_ROLES_FILE=85
E_PRE_PULL_FAILED=86
E_RSYNC_PULL_FAILED=87
E_POST_PULL_FAILED=88
E_PRE_PUSH_FAILED=89
E_RSYNC_PUSH_FAILED=90
E_POST_PUSH_FAILED=91
E_INCLUDE_FILE_FAILED=92
E_NO_PULLFROM_DIR=93
E_NO_PUSHTO_DIR=94
E_COPY_ROLES_FAILED=95
E_CREATE_ZONE_FAILED=96
E_WRITE_TEMP_FILE_FAILED=97
E_READ_TEMP_FILE_FAILED=98
E_DELETE_ZONE_FAILED=99
E_SET_DNS_FAILED=100
E_NO_REMOTE_SCRIPT=101
E_MONITOR_WGET_FAILED=102
E_SYNTAX_ERROR=103
E_DB_NOT_FOUND=104
E_FAILED_DELETE_DB=105
E_MKDIR_PROGRAM_FAILED=106
E_EMPTY_CONFIG_VAR=107
E_MAKE_HOST_DIR_FAILED=108
E_REMOVE_HOST_DIR_FAILED=109
E_NO_REMOTE_DIR=110
E_REMOVE_KEY_FAILED=111
E_RSYNC_MONITOR_RESULTS_FAILED=112
E_FAILED_CREATING_DIR=113
E_FAILED_OPENING_DIR=114
E_DELETE_ACOUNT_FAILED=115
E_REMOVE_HOST_STATUS_FAILED=116
E_MKDIR_DB_FAILED=117
E_FAILED_DELETE_JOB=118
E_JOB_NOT_FOUND=119
E_MOD_DNS_FAILED=120
E_UNKNOWN_ACTION=121
E_WRITE_TASK_FAILED=122
E_DELETE_TASK_FAILED=123
E_NOT_TRUSTED=124
