Hello community, here is the log from the commit of package yast2-dns-server for openSUSE:Factory checked in at 2013-11-28 16:54:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-dns-server (Old) and /work/SRC/openSUSE:Factory/.yast2-dns-server.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-dns-server" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-dns-server/yast2-dns-server.changes 2013-11-26 19:35:45.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-dns-server.new/yast2-dns-server.changes 2013-11-28 16:54:14.000000000 +0100 @@ -1,0 +2,6 @@ +Tue Nov 26 15:10:30 CET 2013 - locilka@suse.com + +- Added possibility to set local DNS forwarder (FATE#309036) +- 3.1.3 + +------------------------------------------------------------------- Old: ---- yast2-dns-server-3.1.2.tar.bz2 New: ---- yast2-dns-server-3.1.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-dns-server.spec ++++++ --- /var/tmp/diff_new_pack.Y25cBh/_old 2013-11-28 16:54:14.000000000 +0100 +++ /var/tmp/diff_new_pack.Y25cBh/_new 2013-11-28 16:54:14.000000000 +0100 @@ -17,13 +17,14 @@ Name: yast2-dns-server -Version: 3.1.2 +Version: 3.1.3 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: %{name}-%{version}.tar.bz2 BuildRequires: perl-XML-Writer +BuildRequires: rubygem-rspec BuildRequires: update-desktop-files BuildRequires: yast2 BuildRequires: yast2-devtools >= 3.0.6 ++++++ yast2-dns-server-3.1.2.tar.bz2 -> yast2-dns-server-3.1.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/VERSION new/yast2-dns-server-3.1.3/VERSION --- old/yast2-dns-server-3.1.2/VERSION 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/VERSION 2013-11-28 11:08:49.000000000 +0100 @@ -1 +1 @@ -3.1.2 +3.1.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/package/yast2-dns-server.changes new/yast2-dns-server-3.1.3/package/yast2-dns-server.changes --- old/yast2-dns-server-3.1.2/package/yast2-dns-server.changes 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/package/yast2-dns-server.changes 2013-11-28 11:08:49.000000000 +0100 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Tue Nov 26 15:10:30 CET 2013 - locilka@suse.com + +- Added possibility to set local DNS forwarder (FATE#309036) +- 3.1.3 + +------------------------------------------------------------------- Mon Nov 25 15:48:26 CET 2013 - locilka@suse.com - Switched to using Service library instead of calling init script diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/package/yast2-dns-server.spec new/yast2-dns-server-3.1.3/package/yast2-dns-server.spec --- old/yast2-dns-server-3.1.2/package/yast2-dns-server.spec 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/package/yast2-dns-server.spec 2013-11-28 11:08:49.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-dns-server -Version: 3.1.2 +Version: 3.1.3 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -27,6 +27,7 @@ License: GPL-2.0 BuildRequires: yast2-ldap-client perl-XML-Writer update-desktop-files yast2 yast2-testsuite yast2-perl-bindings BuildRequires: yast2-devtools >= 3.0.6 +BuildRequires: rubygem-rspec # requires DnsServerAPI::GetReverseIPforIPv6 BuildRequires: yast2 >= 2.17.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/src/include/dns-server/dialog-main.rb new/yast2-dns-server-3.1.3/src/include/dns-server/dialog-main.rb --- old/yast2-dns-server-3.1.2/src/include/dns-server/dialog-main.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/src/include/dns-server/dialog-main.rb 2013-11-28 11:08:49.000000000 +0100 @@ -743,28 +743,41 @@ dialog = VBox( # label VBox( - # `RadioButtonGroup( `id ( "who_sets_forwarder" ), - # `VBox ( - # // Radiobutton DNS-Forwarders - # `Left( `RadioButton( `id ( "ppp_forwarder" ), _("&PPP Daemon Sets Forwarders") ) ), - # // Radiobutton DNS-Forwarders - # `Left( `RadioButton( `id ( "manually_forwarder" ), _("Set Forwarders &Manually"), true ) ) - # ) - # ) HBox( ComboBox( Id("forwarder_policy"), Opt(:notify), - _("Netconfig DNS policy"), + # T: ComboBox label + _("Local DNS Resolution &Policy"), [ - Item(Id(:nomodify), "disable"), - Item(Id(:auto), "auto"), - Item(Id(:static), "static"), - Item(Id(:custom), "custom") + # T: ComboBox item + Item(Id(:nomodify), _("Merging forwarders is disabled")), + # T: ComboBox item + Item(Id(:auto), _("Automatic merging")), + # T: ComboBox item + Item(Id(:static), _("Merging forwarders is enabled")), + # T: ComboBox item + Item(Id(:custom), _("Custom configuration")) ] ), HSpacing(1), InputField(Id("custom_policy"), Opt(:hstretch), _("Custom policy")) + ), + VSpacing(1), + Left( + ComboBox( + Id("forwarder"), + # T: ComboBox label + _("Local DNS Resolution &Forwarder"), + [ + # T: ComboBox item + Item(Id(:resolver), _("Using system name servers")), + # T: ComboBox item + Item(Id(:bind), _("This name server (bind)")), + # T: ComboBox item + Item(Id(:dnsmasq), _("Local dnsmasq server")), + ] + ) ) ), VSpacing(1), @@ -900,44 +913,55 @@ end def handlePolicy(policy) - if :nomodify == policy + if policy == :nomodify UI.ChangeWidget(Id("custom_policy"), :Enabled, false) UI.ChangeWidget(Id("custom_policy"), :Value, "") UI.ChangeWidget(Id("forwarders_new_ip_address"), :Enabled, false) UI.ChangeWidget(Id("forwarders_add_ip_address"), :Enabled, false) + UI.ChangeWidget(Id("forwarder"), :Enabled, false) else - if :custom == policy - UI.ChangeWidget(Id("custom_policy"), :Enabled, true) + if policy == :custom # preinitialize with STATIC UI.ChangeWidget(Id("custom_policy"), :Value, "STATIC") + UI.ChangeWidget(Id("custom_policy"), :Enabled, true) else - if :static == policy + if policy == :static UI.ChangeWidget(Id("custom_policy"), :Value, "STATIC") - elsif :auto == policy + elsif policy == :auto UI.ChangeWidget(Id("custom_policy"), :Value, "auto") end UI.ChangeWidget(Id("custom_policy"), :Enabled, false) end + UI.ChangeWidget(Id("forwarders_new_ip_address"), :Enabled, true) UI.ChangeWidget(Id("forwarders_add_ip_address"), :Enabled, true) + UI.ChangeWidget(Id("forwarder"), :Enabled, true) end nil end + + def initialize_local_forwarder + local_forwarder = DnsServer.GetLocalForwarder + + if local_forwarder != DnsServerUIClass::PREFERRED_LOCAL_FORWARDER && DnsServer.first_run + Builtins.y2milestone( + "Current local forwarder: #{local_forwarder}, proposing new: #{DnsServerUIClass::PREFERRED_LOCAL_FORWARDER}" + ) + local_forwarder = DnsServerUIClass::PREFERRED_LOCAL_FORWARDER + end + + UI.ChangeWidget(Id("forwarder"), :Value, local_forwarder.to_sym) + end + # Initialize the tab of the dialog def InitExpertForwardersPage(key) SetDNSSErverIcon() - # if (DnsServer::GetModifyNamedConfDynamically ()) - # { - # UI::ChangeWidget (`id ("who_sets_forwarder"), `CurrentButton, "ppp_forwarder"); - # } - # else - # { - # UI::ChangeWidget (`id ("who_sets_forwarder"), `CurrentButton, "manually_forwarder"); - # } + UI.ChangeWidget(Id("custom_policy"), :Enabled, false) policy = DnsServer.GetNetconfigDNSPolicy policy_symb = :Empty + if policy == nil || policy == "" policy_symb = :nomodify elsif policy == "auto" || policy == "STATIC *" @@ -947,8 +971,10 @@ else policy_symb = :custom end + UI.ChangeWidget(Id("forwarder_policy"), :Value, policy_symb) handlePolicy(policy_symb) + initialize_local_forwarder ReadForwarders() RedrawForwardersListWidget() ValidCharsForwardersPage() @@ -959,28 +985,20 @@ # Store settings of a tab of a dialog def StoreExpertForwardersPage(key, event) event = deep_copy(event) - # if (UI::QueryWidget (`id ("who_sets_forwarder"), `CurrentButton) - # == "ppp_forwarder") - # { - # DnsServer::SetModifyNamedConfDynamically (true); - # DnsServer::SetModifyResolvConfDynamically (false); - # } - # else - # { - # DnsServer::SetModifyNamedConfDynamically (false); - # DnsServer::SetModifyResolvConfDynamically (true); - # } + policy = Convert.to_symbol(UI.QueryWidget(Id("forwarder_policy"), :Value)) - if :custom == policy - DnsServer.SetNetconfigDNSPolicy( - Convert.to_string(UI.QueryWidget(Id("custom_policy"), :Value)) - ) - elsif :auto == policy - DnsServer.SetNetconfigDNSPolicy("auto") - elsif :static == policy - DnsServer.SetNetconfigDNSPolicy("STATIC") - else - DnsServer.SetNetconfigDNSPolicy("") + new_dns_policy = case policy + when :custom then UI.QueryWidget(Id("custom_policy"), :Value) + when :auto then "auto" + when :static then "static" + when :nomodify then "" + else raise ArgumentError.new("Unknown forwarder_policy '#{policy}'") + end + DnsServer.SetNetconfigDNSPolicy(new_dns_policy) + + forwarder = (UI.QueryWidget(Id("forwarder"), :Value)).to_s + if ! DnsServer.SetLocalForwarder(forwarder) + Report.Error(_("Cannot set local forwarder to %{forwarder}") % { 'forwarder' => forwarder }) end options = DnsServer.GetGlobalOptions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/src/include/dns-server/wizards.rb new/yast2-dns-server-3.1.3/src/include/dns-server/wizards.rb --- old/yast2-dns-server-3.1.2/src/include/dns-server/wizards.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/src/include/dns-server/wizards.rb 2013-11-28 11:08:49.000000000 +0100 @@ -122,13 +122,7 @@ Wizard.CreateDialog SetDNSSErverIcon() - if {} == - SCR.Read( - path(".target.stat"), - Ops.add(Directory.vardir, "/dns_server") - ) - Ops.set(sequence, ["read", :next], "wizard") - end + sequence["read"][:next] = "wizard" if DnsServer.first_run ret = Sequencer.Run(aliases, sequence) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/src/modules/DnsData.pm new/yast2-dns-server-3.1.3/src/modules/DnsData.pm --- old/yast2-dns-server-3.1.2/src/modules/DnsData.pm 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/src/modules/DnsData.pm 2013-11-28 11:08:49.000000000 +0100 @@ -21,7 +21,8 @@ @zones @options @logging $ddns_file_name $modified $save_all @files_to_delete %current_zone $current_zone_index $adapt_firewall %firewall_settings $write_only @new_includes @deleted_includes -@zones_update_actions $firewall_support @new_includes_tsig @deleted_includes_tsig); +@zones_update_actions $firewall_support @new_includes_tsig @deleted_includes_tsig +$local_forwarder); # persistent variables @@ -71,6 +72,8 @@ my @deleted_includes_tsig = (); +my $local_forwarder = ""; + 1; # EOF diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/src/modules/DnsServer.pm new/yast2-dns-server-3.1.3/src/modules/DnsServer.pm --- old/yast2-dns-server-3.1.2/src/modules/DnsServer.pm 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/src/modules/DnsServer.pm 2013-11-28 11:08:49.000000000 +0100 @@ -44,7 +44,8 @@ @zones @options @logging $ddns_file_name $modified $save_all @files_to_delete %current_zone $current_zone_index $write_only @new_includes @deleted_includes -@zones_update_actions $firewall_support @new_includes_tsig @deleted_includes_tsig); +@zones_update_actions $firewall_support @new_includes_tsig @deleted_includes_tsig +$local_forwarder); use DnsRoutines; my $reverse_zones_connections = 'yast2-dns-server_reverse-zones'; @@ -53,6 +54,8 @@ my $forwarders_include = '/etc/named.d/forwarders.conf'; +my $data_file = Directory->vardir."/dns_server"; + # include of forwarders my $include_defined_in_conf = 0; @@ -836,20 +839,6 @@ return 0; } -#BEGIN{$TYPEINFO{GetModifyNamedConfDynamically} = ["function","boolean"];} -#sub GetModifyNamedConfDynamically { -# my $self = shift; -# -# return $modify_named_conf_dynamically; -#} - -#BEGIN{$TYPEINFO{SetModifyNamedConfDynamically} = ["function","void","boolean"];} -#sub SetModifyNamedConfDynamically { -# my $self = shift; -# $modify_named_conf_dynamically = shift; -# $self->SetModified (); -#} - BEGIN{$TYPEINFO{GetNetconfigDNSPolicy} = ["function","string"];} sub GetNetconfigDNSPolicy{ my $self = shift; @@ -860,23 +849,34 @@ BEGIN{$TYPEINFO{SetNetconfigDNSPolicy} = ["function","void","string"];} sub SetNetconfigDNSPolicy{ my $self = shift; - $netconfig_dns_policy= shift; + $netconfig_dns_policy = shift; $self->SetModified (); } -#BEGIN{$TYPEINFO{GetModifyResolvConfDynamically} = ["function","boolean"];} -#sub GetModifyResolvConfDynamically { -# my $self = shift; -# -# return $modify_resolv_conf_dynamically; -#} -# -#BEGIN{$TYPEINFO{SetModifyResolvConfDynamically} = ["function","void","boolean"];} -#sub SetModifyResolvConfDynamically { -# my $self = shift; -# $modify_resolv_conf_dynamically = shift; -# $self->SetModified (); -#} +BEGIN{$TYPEINFO{GetLocalForwarder} = ["function","string"];} +sub GetLocalForwarder { + my $self = shift; + + return "resolver" if (not defined $local_forwarder or $local_forwarder eq ""); + return $local_forwarder; +} + +BEGIN{$TYPEINFO{SetLocalForwarder} = ["function","boolean","string"];} +sub SetLocalForwarder { + my $self = shift; + my $new_local_forwarder = shift; + + if (not defined $new_local_forwarder) { + y2error("New local forwarder must be defined"); + return 0; + } elsif (not defined $local_forwarder or $local_forwarder ne $new_local_forwarder) { + $local_forwarder = $new_local_forwarder; + y2milestone("New local forwarder: ".$local_forwarder); + $self->SetModified(); + } + + return 1; +} BEGIN{$TYPEINFO{GetAcl} = ["function",["list","string"]];} sub GetAcl { @@ -1009,21 +1009,12 @@ : 0; y2milestone ("Chroot: $chroot"); -# $modify_named_conf_dynamically = SCR->Read ( -# ".sysconfig.network.config.MODIFY_NAMED_CONF_DYNAMICALLY") || "no"; -# $modify_named_conf_dynamically = $modify_named_conf_dynamically eq "yes" -# ? 1 -# : 0; -# -# $modify_resolv_conf_dynamically = SCR->Read ( -# ".sysconfig.network.config.MODIFY_RESOLV_CONF_DYNAMICALLY") || "no"; -# $modify_resolv_conf_dynamically = $modify_resolv_conf_dynamically eq "yes" -# ? 1 -# : 0; - $netconfig_dns_policy = SCR->Read(".sysconfig.network.config.NETCONFIG_DNS_POLICY") || ""; y2milestone ("NETCONFIG_DNS_POLICY: $netconfig_dns_policy"); - + + $local_forwarder = SCR->Read(".sysconfig.network.config.NETCONFIG_DNS_FORWARDER") || "resolver"; + y2milestone ("NETCONFIG_DNS_FORWARDER: $local_forwarder"); + my @zone_headers = @{SCR->Dir (".dns.named.section") || []}; @zone_headers = grep (/^zone/, @zone_headers); y2milestone ("Read zone headers @zone_headers"); @@ -1227,6 +1218,51 @@ return \@ret; } +# Writes forwarding settings and updates the system using netconfig. +# This also automatically updates /etc/named.d/forwarders.conf +sub write_local_forwarder { + my $self = shift; + + y2milestone("Current dns forwarder: ".GetLocalForwarder()); + SCR->Write (".sysconfig.network.config.NETCONFIG_DNS_FORWARDER", GetLocalForwarder()); + SCR->Write (".sysconfig.network.config", undef); + + y2milestone("Updating forwarders by netconfig"); + my $ret = SCR->Execute (".target.bash_output", "/sbin/netconfig update -m dns"); + if ($ret->{'exit'} != 0) { + Report->Error (__("Error occurred while calling netconfig.\nError: ".$ret->{'stdout'})); + } +} + +sub update_forwarding { + # Netconfig updates /etc/named.d/forwarders.conf only if 'bind' is selected + # as resolver. Manual writing of forwarders.conf is otherwise requested to be + # done by Yast. + # + # Cheating netconfig by using local 'bind' as resolver temporarily to generate + # correct /etc/named.d/forwarders.conf and then returning back to user-defined + # resolver. + # + # This behavior including requested manual changes is described in FATE#309036 + + my $self = shift; + my $current_forwarder = $self->GetLocalForwarder(); + + if ($current_forwarder ne 'bind') { + y2milestone( + "User-defined forwarder: ".$current_forwarder.", using 'bind' for a while to update forwarders.conf" + ); + $self->SetLocalForwarder('bind'); + + $self->write_local_forwarder(); + + y2milestone("Returning back to user-defined forwarder: ".$current_forwarder); + $self->SetLocalForwarder($current_forwarder); + } + + $self->write_local_forwarder(); +} + BEGIN { $TYPEINFO{Write} = ["function", "boolean"]; } sub Write { my $self = shift; @@ -1409,24 +1445,12 @@ Progress->NextStage (); - # set and write forwarding - my $forwarder = "bind"; $ret = {}; - y2milestone("Setting dns forwarder: $forwarder"); - SCR->Write (".sysconfig.network.config.NETCONFIG_DNS_FORWARDER",$forwarder); - SCR->Write (".sysconfig.network.config", undef); + my $user_defined_forwarder = GetLocalForwarder(); - # update forwarders.conf - y2milestone("Calling netconfig"); - $ret->{'exit'} = 0; - $ret = SCR->Execute (".target.bash_output", "/sbin/netconfig update -m dns"); - if ($ret->{'exit'} != 0) - { - Report->Error (__("Error occurred while calling netconfig.\nError: ".$ret->{'stdout'})); - } - - my $last_forwarder = $forwarder; + # Write forwarding settings before starting 'named' + $self->update_forwarding(); $ret = {}; # named has to be started @@ -1443,8 +1467,6 @@ y2milestone("Restarting service 'named'"); $success = Service->Restart("named") } - # 'named' is running. Set dns forwarder to 'bind'. - $forwarder = "bind"; } Service->Enable ("named"); if (! $success) @@ -1452,8 +1474,9 @@ # Cannot start service 'named', because of error that follows Error:. Do not translate named. Report->Error (__("Error occurred while starting service named.\n\n".Service->FullInfo("named"))); $ok = 0; - # There's no 'named' running. Reset dns forwarder again - $forwarder = "resolver"; + # There's no 'named' running -> prevent from blocking DNS queries + $self->SetLocalForwarder("resolver") if GetLocalForwarder() eq "bind"; + y2warning("Local forwarder set to: ".GetLocalForwarder()); } } # named has to be stopped @@ -1464,33 +1487,25 @@ y2milestone("Stopping service 'named'"); Service->Stop("named"); # There's no 'named' running. Reset dns forwarder again - $forwarder = "resolver"; + $self->SetLocalForwarder("resolver") if GetLocalForwarder() eq "bind"; + y2warning("Local forwarder set to: ".GetLocalForwarder()); } Service->Disable ("named"); } - if ($ok) + # First run finished + if ($ok and first_run()) { - # FIXME when YaST settings are needed - SCR->Write (".target.ycp", Directory->vardir() . "/dns_server", {}); + SCR->Write (".target.string", $data_file, ""); } Progress->NextStage (); - # if $forwarder has changed - if ($last_forwarder ne $forwarder) { - y2milestone ("NETCONFIG_DNS_FORWARDER has been changed from ".$last_forwarder." to ".$forwarder); - - y2milestone("Setting dns forwarder: $forwarder"); - SCR->Write (".sysconfig.network.config.NETCONFIG_DNS_FORWARDER",$forwarder); - SCR->Write (".sysconfig.network.config", undef); - - y2milestone("Calling netconfig"); - $ret->{'exit'} = 0; - $ret = SCR->Execute (".target.bash_output", "/sbin/netconfig update -m dns"); - if ($ret->{'exit'} != 0) { - Report->Error (__("Error occurred while calling netconfig.\nError: ".$ret->{'stdout'})); - } + # local forwarder has been changed because 'named' was unable to start + # or it was disabled by user + if ($user_defined_forwarder ne GetLocalForwarder()) { + y2milestone ("NETCONFIG_DNS_FORWARDER has been changed from ".$user_defined_forwarder." to ".GetLocalForwarder()); + $self->write_local_forwarder(); } Progress->NextStage (); @@ -2089,6 +2104,11 @@ return $expert_ui; } +BEGIN { $TYPEINFO{first_run} = ["function", "boolean"]; }; +sub first_run () { + return ! FileUtils->Exists($data_file); +} + 1; # EOF diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/src/modules/DnsServerUI.rb new/yast2-dns-server-3.1.3/src/modules/DnsServerUI.rb --- old/yast2-dns-server-3.1.2/src/modules/DnsServerUI.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/src/modules/DnsServerUI.rb 2013-11-28 11:08:49.000000000 +0100 @@ -13,6 +13,9 @@ module Yast class DnsServerUIClass < Module + + PREFERRED_LOCAL_FORWARDER = "bind" + def main Yast.import "UI" textdomain "dns-server" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/test/Makefile.am new/yast2-dns-server-3.1.3/test/Makefile.am --- old/yast2-dns-server-3.1.2/test/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-dns-server-3.1.3/test/Makefile.am 2013-11-28 11:08:49.000000000 +0100 @@ -0,0 +1,7 @@ +TESTS = \ + dns_server_test.rb + +TEST_EXTENSIONS = .rb +RB_LOG_COMPILER = rspec +VERBOSE = 1 +EXTRA_DIST = $(TESTS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/test/dns_server_test.rb new/yast2-dns-server-3.1.3/test/dns_server_test.rb --- old/yast2-dns-server-3.1.2/test/dns_server_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-dns-server-3.1.3/test/dns_server_test.rb 2013-11-28 11:08:49.000000000 +0100 @@ -0,0 +1,39 @@ +#! /usr/bin/env rspec + +ENV["Y2DIR"] = File.expand_path("../../src", __FILE__) + +require "yast" + +Yast.import "DnsServer" + +describe "#GetLocalForwarder" do + + it "returns default forwarder if it's not initalized" do + expect(Yast::DnsServer.GetLocalForwarder).to eq "resolver" + end + + it "returns default forwarder if it's reset to default (blank entry)" do + Yast::DnsServer.SetLocalForwarder("") + expect(Yast::DnsServer.GetLocalForwarder).to eq "resolver" + end + + it "returns given forwarder if it's previously set" do + new_forwarder = "whichever-forwarder" + Yast::DnsServer.SetLocalForwarder(new_forwarder) + expect(Yast::DnsServer.GetLocalForwarder).to eq new_forwarder + end + +end + +describe "#SetLocalForwarder" do + + it "does not set new forwarder if the forwarder is undefined" do + expect(Yast::DnsServer.SetLocalForwarder(nil)).to be_false + end + + it "sets new local forwarder if it's defined" do + expect(Yast::DnsServer.SetLocalForwarder("")).to be_true + expect(Yast::DnsServer.SetLocalForwarder("new_forwarder")).to be_true + end + +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/DnsServerAPI.out new/yast2-dns-server-3.1.3/testsuite/tests/DnsServerAPI.out --- old/yast2-dns-server-3.1.2/testsuite/tests/DnsServerAPI.out 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/DnsServerAPI.out 2013-11-28 11:08:49.000000000 +0100 @@ -11,6 +11,7 @@ Execute .target.bash_output "stat --format='rights: %a, blocks: %b, size: %s, owner: %u:%g changed: %Z, modifyied: %Y' /etc/named.conf" $["exit":1, "stderr":"", "stdout":""] Read .sysconfig.named.NAMED_RUN_CHROOTED nil Read .sysconfig.network.config.NETCONFIG_DNS_POLICY "auto" +Read .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "resolver" Dir .dns.named.section: ["options", "zone \"localhost\" in"] Dir .dns.named.value.options: ["directory", "notify"] Read .dns.named.value.options.directory ["\"/var/lib/named\""] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/DnsServerAPI.rb new/yast2-dns-server-3.1.3/testsuite/tests/DnsServerAPI.rb --- old/yast2-dns-server-3.1.2/testsuite/tests/DnsServerAPI.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/DnsServerAPI.rb 2013-11-28 11:08:49.000000000 +0100 @@ -116,7 +116,8 @@ "MODIFY_NAMED_CONF_DYNAMICALLY" => "yes", "MODIFY_RESOLV_CONF_DYNAMICALLY" => "yes", "NETCONFIG_DNS_POLICY" => "auto", - "NETCONFIG_DNS_STATIC_SERVERS" => "1.2.3.4" + "NETCONFIG_DNS_STATIC_SERVERS" => "1.2.3.4", + "NETCONFIG_DNS_FORWARDER" => "resolver", } } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/Read.out new/yast2-dns-server-3.1.3/testsuite/tests/Read.out --- old/yast2-dns-server-3.1.2/testsuite/tests/Read.out 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/Read.out 2013-11-28 11:08:49.000000000 +0100 @@ -3,6 +3,7 @@ Execute .target.bash_output "stat --format='rights: %a, blocks: %b, size: %s, owner: %u:%g changed: %Z, modifyied: %Y' /etc/named.conf" $["exit":1, "stderr":"", "stdout":""] Read .sysconfig.named.NAMED_RUN_CHROOTED 0 Read .sysconfig.network.config.NETCONFIG_DNS_POLICY "STATIC" +Read .sysconfig.network.config.NETCONFIG_DNS_FORWARDER 0 Dir .dns.named.section: ["options", "zone \"localhost\" in"] Dir .dns.named.value.options: ["directory", "notify"] Read .dns.named.value.options.directory ["\"/var/lib/named\""] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/Read.rb new/yast2-dns-server-3.1.3/testsuite/tests/Read.rb --- old/yast2-dns-server-3.1.2/testsuite/tests/Read.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/Read.rb 2013-11-28 11:08:49.000000000 +0100 @@ -75,7 +75,8 @@ "FW_ALLOW_FW_BROADCAST" => "" }, "personal-firewall" => { "REJECT_ALL_INCOMING_CONNECTIONS" => "" }, - "displaymanager" => { "DISPLAYMANAGER" => "" } + "displaymanager" => { "DISPLAYMANAGER" => "" }, + "network" => { "NETCONFIG_DNS_FORWARDER" => "resolver" }, }, "target" => { "stat" => { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/Write.out new/yast2-dns-server-3.1.3/testsuite/tests/Write.out --- old/yast2-dns-server-3.1.2/testsuite/tests/Write.out 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/Write.out 2013-11-28 11:08:49.000000000 +0100 @@ -38,7 +38,6 @@ Write .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "bind" true Write .sysconfig.network.config nil true Execute .target.bash_output "/sbin/netconfig update -m dns" $["exit":0, "stdout":"20030806"] -Write .target.ycp "/var/lib/YaST2/dns_server" $[] true Write .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "resolver" true Write .sysconfig.network.config nil true Execute .target.bash_output "/sbin/netconfig update -m dns" $["exit":0, "stdout":"20030806"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/Write.rb new/yast2-dns-server-3.1.3/testsuite/tests/Write.rb --- old/yast2-dns-server-3.1.2/testsuite/tests/Write.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/Write.rb 2013-11-28 11:08:49.000000000 +0100 @@ -70,7 +70,10 @@ "language" => { "RC_LANG" => "en_US.UTF-8", "ROOT_USES_LANG" => "ctype" - } + }, + "network" => { + "NETCONFIG_DNS_FORWARDER" => "resolver", + }, }, "target" => { "yast2" => { "lang2iso.ycp" => {} }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadGlobalOptions.out new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadGlobalOptions.out --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadGlobalOptions.out 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadGlobalOptions.out 2013-11-28 11:08:49.000000000 +0100 @@ -3,6 +3,7 @@ Execute .target.bash_output "stat --format='rights: %a, blocks: %b, size: %s, owner: %u:%g changed: %Z, modifyied: %Y' /etc/named.conf" $["exit":1, "stderr":"", "stdout":""] Read .sysconfig.named.NAMED_RUN_CHROOTED nil Read .sysconfig.network.config.NETCONFIG_DNS_POLICY "STATIC" +Read .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "resolver" Dir .dns.named.section: ["options", "zone \"localhost\" in"] Dir .dns.named.value.options: ["directory", "notify"] Read .dns.named.value.options.directory ["\"/var/lib/named\""] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadGlobalOptions.rb new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadGlobalOptions.rb --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadGlobalOptions.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadGlobalOptions.rb 2013-11-28 11:08:49.000000000 +0100 @@ -232,7 +232,8 @@ "MODIFY_NAMED_CONF_DYNAMICALLY" => "yes", "MODIFY_RESOLV_CONF_DYNAMICALLY" => "yes", "NETCONFIG_DNS_POLICY" => "STATIC", - "NETCONFIG_DNS_STATIC_SERVERS" => "1.2.3.4 5.6.7.8 9.10.11.12" + "NETCONFIG_DNS_STATIC_SERVERS" => "1.2.3.4 5.6.7.8 9.10.11.12", + "NETCONFIG_DNS_FORWARDER" => "resolver", } } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadZones.out new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadZones.out --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadZones.out 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadZones.out 2013-11-28 11:08:49.000000000 +0100 @@ -3,6 +3,7 @@ Execute .target.bash_output "stat --format='rights: %a, blocks: %b, size: %s, owner: %u:%g changed: %Z, modifyied: %Y' /etc/named.conf" $["exit":1, "stderr":"", "stdout":""] Read .sysconfig.named.NAMED_RUN_CHROOTED nil Read .sysconfig.network.config.NETCONFIG_DNS_POLICY "auto" +Read .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "resolver" Dir .dns.named.section: ["options", "zone \"localhost\" in"] Dir .dns.named.value.options: ["directory", "notify"] Read .dns.named.value.options.directory ["\"/var/lib/named\""] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadZones.rb new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadZones.rb --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIReadZones.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIReadZones.rb 2013-11-28 11:08:49.000000000 +0100 @@ -231,7 +231,8 @@ "MODIFY_NAMED_CONF_DYNAMICALLY" => "yes", "MODIFY_RESOLV_CONF_DYNAMICALLY" => "yes", "NETCONFIG_DNS_POLICY" => "auto", - "NETCONFIG_DNS_STATIC_SERVERS" => "" + "NETCONFIG_DNS_STATIC_SERVERS" => "", + "NETCONFIG_DNS_FORWARDER" => "resolver", } } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteGlobalOptions.out new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteGlobalOptions.out --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteGlobalOptions.out 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteGlobalOptions.out 2013-11-28 11:08:49.000000000 +0100 @@ -3,6 +3,7 @@ Execute .target.bash_output "stat --format='rights: %a, blocks: %b, size: %s, owner: %u:%g changed: %Z, modifyied: %Y' /etc/named.conf" $["exit":1, "stderr":"", "stdout":""] Read .sysconfig.named.NAMED_RUN_CHROOTED nil Read .sysconfig.network.config.NETCONFIG_DNS_POLICY "auto" +Read .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "resolver" Dir .dns.named.section: ["options", "zone \"localhost\" in"] Dir .dns.named.value.options: ["directory", "notify"] Read .dns.named.value.options.directory ["\"/var/lib/named\""] @@ -48,7 +49,6 @@ Write .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "bind" true Write .sysconfig.network.config nil true Execute .target.bash_output "/sbin/netconfig update -m dns" $["exit":1, "stderr":"", "stdout":""] -Write .target.ycp "/var/lib/YaST2/dns_server" $[] true Write .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "resolver" true Write .sysconfig.network.config nil true Execute .target.bash_output "/sbin/netconfig update -m dns" $["exit":1, "stderr":"", "stdout":""] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteGlobalOptions.rb new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteGlobalOptions.rb --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteGlobalOptions.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteGlobalOptions.rb 2013-11-28 11:08:49.000000000 +0100 @@ -203,7 +203,8 @@ "MODIFY_NAMED_CONF_DYNAMICALLY" => "yes", "MODIFY_RESOLV_CONF_DYNAMICALLY" => "yes", "NETCONFIG_DNS_POLICY" => "auto", - "NETCONFIG_DNS_STATIC_SERVERS" => "" + "NETCONFIG_DNS_STATIC_SERVERS" => "", + "NETCONFIG_DNS_FORWARDER" => "resolver", } }, "console" => { "CONSOLE_ENCODING" => "utf8" }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteZones.out new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteZones.out --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteZones.out 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteZones.out 2013-11-28 11:08:49.000000000 +0100 @@ -3,6 +3,7 @@ Execute .target.bash_output "stat --format='rights: %a, blocks: %b, size: %s, owner: %u:%g changed: %Z, modifyied: %Y' /etc/named.conf" $["exit":1, "stderr":"", "stdout":""] Read .sysconfig.named.NAMED_RUN_CHROOTED nil Read .sysconfig.network.config.NETCONFIG_DNS_POLICY "STATIC" +Read .sysconfig.network.config.NETCONFIG_DNS_FORWARDER nil Dir .dns.named.section: ["options", "zone \"localhost\" in"] Dir .dns.named.value.options: ["directory", "notify"] Read .dns.named.value.options.directory ["\"/var/lib/named\""] @@ -54,7 +55,6 @@ Write .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "bind" true Write .sysconfig.network.config nil true Execute .target.bash_output "/sbin/netconfig update -m dns" $["exit":1, "stderr":"", "stdout":""] -Write .target.ycp "/var/lib/YaST2/dns_server" $[] true Write .sysconfig.network.config.NETCONFIG_DNS_FORWARDER "resolver" true Write .sysconfig.network.config nil true Execute .target.bash_output "/sbin/netconfig update -m dns" $["exit":1, "stderr":"", "stdout":""] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteZones.rb new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteZones.rb --- old/yast2-dns-server-3.1.2/testsuite/tests/YaPIWriteZones.rb 2013-11-26 16:22:48.000000000 +0100 +++ new/yast2-dns-server-3.1.3/testsuite/tests/YaPIWriteZones.rb 2013-11-28 11:08:49.000000000 +0100 @@ -70,7 +70,8 @@ "language" => { "RC_LANG" => "en_US.UTF-8", "ROOT_USES_LANG" => "ctype" - } + }, + "network" => { "NETCONFIG_DNS_FORWARDER" => "resolver" }, }, "target" => { "stat" => { -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org