aboutsummaryrefslogtreecommitdiffstats
path: root/packages/powerdns.xml
diff options
context:
space:
mode:
Diffstat (limited to 'packages/powerdns.xml')
-rw-r--r--packages/powerdns.xml248
1 files changed, 0 insertions, 248 deletions
diff --git a/packages/powerdns.xml b/packages/powerdns.xml
deleted file mode 100644
index 214da5f4..00000000
--- a/packages/powerdns.xml
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE packagegui SYSTEM "./schema/packages.dtd">
-<?xml-stylesheet type="text/xsl" href="./xsl/package.xsl"?>
-<packagegui>
- <copyright>
- <![CDATA[
-/* $Id$ */
-/* ========================================================================== */
-/*
- authng.xml
- part of pfSense (http://www.pfSense.com)
- Copyright (C) 2007 to whom it may belong
- All rights reserved.
-
- Based on m0n0wall (http://m0n0.ch/wall)
- Copyright (C) 2003-2006 Manuel Kasper <mk@neon1.net>.
- 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.
- */
-/* ========================================================================== */
- ]]>
- </copyright>
- <description>Describe your package here</description>
- <requirements>Describe your package requirements here</requirements>
- <faq>Currently there are no FAQ items provided.</faq>
- <name>powerdns</name>
- <version>2.9.16_4</version>
- <title>Services: PowerDNS</title>
- <preoutput>yes</preoutput>
- <donotsave>true</donotsave>
- <!-- Menu is where this packages menu will appear -->
- <menu>
- <name>PowerDNS</name>
- <tooltiptext></tooltiptext>
- <section>Services</section>
- <configfile>powerdns.xml</configfile>
- </menu>
- <!-- Do not save invokes a simple input menu and will not update
- the configuration database. -->
- <fields>
- <field>
- <fielddescr>pgsql Password</fielddescr>
- <fieldname>password</fieldname>
- <description>Enter the pgsql users password.</description>
- <type>password</type>
- </field>
- <field>
- <fielddescr>pgsql Password AGAIN</fielddescr>
- <fieldname>passwordagain</fieldname>
- <type>password</type>
- </field>
- <field>
- <fielddescr>IP Address</fielddescr>
- <fieldname>ipaddress</fieldname>
- <description>(0.0.0.0 to bind to all)</description>
- <type>input</type>
- <value>0.0.0.0</value>
- </field>
- <field>
- <fielddescr>Cache Time to Live</fielddescr>
- <fieldname>cachettl</fieldname>
- <description>Recommended value: 20</description>
- <type>input</type>
- <value>20</value>
- </field>
- <field>
- <fielddescr>Master</fielddescr>
- <fieldname>master</fieldname>
- <type>select</type>
- <options>
- <option><name>Yes</name><value>yes</value></option>
- <option><name>No</name><value>no</value></option>
- </options>
- </field>
- <field>
- <fielddescr>Slave</fielddescr>
- <fieldname>slave</fieldname>
- <type>select</type>
- <options>
- <option><name>No</name><value>no</value></option>
- <option><name>Yes</name><value>yes</value></option>
- </options>
- </field>
- </fields>
- <custom_add_php_command>
- if($password == $passwordagain) {
- conf_mount_rw();
- config_lock();
- $fd = popen("/usr/sbin/pw usermod -n pgsql -H 0", "w");
- $salt = md5(time());
- $crypted_pw = crypt($_POST['password'],$salt);
- fwrite($fd, $crypted_pw);
- pclose($fd);
- $fout = fopen("/usr/local/etc/pdns.conf","w");
- fwrite($fout, "launch=gpgsql\n");
- fwrite($fout, "gpgsql-host=127.0.0.1\n");
- fwrite($fout, "gpgsql-dbname=powerdns\n");
- fwrite($fout, "gpgsql-user=pgsql\n");
- fwrite($fout, "gpgsql-password=" . $_POST['password'] . "\n");
- fwrite($fout, "chroot=/var/empty\n");
- fwrite($fout, "disable-tcp=no\n");
- fwrite($fout, "guardian=yes\n");
- fwrite($fout, "webserver=yes\n");
- fwrite($fout, "webserver-address=127.0.0.1\n");
- fwrite($fout, "webserver-port=8081\n");
- fwrite($fout, "local-address=" . $_POST['ipaddress'] . "\n");
- fwrite($fout, "master=" . $_POST['master'] . "\n");
- fwrite($fout, "slave=" . $_POST['slave'] . "\n");
- fwrite($fout, "cache-ttl=" . $_POST['cachettl'] . "\n");
- /* XXX: TODO */
- fwrite($fout, "# allow-axfr-ips=\n");
- fwrite($fout, "# allow-recursion=\n");
- fwrite($fout, "# config-dir=/etc\n");
- fwrite($fout, "# config-name=\n");
- fwrite($fout, "# control-console=no\n");
- fwrite($fout, "# default-soa-name=ns.example.com\n");
- fwrite($fout, "# disable-axfr=no\n");
- fwrite($fout, "# distributor-threads=3\n");
- fwrite($fout, "# fancy-records=no\n");
- fwrite($fout, "# launch=\n");
- fwrite($fout, "# lazy-recursion=yes\n");
- fwrite($fout, "# load-modules=\n");
- fwrite($fout, "# local-ipv6=\n");
- fwrite($fout, "# local-port=53\n");
- fwrite($fout, "# log-dns-details=\n");
- fwrite($fout, "# log-failed-updates=\n");
- fwrite($fout, "# logfile=pdns.log\n");
- fwrite($fout, "# logging-facility=\n");
- fwrite($fout, "# loglevel=4\n");
- fwrite($fout, "# max-queue-length=5000\n");
- fwrite($fout, "# max-tcp-connections=10\n");
- fwrite($fout, "# module-dir=/usr/local/bin/../lib\n");
- fwrite($fout, "# negquery-cache-ttl=60\n");
- fwrite($fout, "# only-soa=org\n");
- fwrite($fout, "# out-of-zone-additional-processing=no\n");
- fwrite($fout, "# query-cache-ttl=20\n");
- fwrite($fout, "# query-logging=no\n");
- fwrite($fout, "# queue-limit=1500\n");
- fwrite($fout, "# receiver-threads=1\n");
- fwrite($fout, "# recursive-cache-ttl=10\n");
- fwrite($fout, "# recursor=no\n");
- fwrite($fout, "# setgid=\n");
- fwrite($fout, "# setuid=\n");
- fwrite($fout, "# skip-cname=no\n");
- fwrite($fout, "# slave=no\n");
- fwrite($fout, "# slave-cycle-interval=60\n");
- fwrite($fout, "# soa-minimum-ttl=3600\n");
- fwrite($fout, "# soa-serial-offset=0\n");
- fwrite($fout, "# socket-dir=/var/run\n");
- fwrite($fout, "# strict-rfc-axfrs=no\n");
- fwrite($fout, "# urlredirector=127.0.0.1\n");
- fwrite($fout, "# use-logfile=no\n");
- fwrite($fout, "# webserver-password=\n");
- fwrite($fout, "# webserver-print-arguments=no\n");
- fwrite($fout, "# wildcard-url=no\n");
- fwrite($fout, "# wildcards=\n");
- fclose($fout);
- conf_mount_ro();
- config_unlock();
- system("/usr/local/bin/pg_ctl -m smart 2>/dev/null");
- system("/usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start 2>/dev/null");
- } else {
- echo "Passwords do not much!";
- exit;
- }
- </custom_add_php_command>
- <custom_php_install_command>
- echo "&lt;pre&gt;";
- echo "Creating DB...";
- system("/usr/bin/su -l pgsql -c initdb");
- system("/usr/local/etc/rc.d/010.pgsql.sh start");
- system("/usr/bin/su -l pgsql -c \"dropdb powerdns\" ");
- system("/usr/bin/su -l pgsql -c \"createdb powerdns\" ");
- $fout = fopen("/usr/local/pkg/powerdns.schema","w");
- /* DATABASE SCHEMA */
- fwrite($fout, "create table domains (\n");
- fwrite($fout, "id SERIAL PRIMARY KEY,\n");
- fwrite($fout, "name VARCHAR(255) NOT NULL,\n");
- fwrite($fout, "master VARCHAR(20) DEFAULT NULL,\n");
- fwrite($fout, "last_check INT DEFAULT NULL,\n");
- fwrite($fout, "type VARCHAR(6) NOT NULL,\n");
- fwrite($fout, "notified_serial INT DEFAULT NULL,\n");
- fwrite($fout, "account VARCHAR(40) DEFAULT NULL\n");
- fwrite($fout, ");\n");
- fwrite($fout, "CREATE UNIQUE INDEX name_index ON domains(name);\n");
- fwrite($fout, "CREATE TABLE records (\n");
- fwrite($fout, " id SERIAL PRIMARY KEY,\n");
- fwrite($fout, " domain_id INT DEFAULT NULL,\n");
- fwrite($fout, " name VARCHAR(255) DEFAULT NULL,\n");
- fwrite($fout, " type VARCHAR(6) DEFAULT NULL,\n");
- fwrite($fout, " content VARCHAR(255) DEFAULT NULL,\n");
- fwrite($fout, " ttl INT DEFAULT NULL,\n");
- fwrite($fout, " prio INT DEFAULT NULL,\n");
- fwrite($fout, " change_date INT DEFAULT NULL,\n");
- fwrite($fout, " CONSTRAINT domain_exists\n");
- fwrite($fout, " FOREIGN KEY(domain_id) REFERENCES domains(id)\n");
- fwrite($fout, " ON DELETE CASCADE\n");
- fwrite($fout, ");\n");
- fwrite($fout, "CREATE INDEX rec_name_index ON records(name);\n");
- fwrite($fout, "CREATE INDEX nametype_index ON records(name,type);\n");
- fwrite($fout, "CREATE INDEX domain_id ON records(domain_id);\n");
- fwrite($fout, "create table supermasters (\n");
- fwrite($fout, " ip VARCHAR(25) NOT NULL,\n");
- fwrite($fout, " nameserver VARCHAR(255) NOT NULL,\n");
- fwrite($fout, " account VARCHAR(40) DEFAULT NULL\n");
- fwrite($fout, ");\n");
- fwrite($fout, "GRANT SELECT ON supermasters TO pgsql;\n");
- fwrite($fout, "GRANT ALL ON domains TO pgsql;\n");
- fwrite($fout, "GRANT ALL ON domains_id_seq TO pgsql;\n");
- fwrite($fout, "GRANT ALL ON records TO pgsql;\n");
- fwrite($fout, "GRANT ALL ON records_id_seq TO pgsql;\n");
- fclose($fout);
- system("cat /usr/local/pkg/powerdns.schema | /usr/bin/su -l pgsql -c \"psql powerdns\" ");
- echo "Installation completed!";
- </custom_php_install_command>
- <custom_php_deinstall_command>
- system("/usr/local/bin/pg_ctl -m immediate");
- rmdir_recursive("/usr/local/pgsql");
- system("/usr/sbin/pw userdel pgsql");
- system("/usr/bin/killall -9 postgres");
- echo "&lt;p&gt;";
- echo "Reboot required... One moment...";
- echo "&lt;p&gt;";
- /* system("/sbin/shutdown -r now"); */
- </custom_php_deinstall_command>
-</packagegui>