diff --git a/sysutils/scp-backup/Makefile b/sysutils/scp-backup/Makefile deleted file mode 100644 index 2cb6b262b..000000000 --- a/sysutils/scp-backup/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -PLUGIN_NAME= scp-backup -PLUGIN_VERSION= 0.1.0 -PLUGIN_COMMENT= Perform config backups using SCP. -PLUGIN_MAINTAINER= dharrigan@gmail.com -PLUGIN_DEVEL= yes - -.include "../../Mk/plugins.mk" diff --git a/sysutils/scp-backup/pkg-descr b/sysutils/scp-backup/pkg-descr deleted file mode 100644 index 82e29f558..000000000 --- a/sysutils/scp-backup/pkg-descr +++ /dev/null @@ -1 +0,0 @@ -A simple plugin to perform config backups using SCP. diff --git a/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/Api/GeneralController.php b/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/Api/GeneralController.php deleted file mode 100644 index 5f8b15fbe..000000000 --- a/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/Api/GeneralController.php +++ /dev/null @@ -1,112 +0,0 @@ -request->isGet()) { - $mdlGeneral = $this->getModel(); - $publicKey = fopen("/conf/sshd/ssh_host_rsa_key.pub", "r"); - if ($publicKey) { - $mdlGeneral->publickey = fread($publicKey, filesize("/conf/sshd/ssh_host_rsa_key.pub")); - fclose($publicKey); - } - $result['general'] = $mdlGeneral->getNodes(); - } - return $result; - } - - public function setAction() - { - $result = array("result"=>"failed"); - if ($this->request->isPost()) { - $mdlGeneral = $this->getModel(); - $backend = new Backend(); - $mdlCron = new Cron(); - $mdlGeneral->setNodes($this->request->getPost("general")); - $mdlGeneral->publickey = null; - $valMsgs = $mdlGeneral->performValidation(); - foreach ($valMsgs as $field => $msg) { - if (!array_key_exists("validation", $result)) { - $result["validations"] = array(); - } - $result["validations"][$msg->getField()] = $msg->getMessage(); - } - if ($valMsgs->count() == 0) { - if ($mdlGeneral->cronuuid->__toString() == "" and $mdlGeneral->enabled->__toString() == "1") { - // First Time Save - $cronUuid = $mdlCron->newDailyJob("ScpBackup", "scpbackup perform", "Backup config using SCP", "*", "1"); - if ($mdlCron->performValidation()->count() == 0) { - $mdlCron->serializeToConfig(); - // save data to config, do not validate because the current in memory model doesn't know about the cron item just created. - $mdlGeneral->cronuuid = $cronUuid; - $mdlGeneral->serializeToConfig($validateFullModel = false, $disable_validation = true); - Config::getInstance()->save(); - $backend->configdRun('template reload OPNsense/Cron'); - $result["result"] = "cron job [" . $cronUuid . "] created to backup config file daily using SCP."; - } - } elseif ($mdlGeneral->cronuuid->__toString() != "" and $mdlGeneral->enabled->__toString() == "0") { - // Removal of Cron Job and deactivation of the backup - $cronUuid = $mdlGeneral->cronuuid->__toString(); - if ($mdlCron->jobs->job->del($cronUuid)) { - $mdlCron->serializeToConfig(); - $mdlGeneral->cronuuid = null; - $mdlGeneral->serializeToConfig($validateFullModel = false, $disable_validation = true); - Config::getInstance()->save(); - $backend->configdRun('template reload OPNsense/Cron'); - $result["result"] = "cron job [" . $cronUuid . "] to backup config file deleted."; - } else { - $result["result"] = "unable to delete cron job [". $cronUuid . "]"; - } - } else { - // Update the backup configuration - $mdlGeneral->serializeToConfig(); - Config::getInstance()->save(); - $result["result"] = "SCP backup configuration updated."; - } - } - } - return $result; - } -} diff --git a/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/GeneralController.php b/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/GeneralController.php deleted file mode 100644 index a537bb530..000000000 --- a/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/GeneralController.php +++ /dev/null @@ -1,41 +0,0 @@ -view->pick('OPNsense/ScpBackup/general'); - $this->view->generalForm = $this->getForm("general"); - } -} diff --git a/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/forms/general.xml b/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/forms/general.xml deleted file mode 100644 index 7dd9591b0..000000000 --- a/sysutils/scp-backup/src/opnsense/mvc/app/controllers/OPNsense/ScpBackup/forms/general.xml +++ /dev/null @@ -1,39 +0,0 @@ -
- - general.enabled - - checkbox - This will activate the SCP backup plugin. - - - general.hostname - - text - Set the remote hostname. - - - general.port - - text - Set the remote port. - - - general.username - - text - Set the remote username. - - - general.remotedirectory - - text - Set the remote directory to backup the config file to. - - - general.publickey - - textbox - The public key of the local root user. This public key must be added to the remote user's authorized_keys - otherwise backups will fail. - true - -
diff --git a/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/ACL/ACL.xml b/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/ACL/ACL.xml deleted file mode 100644 index d31898bd9..000000000 --- a/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/ACL/ACL.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - System: Configuration: SCP Backup - - ui/ScpBackup/* - api/ScpBackup/* - - - diff --git a/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/General.php b/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/General.php deleted file mode 100644 index 997aa7a2b..000000000 --- a/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/General.php +++ /dev/null @@ -1,39 +0,0 @@ - - //OPNsense/ScpBackup - - scp-backup - a simple plugin to backup the config using SCP. - - 0.1.0 - - - 0 - Y - - - - Y - /\S*/ - Please provide a hostname (no spaces allowed) - - - 22 - Y - 1 - 65535 - Please provide a valid port number between 1 and 65535. Port 22 is the default. - - - root - Y - /^[a-z0-9_-]{3,32}$/ - Please provide a valid username ([a-z0-9_-]{3,32}). - - - ./ - Y - Please provide a remote directory. - - - N - - - N - - - diff --git a/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/Menu/Menu.xml b/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/Menu/Menu.xml deleted file mode 100644 index 2eedcc788..000000000 --- a/sysutils/scp-backup/src/opnsense/mvc/app/models/OPNsense/ScpBackup/Menu/Menu.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/sysutils/scp-backup/src/opnsense/mvc/app/views/OPNsense/ScpBackup/general.volt b/sysutils/scp-backup/src/opnsense/mvc/app/views/OPNsense/ScpBackup/general.volt deleted file mode 100644 index 4f6e3d593..000000000 --- a/sysutils/scp-backup/src/opnsense/mvc/app/views/OPNsense/ScpBackup/general.volt +++ /dev/null @@ -1,55 +0,0 @@ -{# - -Copyright (C) 2018 David Harrigan -OPNsense® is Copyright © 2015 – 2017 by Deciso B.V. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -#} - - -
- {{ partial("layout_partials/base_form", ['fields':generalForm,'id':'frm_general_settings']) }} -
-
- -
-
diff --git a/sysutils/scp-backup/src/opnsense/scripts/OPNsense/ScpBackup/ScpBackup.php b/sysutils/scp-backup/src/opnsense/scripts/OPNsense/ScpBackup/ScpBackup.php deleted file mode 100755 index 4c6623331..000000000 --- a/sysutils/scp-backup/src/opnsense/scripts/OPNsense/ScpBackup/ScpBackup.php +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/local/bin/php -object(); -$scpBackup = $config->OPNsense->ScpBackup; - -if (isset($scpBackup) && isset($scpBackup->enabled) && $scpBackup->enabled == 1) { - $hostname = escapeshellarg($scpBackup->hostname); - $username = escapeshellarg($scpBackup->username); - $port = $scpBackup->port; - $remoteDirectory = empty(trim($scpBackup->remotedirectory)) ? "./" : $scpBackup->remotedirectory; - $identifyFile = "/conf/sshd/ssh_host_rsa_key"; - $configFile = "/conf/config.xml"; - - if (!substr($remoteDirectory, -1) == "/") { - $remoteDirectory = $remoteDirectory . "/"; - } - - $remoteDirectoryFullPath = escapeshellarg($remoteDirectory . "config-" . date('Y-m-d-H-i') . ".xml"); - - $command = "scp -P $port -i $identifyFile $configFile $username@$hostname:$remoteDirectoryFullPath"; - - syslog(LOG_WARNING, "scp_backup command: $command"); - - exec(escapeshellcmd($command), $output, $returnCode); - - if ($returnCode != 0) { - syslog(LOG_ERR, "scp_backup command: return code [$returnCode]"); - } -} diff --git a/sysutils/scp-backup/src/opnsense/service/conf/actions.d/actions_scpbackup.conf b/sysutils/scp-backup/src/opnsense/service/conf/actions.d/actions_scpbackup.conf deleted file mode 100644 index 79ef68ebe..000000000 --- a/sysutils/scp-backup/src/opnsense/service/conf/actions.d/actions_scpbackup.conf +++ /dev/null @@ -1,6 +0,0 @@ -[perform] -command: /usr/local/opnsense/scripts/OPNsense/ScpBackup/ScpBackup.php;exit 0 -parameters: -type: script_output -message: cronjob running to backup config to remote location -description: Backup config using SCP