Author: locilka Date: Fri Mar 20 10:14:51 2009 New Revision: 56243 URL: http://svn.opensuse.org/viewcvs/yast?rev=56243&view=rev Log: - Including forwarders.conf in 'options' section if some forwarders are defined, removing the inclusion otherwise. - 2.17.11 Modified: branches/SuSE-Code-11-Branch/dns-server/VERSION branches/SuSE-Code-11-Branch/dns-server/package/yast2-dns-server.changes branches/SuSE-Code-11-Branch/dns-server/src/DnsServer.pm branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/Write.out branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteGlobalOptions.out branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteZones.out Modified: branches/SuSE-Code-11-Branch/dns-server/VERSION URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-Branch/dns-server/VERSION?rev=56243&r1=56242&r2=56243&view=diff ============================================================================== --- branches/SuSE-Code-11-Branch/dns-server/VERSION (original) +++ branches/SuSE-Code-11-Branch/dns-server/VERSION Fri Mar 20 10:14:51 2009 @@ -1 +1 @@ -2.17.10 +2.17.11 Modified: branches/SuSE-Code-11-Branch/dns-server/package/yast2-dns-server.changes URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-Branch/dns-server/package/yast2-dns-server.changes?rev=56243&r1=56242&r2=56243&view=diff ============================================================================== --- branches/SuSE-Code-11-Branch/dns-server/package/yast2-dns-server.changes (original) +++ branches/SuSE-Code-11-Branch/dns-server/package/yast2-dns-server.changes Fri Mar 20 10:14:51 2009 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Fri Mar 20 10:14:16 CET 2009 - locilka@suse.cz + +- Including forwarders.conf in 'options' section if some forwarders + are defined, removing the inclusion otherwise. +- 2.17.11 + +------------------------------------------------------------------- Fri Jan 23 18:37:17 CET 2009 - locilka@suse.cz - Fixed displaying an error pop-up if 'Set Use LDAP' fails Modified: branches/SuSE-Code-11-Branch/dns-server/src/DnsServer.pm URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-Branch/dns-server/src/DnsServer.pm?rev=56243&r1=56242&r2=56243&view=diff ============================================================================== --- branches/SuSE-Code-11-Branch/dns-server/src/DnsServer.pm (original) +++ branches/SuSE-Code-11-Branch/dns-server/src/DnsServer.pm Fri Mar 20 10:14:51 2009 @@ -408,21 +408,46 @@ ! $self->contains (\@current_options, $_); } @old_options; -# # if any forwarders are defined -# if (scalar (grep { $_->{"key"} eq "forwarders"} @options ) != 0) { -# bug 134692, allways write the forwarders file because of the feature -# "modify forwarders by ppp" - - # remove them from options because they will be written into single file - push @del_options, "forwarders"; - # if forwarders are not included -# my $forwarders_include_record = "\"".$forwarders_include."\""; -# if (scalar (grep { $_->{"key"} eq "include" && $_->{"value"} eq $forwarders_include_record } @options ) == 0) { - # include them -# y2milestone("Moving forwarders into single file ".$forwarders_include); -# push @options, { "key" => "include", "value" => $forwarders_include_record }; -# } -# } + ### Handling 'forwarders' --> + my $forwarders_include_record = "\"".$forwarders_include."\""; + + # Some 'forwarders' values are defined + my $forwarders_defined = (scalar (grep { $_->{"key"} eq "forwarders"} @options ) != 0); + # Forwarders external file is already included + my $forwarders_included = (scalar (grep { $_->{"key"} eq "include" && $_->{"value"} eq $forwarders_include_record } @options) != 0); + + # Remove them from options because they will be written into + # an included file generated by netconfig + push @del_options, "forwarders"; + + # BNC #484736: Some forwarders are defined, forwarders file has to be included + if ($forwarders_defined && !$forwarders_included) { + y2milestone("Including forwarders file ".$forwarders_include); + push @options, { "key" => "include", "value" => $forwarders_include_record }; + # No forwarders defined, remove them from include + } elsif (!$forwarders_defined) { + my $remove_includes = 1; + + my @tmp_options = (); + # Removing the file inclusion + foreach my $option (@options) { + if ($option->{"key"} eq "include" && $option->{"value"} eq $forwarders_include_record) { + y2milestone ("Removing include ".$forwarders_include_record); + } else { + # There are other includes, do not remove them completely + $remove_includes = 0 if ($option->{"key"} eq "include"); + push @tmp_options, $option; + } + } + @options = @tmp_options; + + # Removes the include only if it was alone, otherwise the other ones are left + if ($remove_includes) { + y2milestone ("All includes will be removed from options {...}"); + push @del_options, "include"; + } + } + ### <-- Handling 'forwarders' foreach my $o (@del_options) { @@ -444,27 +469,28 @@ my $forwarders_found = 0; foreach my $key (sort (keys (%opt_map))) { - if ($key ne "forwarders") { - my @values = @{$opt_map{$key} || []}; - SCR->Write (".dns.named.value.options.\"\Q$key\E\"", \@values); - } else { + # According to FATE #303386 and BNC #484736, forwarders are no longer + # written by YaST directly but generated by 'netconfig' from sysconfig entries + if ($key eq "forwarders") { # handling an exception if (defined @{$opt_map{$key}}[0] && @{$opt_map{$key}}[0] ne "") { $forwarders_found = 1; - # writing forwarders into single file - #SCR->Write (".dns.named-forwarders", [$forwarders_include, @{$opt_map{$key}}[0]]); my $fwd_list = @{$opt_map{$key}}[0]; $fwd_list =~ s/[\{,\}, ]//g; $fwd_list = join(" ", split (/;/, $fwd_list)); SCR->Write(".sysconfig.network.config.NETCONFIG_DNS_STATIC_SERVERS", $fwd_list); y2milestone( "Wrote NETCONFIG_DNS_STATIC_SERVERS: ".$fwd_list); } + } else { + my @values = @{$opt_map{$key} || []}; + SCR->Write (".dns.named.value.options.\"\Q$key\E\"", \@values); } } # forwarders not defined, but they must be at least empty -# if (!$forwarders_found) { -# SCR->Write (".dns.named-forwarders", [$forwarders_include, "{}"]); -# } + if (!$forwarders_found) { + SCR->Write(".sysconfig.network.config.NETCONFIG_DNS_STATIC_SERVERS", ""); + y2milestone ("Wrote -empty- NETCONFIG_DNS_STATIC_SERVERS"); + } # delete all removed logging options my @old_logging = (); Modified: branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/Write.out URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/Write.out?rev=56243&r1=56242&r2=56243&view=diff ============================================================================== --- branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/Write.out (original) +++ branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/Write.out Fri Mar 20 10:14:51 2009 @@ -10,8 +10,10 @@ Dir .dns.named.value.options: ["directory", "notify", "xxx"] Write .dns.named.value.options."xxx" nil true Write .dns.named.value.options."forwarders" nil true +Write .dns.named.value.options."include" nil true Write .dns.named.value.options."directory" ["\"/var/lib/named\""] true Write .dns.named.value.options."notify" ["no"] true +Write .sysconfig.network.config.NETCONFIG_DNS_STATIC_SERVERS "" true Dir .dns.named.section: ["options", "zone \"localhost\" in"] Write .dns.named nil true Dir .dns.named.value: ["options", "zone \"localhost\" in"] Modified: branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteGlobalOptions.out URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteGlobalOptions.out?rev=56243&r1=56242&r2=56243&view=diff ============================================================================== --- branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteGlobalOptions.out (original) +++ branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteGlobalOptions.out Fri Mar 20 10:14:51 2009 @@ -28,8 +28,10 @@ Write .dns.named.value.options."directory" nil true Write .dns.named.value.options."notify" nil true Write .dns.named.value.options."forwarders" nil true +Write .dns.named.value.options."include" nil true Write .dns.named.value.options."dump-file" ["\"/var/log/named_dump.db\""] true Write .dns.named.value.options."statistics-file" ["\"/var/log/named.stats\""] true +Write .sysconfig.network.config.NETCONFIG_DNS_STATIC_SERVERS "" true Dir .dns.named.section: ["options", "zone \"localhost\" in"] Write .dns.named nil true Dir .dns.named.value: ["acl", "options", "zone \"localhost\" in"] Modified: branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteZones.out URL: http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteZones.out?rev=56243&r1=56242&r2=56243&view=diff ============================================================================== --- branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteZones.out (original) +++ branches/SuSE-Code-11-Branch/dns-server/testsuite/tests/YaPIWriteZones.out Fri Mar 20 10:14:51 2009 @@ -28,6 +28,7 @@ Write .dns.named.value.options."forwarders" nil true Write .dns.named.value.options."directory" ["\"/var/lib/named\""] true Write .sysconfig.network.config.NETCONFIG_DNS_STATIC_SERVERS "5.5.5.5 6.6.6.6 7.7.7.7" true +Write .dns.named.value.options."include" ["\"/etc/named.d/forwarders.conf\""] true Write .dns.named.value.options."notify" ["no"] true Dir .dns.named.section: ["options", "zone \"localhost\" in"] Write .dns.named nil true -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org