[yast-commit] r56168 - in /trunk/dns-server: VERSION package/yast2-dns-server.changes src/DnsServer.pm
Author: locilka Date: Tue Mar 17 12:45:40 2009 New Revision: 56168 URL: http://svn.opensuse.org/viewcvs/yast?rev=56168&view=rev Log: - Fixed handling forwarders in netconfig, forwarders.conf have to be included if some forwarders are defined (bnc #484736). - 2.18.2 Modified: trunk/dns-server/VERSION trunk/dns-server/package/yast2-dns-server.changes trunk/dns-server/src/DnsServer.pm Modified: trunk/dns-server/VERSION URL: http://svn.opensuse.org/viewcvs/yast/trunk/dns-server/VERSION?rev=56168&r1=56167&r2=56168&view=diff ============================================================================== --- trunk/dns-server/VERSION (original) +++ trunk/dns-server/VERSION Tue Mar 17 12:45:40 2009 @@ -1 +1 @@ -2.18.1 +2.18.2 Modified: trunk/dns-server/package/yast2-dns-server.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/dns-server/package/yast2-dns-server.changes?rev=56168&r1=56167&r2=56168&view=diff ============================================================================== --- trunk/dns-server/package/yast2-dns-server.changes (original) +++ trunk/dns-server/package/yast2-dns-server.changes Tue Mar 17 12:45:40 2009 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Tue Mar 17 12:37:46 CET 2009 - locilka@suse.cz + +- Fixed handling forwarders in netconfig, forwarders.conf have to + be included if some forwarders are defined (bnc #484736). +- 2.18.2 + +------------------------------------------------------------------- Fri Jan 23 18:37:17 CET 2009 - locilka@suse.cz - Fixed displaying an error pop-up if 'Set Use LDAP' fails Modified: trunk/dns-server/src/DnsServer.pm URL: http://svn.opensuse.org/viewcvs/yast/trunk/dns-server/src/DnsServer.pm?rev=56168&r1=56167&r2=56168&view=diff ============================================================================== --- trunk/dns-server/src/DnsServer.pm (original) +++ trunk/dns-server/src/DnsServer.pm Tue Mar 17 12:45:40 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 = (); -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
locilka@svn.opensuse.org