Merge branch 'master' of ssh://git.karchnu.fr:2200/dnsmanager
This commit is contained in:
commit
59cf727e28
32
app/app.pm
32
app/app.pm
@ -17,7 +17,7 @@ use Moose;
|
|||||||
has dbh => ( is => 'rw', builder => '_void');
|
has dbh => ( is => 'rw', builder => '_void');
|
||||||
has dnsi => ( is => 'rw', builder => '_void');
|
has dnsi => ( is => 'rw', builder => '_void');
|
||||||
has um => ( is => 'rw', builder => '_void');
|
has um => ( is => 'rw', builder => '_void');
|
||||||
has [ qw/zdir dbname dbhost dbport dbuser dbpass sgbd dnsapp/ ] => qw/is ro required 1/;
|
has [ qw/zdir dbname dbhost dbport dbuser dbpass sgbd dnsapp sshhost sshuser/ ] => qw/is ro required 1/;
|
||||||
sub _void { my $x = ''; \$x; }
|
sub _void { my $x = ''; \$x; }
|
||||||
|
|
||||||
### users
|
### users
|
||||||
@ -91,7 +91,10 @@ sub add_domain {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $ze = app::zone::edit->new(zname => $domain, zdir => $self->zdir);
|
my $ze = app::zone::edit->new(zname => $domain
|
||||||
|
, zdir => $self->zdir
|
||||||
|
, host => $self->sshhost
|
||||||
|
, user => $self->sshuser );
|
||||||
$ze->addzone();
|
$ze->addzone();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,7 +106,10 @@ sub delete_domain {
|
|||||||
return 0 unless $success;
|
return 0 unless $success;
|
||||||
return 0 unless $user->delete_domain($domain);
|
return 0 unless $user->delete_domain($domain);
|
||||||
|
|
||||||
my $ze = app::zone::edit->new(zname => $domain, zdir => $self->zdir);
|
my $ze = app::zone::edit->new(zname => $domain
|
||||||
|
, zdir => $self->zdir
|
||||||
|
, host => $self->sshhost
|
||||||
|
, user => $self->sshuser );
|
||||||
$ze->del();
|
$ze->del();
|
||||||
|
|
||||||
1;
|
1;
|
||||||
@ -111,19 +117,28 @@ sub delete_domain {
|
|||||||
|
|
||||||
sub update_domain_raw {
|
sub update_domain_raw {
|
||||||
my ($self, $login, $zone, $domain) = @_;
|
my ($self, $login, $zone, $domain) = @_;
|
||||||
my $ze = app::zone::edit->new(zname => $domain, zdir => $self->zdir);
|
my $ze = app::zone::edit->new(zname => $domain
|
||||||
|
, zdir => $self->zdir
|
||||||
|
, host => $self->sshhost
|
||||||
|
, user => $self->sshuser );
|
||||||
$ze->update_raw($zone);
|
$ze->update_raw($zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub update_domain {
|
sub update_domain {
|
||||||
my ($self, $login, $zone, $domain) = @_;
|
my ($self, $login, $zone, $domain) = @_;
|
||||||
my $ze = app::zone::edit->new(zname => $domain, zdir => $self->zdir);
|
my $ze = app::zone::edit->new(zname => $domain
|
||||||
|
, zdir => $self->zdir
|
||||||
|
, host => $self->sshhost
|
||||||
|
, user => $self->sshuser );
|
||||||
$ze->update($zone);
|
$ze->update($zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub get_domain {
|
sub get_domain {
|
||||||
my ($self, $login, $domain) = @_;
|
my ($self, $login, $domain) = @_;
|
||||||
my $ze = app::zone::edit->new(zname => $domain, zdir => $self->zdir);
|
my $ze = app::zone::edit->new(zname => $domain
|
||||||
|
, zdir => $self->zdir
|
||||||
|
, host => $self->sshhost
|
||||||
|
, user => $self->sshuser );
|
||||||
$ze->get();
|
$ze->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,7 +161,10 @@ sub get_all_users {
|
|||||||
|
|
||||||
sub new_tmp {
|
sub new_tmp {
|
||||||
my ($self, $login, $domain) = @_;
|
my ($self, $login, $domain) = @_;
|
||||||
my $ze = app::zone::edit->new(zname => $domain, zdir => $self->zdir);
|
my $ze = app::zone::edit->new(zname => $domain
|
||||||
|
, zdir => $self->zdir
|
||||||
|
, host => $self->sshhost
|
||||||
|
, user => $self->sshuser );
|
||||||
$ze->new_tmp();
|
$ze->new_tmp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,8 @@ use Modern::Perl;
|
|||||||
use Data::Dump "dump";
|
use Data::Dump "dump";
|
||||||
use DNS::ZoneParse;
|
use DNS::ZoneParse;
|
||||||
use File::Copy;
|
use File::Copy;
|
||||||
|
use Net::SCP;
|
||||||
|
use Net::SSH2;
|
||||||
use v5.14;
|
use v5.14;
|
||||||
|
|
||||||
use lib '../../';
|
use lib '../../';
|
||||||
@ -9,12 +11,15 @@ use app::zone::rndc_interface;
|
|||||||
package app::zone::edit;
|
package app::zone::edit;
|
||||||
use Moose;
|
use Moose;
|
||||||
|
|
||||||
has [ qw/zname zdir/ ] => qw/is ro required 1/;
|
has [ qw/zname zdir host user/ ] => qw/is ro required 1/;
|
||||||
|
|
||||||
sub get {
|
sub get {
|
||||||
my ($self) = @_;
|
my ($self) = @_;
|
||||||
|
my $dest = '/tmp/' . $self->zname;
|
||||||
my $file = $self->zdir.'/'.$self->zname;
|
my $file = $self->zdir.'/'.$self->zname;
|
||||||
return DNS::ZoneParse->new($file, $self->zname);
|
|
||||||
|
$self->_scp_get($file, $dest);
|
||||||
|
DNS::ZoneParse->new($dest, $self->zname);
|
||||||
}
|
}
|
||||||
|
|
||||||
=pod
|
=pod
|
||||||
@ -28,19 +33,24 @@ sub addzone {
|
|||||||
my ($self) = @_;
|
my ($self) = @_;
|
||||||
|
|
||||||
my $tpl = $self->zdir."/tpl.zone";
|
my $tpl = $self->zdir."/tpl.zone";
|
||||||
my $file = $self->zdir.'/'.$self->zname;
|
my $tmpfile = '/tmp/'.$self->zname;
|
||||||
|
|
||||||
$self->_cp($tpl, $file);
|
$self->_scp_get($tpl, $tmpfile); # get the template
|
||||||
|
$self->_sed($tmpfile); # sed CHANGEMEORIGIN by the real origin
|
||||||
|
|
||||||
my $zonefile = DNS::ZoneParse->new($file, $self->zname);
|
my $zonefile = DNS::ZoneParse->new($tmpfile, $self->zname);
|
||||||
$zonefile->new_serial(); # update the serial number
|
$zonefile->new_serial(); # update the serial number
|
||||||
|
|
||||||
# write the new zone file to disk
|
# write the new zone tmpfile to disk
|
||||||
my $newzone;
|
my $newzone;
|
||||||
open($newzone, '>', $file) or die "error";
|
open($newzone, '>', $tmpfile) or die "error";
|
||||||
print $newzone $zonefile->output();
|
print $newzone $zonefile->output();
|
||||||
close $newzone;
|
close $newzone;
|
||||||
|
|
||||||
|
my $file = $self->zdir.'/'.$self->zname;
|
||||||
|
$self->_scp_put($tmpfile, $file); # put the final zone on the server
|
||||||
|
unlink($tmpfile); # del the temporary file
|
||||||
|
|
||||||
my $rndc = app::zone::rndc_interface->new();
|
my $rndc = app::zone::rndc_interface->new();
|
||||||
$rndc->addzone($self->zdir, $self->zname);
|
$rndc->addzone($self->zdir, $self->zname);
|
||||||
|
|
||||||
@ -58,16 +68,21 @@ sub update {
|
|||||||
# update the serial number
|
# update the serial number
|
||||||
$zonefile->new_serial();
|
$zonefile->new_serial();
|
||||||
|
|
||||||
my $file = $self->zdir.'/'.$self->zname;
|
my $tmpfile = '/tmp/' . $self->zname;
|
||||||
|
|
||||||
# write the new zone file to disk
|
# write the new zone tmpfile to disk
|
||||||
my $newzone;
|
my $newzone;
|
||||||
open($newzone, '>', $file) or die "error";
|
open($newzone, '>', $tmpfile) or die "error";
|
||||||
print $newzone $zonefile->output();
|
print $newzone $zonefile->output();
|
||||||
close $newzone;
|
close $newzone;
|
||||||
|
|
||||||
|
my $file = $self->zdir.'/'.$self->zname;
|
||||||
|
$self->_scp_put($tmpfile, $file); # put the final zone on the server
|
||||||
|
unlink($tmpfile); # del the temporary file
|
||||||
|
|
||||||
my $rndc = app::zone::rndc_interface->new();
|
my $rndc = app::zone::rndc_interface->new();
|
||||||
$rndc->reload($self->zname);
|
$rndc->reload($self->zname);
|
||||||
|
1;
|
||||||
}
|
}
|
||||||
|
|
||||||
=pod
|
=pod
|
||||||
@ -96,7 +111,6 @@ sub update_raw {
|
|||||||
unlink($file);
|
unlink($file);
|
||||||
|
|
||||||
$self->update($zonefile);
|
$self->update($zonefile);
|
||||||
1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# sera utile plus tard, pour l'interface
|
# sera utile plus tard, pour l'interface
|
||||||
@ -106,7 +120,9 @@ sub new_tmp {
|
|||||||
my $tpl = $self->zdir."/tpl.zone";
|
my $tpl = $self->zdir."/tpl.zone";
|
||||||
my $file = '/tmp/'.$self->zname;
|
my $file = '/tmp/'.$self->zname;
|
||||||
|
|
||||||
$self->_cp($tpl, $file);
|
$self->_scp($tpl, $file);
|
||||||
|
$self->_sed($file);
|
||||||
|
|
||||||
my $zonefile = DNS::ZoneParse->new($file, $self->zname);
|
my $zonefile = DNS::ZoneParse->new($file, $self->zname);
|
||||||
$zonefile->new_serial(); # update the serial number
|
$zonefile->new_serial(); # update the serial number
|
||||||
|
|
||||||
@ -119,9 +135,27 @@ sub _cp {
|
|||||||
my ($self, $src, $dest) = @_;
|
my ($self, $src, $dest) = @_;
|
||||||
|
|
||||||
File::Copy::copy($src, $dest) or die "Copy failed: $! ($src -> $dest)";
|
File::Copy::copy($src, $dest) or die "Copy failed: $! ($src -> $dest)";
|
||||||
|
}
|
||||||
|
|
||||||
|
sub _scp_put {
|
||||||
|
my ($self, $src, $dest) = @_;
|
||||||
|
|
||||||
|
my $scp = Net::SCP->new( { host => $self->host, user => $self->user } );
|
||||||
|
$scp->put($src, $dest) or die $scp->{errstr};
|
||||||
|
}
|
||||||
|
|
||||||
|
sub _scp_get {
|
||||||
|
my ($self, $src, $dest) = @_;
|
||||||
|
|
||||||
|
my $scp = Net::SCP->new( { host => $self->host, user => $self->user } );
|
||||||
|
$scp->get($src, $dest) or die $scp->{errstr};
|
||||||
|
}
|
||||||
|
|
||||||
|
sub _sed {
|
||||||
|
my ($self, $file) = @_;
|
||||||
my $orig = $self->zname;
|
my $orig = $self->zname;
|
||||||
my $cmd = qq[sed -i "s/CHANGEMEORIGIN/$orig/" $dest 2>/dev/null 1>/dev/null];
|
my $cmd = qq[sed -i "s/CHANGEMEORIGIN/$orig/" $file 2>/dev/null 1>/dev/null];
|
||||||
|
|
||||||
system($cmd);
|
system($cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,6 +164,17 @@ sub del {
|
|||||||
my $rndc = app::zone::rndc_interface->new();
|
my $rndc = app::zone::rndc_interface->new();
|
||||||
$rndc->delzone($self->zdir, $self->zname);
|
$rndc->delzone($self->zdir, $self->zname);
|
||||||
$rndc->reconfig();
|
$rndc->reconfig();
|
||||||
|
|
||||||
|
my $ssh = Net::SSH2->new();
|
||||||
|
|
||||||
|
$ssh->connect($self->host);
|
||||||
|
$ssh->auth( username => $self->user);
|
||||||
|
|
||||||
|
my $chan = $ssh->channel();
|
||||||
|
my $file = $self->zdir.'/'.$self->zname;
|
||||||
|
$chan->exec( "rm $file" );
|
||||||
|
$ssh->disconnect();
|
||||||
|
1;
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -33,7 +33,6 @@ sub reconfig {
|
|||||||
sub delzone {
|
sub delzone {
|
||||||
my ($self, $zdir, $zname) = @_;
|
my ($self, $zdir, $zname) = @_;
|
||||||
system("rndc delzone $zname 2>/dev/null 1>/dev/null");
|
system("rndc delzone $zname 2>/dev/null 1>/dev/null");
|
||||||
unlink("$zdir/$zname");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -9,3 +9,5 @@ passwd = HardPass4bla
|
|||||||
# possible options for dnsserver : bind rndc
|
# possible options for dnsserver : bind rndc
|
||||||
dnsapp = rndc
|
dnsapp = rndc
|
||||||
zones_path = "/srv/named/"
|
zones_path = "/srv/named/"
|
||||||
|
sshhost = pizza
|
||||||
|
sshuser = karchnu
|
||||||
|
@ -10,30 +10,14 @@ use Data::Dump qw( dump );
|
|||||||
|
|
||||||
use lib '../';
|
use lib '../';
|
||||||
use app::app;
|
use app::app;
|
||||||
|
use initco;
|
||||||
sub initco {
|
|
||||||
|
|
||||||
my $cfg = new Config::Simple('./config.ini');
|
|
||||||
my $app = app->new( zdir => $cfg->param('zones_path'),
|
|
||||||
dbname => $cfg->param('dbname'),
|
|
||||||
dbhost => $cfg->param('host'),
|
|
||||||
dbport => $cfg->param('port'),
|
|
||||||
dbuser => $cfg->param('user'),
|
|
||||||
dbpass => $cfg->param('passwd'),
|
|
||||||
sgbd => $cfg->param('sgbd'),
|
|
||||||
dnsapp => $cfg->param('dnsapp') );
|
|
||||||
|
|
||||||
$app->init();
|
|
||||||
|
|
||||||
return $app;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( @ARGV != 0 ) {
|
if( @ARGV != 0 ) {
|
||||||
say "usage : ./get_all_domains.pl";
|
say "usage : ./get_all_domains.pl";
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $app = initco();
|
my $app = initco::initco();
|
||||||
|
|
||||||
my %domains = $app->get_all_domains();
|
my %domains = $app->get_all_domains();
|
||||||
|
|
||||||
|
@ -10,30 +10,14 @@ use Data::Dump qw( dump );
|
|||||||
|
|
||||||
use lib '../';
|
use lib '../';
|
||||||
use app::app;
|
use app::app;
|
||||||
|
use initco;
|
||||||
sub initco {
|
|
||||||
|
|
||||||
my $cfg = new Config::Simple('./config.ini');
|
|
||||||
my $app = app->new( zdir => $cfg->param('zones_path'),
|
|
||||||
dbname => $cfg->param('dbname'),
|
|
||||||
dbhost => $cfg->param('host'),
|
|
||||||
dbport => $cfg->param('port'),
|
|
||||||
dbuser => $cfg->param('user'),
|
|
||||||
dbpass => $cfg->param('passwd'),
|
|
||||||
sgbd => $cfg->param('sgbd'),
|
|
||||||
dnsapp => $cfg->param('dnsapp') );
|
|
||||||
|
|
||||||
$app->init();
|
|
||||||
|
|
||||||
return $app;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( @ARGV != 0 ) {
|
if( @ARGV != 0 ) {
|
||||||
say "usage : ./get_all_domains.pl";
|
say "usage : ./get_all_domains.pl";
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $app = initco();
|
my $app = initco::initco();
|
||||||
|
|
||||||
my %users = $app->get_all_users();
|
my %users = $app->get_all_users();
|
||||||
|
|
||||||
|
@ -10,30 +10,14 @@ use Data::Dump qw( dump );
|
|||||||
|
|
||||||
use lib '../';
|
use lib '../';
|
||||||
use app::app;
|
use app::app;
|
||||||
|
use initco;
|
||||||
sub initco {
|
|
||||||
|
|
||||||
my $cfg = new Config::Simple('./config.ini');
|
|
||||||
my $app = app->new( zdir => $cfg->param('zones_path'),
|
|
||||||
dbname => $cfg->param('dbname'),
|
|
||||||
dbhost => $cfg->param('host'),
|
|
||||||
dbport => $cfg->param('port'),
|
|
||||||
dbuser => $cfg->param('user'),
|
|
||||||
dbpass => $cfg->param('passwd'),
|
|
||||||
sgbd => $cfg->param('sgbd'),
|
|
||||||
dnsapp => $cfg->param('dnsapp') );
|
|
||||||
|
|
||||||
$app->init();
|
|
||||||
|
|
||||||
return $app;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( @ARGV < 2) {
|
if( @ARGV < 2) {
|
||||||
say "usage : ./auth.pl login mdp";
|
say "usage : ./auth.pl login mdp";
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $app = initco();
|
my $app = initco::initco();
|
||||||
my ($auth_ok, $user, $isadmin) = $app->auth($ARGV[0], $ARGV[1]);
|
my ($auth_ok, $user, $isadmin) = $app->auth($ARGV[0], $ARGV[1]);
|
||||||
|
|
||||||
if($auth_ok) {
|
if($auth_ok) {
|
||||||
|
20
t/initco.pm
20
t/initco.pm
@ -3,9 +3,7 @@ use warnings;
|
|||||||
use v5.14;
|
use v5.14;
|
||||||
use autodie;
|
use autodie;
|
||||||
use Modern::Perl;
|
use Modern::Perl;
|
||||||
use DNS::ZoneParse;
|
|
||||||
use Config::Simple;
|
use Config::Simple;
|
||||||
use Data::Dump qw( dump );
|
|
||||||
|
|
||||||
package initco;
|
package initco;
|
||||||
|
|
||||||
@ -15,14 +13,16 @@ sub initco {
|
|||||||
$cfgfile = defined $cfgfile ? $cfgfile : './config.ini';
|
$cfgfile = defined $cfgfile ? $cfgfile : './config.ini';
|
||||||
|
|
||||||
my $cfg = new Config::Simple($cfgfile);
|
my $cfg = new Config::Simple($cfgfile);
|
||||||
my $app = app->new( zdir => $cfg->param('zones_path'),
|
my $app = app->new( zdir => $cfg->param('zones_path')
|
||||||
dbname => $cfg->param('dbname'),
|
, dbname => $cfg->param('dbname')
|
||||||
dbhost => $cfg->param('host'),
|
, dbhost => $cfg->param('host')
|
||||||
dbport => $cfg->param('port'),
|
, dbport => $cfg->param('port')
|
||||||
dbuser => $cfg->param('user'),
|
, dbuser => $cfg->param('user')
|
||||||
dbpass => $cfg->param('passwd'),
|
, dbpass => $cfg->param('passwd')
|
||||||
sgbd => $cfg->param('sgbd'),
|
, sgbd => $cfg->param('sgbd')
|
||||||
dnsapp => $cfg->param('dnsapp') );
|
, sshhost => $cfg->param('sshhost')
|
||||||
|
, sshuser => $cfg->param('sshuser')
|
||||||
|
, dnsapp => $cfg->param('dnsapp') );
|
||||||
|
|
||||||
$app->init();
|
$app->init();
|
||||||
|
|
||||||
|
16
t/scp.pl
Executable file
16
t/scp.pl
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use v5.14;
|
||||||
|
use autodie;
|
||||||
|
use Modern::Perl;
|
||||||
|
use Net::SCP;
|
||||||
|
|
||||||
|
my $hostname = "pizza";
|
||||||
|
my $username = "karchnu";
|
||||||
|
|
||||||
|
my $scp = Net::SCP->new( { host => $hostname, user => $username } );
|
||||||
|
$scp->get("/etc/resolv.conf", "kikoo") or die $scp->{errstr};
|
||||||
|
$scp->put("kikoo", "lolwat") or die $scp->{errstr};
|
||||||
|
|
||||||
|
# $scp->put("filename") or die $scp->{errstr};
|
26
t/ssh.pl
Normal file
26
t/ssh.pl
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use v5.14;
|
||||||
|
use autodie;
|
||||||
|
use Modern::Perl;
|
||||||
|
use Data::Dump qw( dump );
|
||||||
|
use DNS::ZoneParse;
|
||||||
|
|
||||||
|
my $hostname = "pizza";
|
||||||
|
my $username = "karchnu";
|
||||||
|
|
||||||
|
use Net::SSH2;
|
||||||
|
|
||||||
|
my $ssh = Net::SSH2->new();
|
||||||
|
|
||||||
|
$ssh->connect($hostname);
|
||||||
|
$ssh->auth( username => $username);
|
||||||
|
|
||||||
|
my $chan = $ssh->channel();
|
||||||
|
$chan->exec('ls /');
|
||||||
|
|
||||||
|
my $buf = '';
|
||||||
|
say $buf while $chan->read($buf, 1500);
|
||||||
|
|
||||||
|
$ssh->disconnect();
|
@ -16,3 +16,6 @@ passwd = HardPass4bla
|
|||||||
# possible options for dnsserver : bind rndc
|
# possible options for dnsserver : bind rndc
|
||||||
dnsapp = rndc
|
dnsapp = rndc
|
||||||
zones_path = "/etc/bind/named/"
|
zones_path = "/etc/bind/named/"
|
||||||
|
|
||||||
|
sshhost = localhost
|
||||||
|
sshuser = karchnu
|
||||||
|
@ -23,14 +23,16 @@ our $VERSION = '0.1';
|
|||||||
sub initco {
|
sub initco {
|
||||||
|
|
||||||
my $cfg = new Config::Simple(dirname(__FILE__).'/../conf/config.ini');
|
my $cfg = new Config::Simple(dirname(__FILE__).'/../conf/config.ini');
|
||||||
my $app = app->new( zdir => $cfg->param('zones_path'),
|
my $app = app->new( zdir => $cfg->param('zones_path')
|
||||||
dbname => $cfg->param('dbname'),
|
, dbname => $cfg->param('dbname')
|
||||||
dbhost => $cfg->param('host'),
|
, dbhost => $cfg->param('host')
|
||||||
dbport => $cfg->param('port'),
|
, dbport => $cfg->param('port')
|
||||||
dbuser => $cfg->param('user'),
|
, dbuser => $cfg->param('user')
|
||||||
dbpass => $cfg->param('passwd'),
|
, dbpass => $cfg->param('passwd')
|
||||||
sgbd => $cfg->param('sgbd'),
|
, sgbd => $cfg->param('sgbd')
|
||||||
dnsapp => $cfg->param('dnsapp') );
|
, sshhost => $cfg->param('sshhost')
|
||||||
|
, sshuser => $cfg->param('sshuser')
|
||||||
|
, dnsapp => $cfg->param('dnsapp') );
|
||||||
|
|
||||||
$app->init();
|
$app->init();
|
||||||
|
|
||||||
@ -224,11 +226,10 @@ prefix '/domain' => sub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$zone->new_serial();
|
$zone->new_serial();
|
||||||
my $cfg = new Config::Simple(dirname(__FILE__).'/../conf/config.ini');
|
$app->update_domain( session('login')
|
||||||
my $ed = app::zone::edit->new(zdir=>$cfg->param('zones_path')
|
, $zone
|
||||||
, zname => param('domain'));
|
, param('domain'));
|
||||||
|
|
||||||
$ed->update($zone);
|
|
||||||
redirect '/domain/details/'.param('domain');
|
redirect '/domain/details/'.param('domain');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user