dns/ddclient - add service control, xmlrpc registration and syslog target

This commit is contained in:
Ad Schellevis
2022-04-04 09:58:38 +02:00
parent 4664a4c72f
commit 86a5d03de1
@@ -0,0 +1,68 @@
<?php
/*
* Copyright (C) 2022 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.
*/
function ddclient_services()
{
$services = [];
$mdl = new \OPNsense\DynDNS\DynDNS();
if ($mdl->general->enabled == '1') {
$services[] = [
'description' => gettext('ddclient'),
'configd' => [
'restart' => array('ddclient restart'),
'start' => array('ddclient start'),
'stop' => array('ddclient stop'),
],
'name' => 'ddclient',
'pidfile' => '/var/run/ddclient.pid',
];
}
return $services;
}
function ddclient_xmlrpc_sync()
{
$result = array();
$result[] = array(
'description' => gettext('ddclient'),
'section' => 'OPNsense.DynDNS',
'id' => 'ddclient',
'services' => ['ddclient'],
);
return $result;
}
function ddclient_syslog()
{
$logfacilities = array();
$logfacilities['ddclient'] = array(
'facility' => ['ddclient']
);
return $logfacilities;
}