Hello community, here is the log from the commit of package yast2-dns-server for openSUSE:Factory checked in at 2014-03-26 16:42:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2014-02-21 13:48:06.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-dns-server.new/yast2-dns-server.changes 2014-03-26 16:42:26.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Mar 12 16:26:57 CET 2014 - loci...@suse.com + +- Fixed splitting/joining longer TXT and SPF records (bnc#867596) +- 3.1.5 + +------------------------------------------------------------------- Old: ---- yast2-dns-server-3.1.4.tar.bz2 New: ---- yast2-dns-server-3.1.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-dns-server.spec ++++++ --- /var/tmp/diff_new_pack.dlM4Mu/_old 2014-03-26 16:42:28.000000000 +0100 +++ /var/tmp/diff_new_pack.dlM4Mu/_new 2014-03-26 16:42:28.000000000 +0100 @@ -17,8 +17,9 @@ Name: yast2-dns-server -Version: 3.1.4 +Version: 3.1.5 Release: 0 +Url: https://github.com/yast/yast-dns-server BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: %{name}-%{version}.tar.bz2 ++++++ yast2-dns-server-3.1.4.tar.bz2 -> yast2-dns-server-3.1.5.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.4/package/yast2-dns-server.changes new/yast2-dns-server-3.1.5/package/yast2-dns-server.changes --- old/yast2-dns-server-3.1.4/package/yast2-dns-server.changes 2014-02-19 13:36:10.000000000 +0100 +++ new/yast2-dns-server-3.1.5/package/yast2-dns-server.changes 2014-03-26 11:12:04.000000000 +0100 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Wed Mar 12 16:26:57 CET 2014 - loci...@suse.com + +- Fixed splitting/joining longer TXT and SPF records (bnc#867596) +- 3.1.5 + +------------------------------------------------------------------- Wed Feb 5 16:33:04 UTC 2014 - jreidin...@suse.com - Use new yast2-ldap instead of yast2-ldap-client diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.4/package/yast2-dns-server.spec new/yast2-dns-server-3.1.5/package/yast2-dns-server.spec --- old/yast2-dns-server-3.1.4/package/yast2-dns-server.spec 2014-02-19 13:36:10.000000000 +0100 +++ new/yast2-dns-server-3.1.5/package/yast2-dns-server.spec 2014-03-26 11:12:05.000000000 +0100 @@ -17,8 +17,9 @@ Name: yast2-dns-server -Version: 3.1.4 +Version: 3.1.5 Release: 0 +Url: https://github.com/yast/yast-dns-server BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: %{name}-%{version}.tar.bz2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.4/src/include/dns-server/dialog-masterzone.rb new/yast2-dns-server-3.1.5/src/include/dns-server/dialog-masterzone.rb --- old/yast2-dns-server-3.1.4/src/include/dns-server/dialog-masterzone.rb 2014-02-19 13:36:10.000000000 +0100 +++ new/yast2-dns-server-3.1.5/src/include/dns-server/dialog-masterzone.rb 2014-03-26 11:12:05.000000000 +0100 @@ -1919,7 +1919,12 @@ ) return false end - if val.size > MAX_TEXT_RECORD_LENGTH + + # Too long records need to be split into more smaller parts + # Although splitting is done while writing it to the config file, + # checking, whether it's possible, is done here in advance. + max_val_size = val.split.map{|s| s.size}.max + if max_val_size > MAX_TEXT_RECORD_LENGTH UI.SetFocus(Id("add_record_val")) # TRANSLATORS: Error message # %{type} - replaced with record type (TXT or SPF) @@ -1932,7 +1937,7 @@ ) % { :type => type, :max => MAX_TEXT_RECORD_LENGTH, - :current => val.size + :current => max_val_size } ) return false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.4/src/modules/DnsZones.pm new/yast2-dns-server-3.1.5/src/modules/DnsZones.pm --- old/yast2-dns-server-3.1.4/src/modules/DnsZones.pm 2014-02-19 13:36:10.000000000 +0100 +++ new/yast2-dns-server-3.1.5/src/modules/DnsZones.pm 2014-03-26 11:12:05.000000000 +0100 @@ -49,7 +49,7 @@ our @EXPORT_OK = qw($zone_base_config_dn); my @tmp_all_rec_types = ("mx", "ns", "a", "aaaa", "md", "cname", "ptr", "hinfo", - "minfo", "txt", "sig", "key", "aaa", "loc", "nxtr", "srv", + "minfo", "txt", "spf", "sig", "key", "aaa", "loc", "nxtr", "srv", "naptr", "kx", "cert", "a6", "dname"); my @all_rec_types = (); @@ -261,7 +261,7 @@ } # Handle special cases - if ($type =~ /^txt$/i) { + if ($type =~ /^(txt|spf)$/i) { $value =~ s/(^\"|\"$)//g; $value =~ s/\\\"/\"/g; } @@ -312,7 +312,7 @@ my $type = $r->{"type"} || ""; my $value = $r->{"value"} || ""; - if ($type =~ /^txt$/i && $value !~ /^\"/ && $value !~ /\"$/) { + if ($type =~ /^(txt|spf)$/i && $value !~ /^\"/ && $value !~ /\"$/) { $value =~ s/\"/\\\"/g; $value = '"'.$value.'"'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.4/src/servers_non_y2/ag_dns_zone new/yast2-dns-server-3.1.5/src/servers_non_y2/ag_dns_zone --- old/yast2-dns-server-3.1.4/src/servers_non_y2/ag_dns_zone 2014-02-19 13:36:10.000000000 +0100 +++ new/yast2-dns-server-3.1.5/src/servers_non_y2/ag_dns_zone 2014-03-26 11:12:05.000000000 +0100 @@ -132,6 +132,15 @@ my $type = $record{"type"} || ''; my $value = $record{"value"} || ''; my $key = $record{"key"} || ''; + + # BNC#867596: Single TXT/SPF records longer that 255 chars need to be split + # into more shorter strings (if possible) + if ($type =~ /^(TXT|SPF)$/i && length($value) > 255) + { + # Converting "a b c" -> "a" "b" "c" + $value =~ s/[ \t]+/" "/g; + } + if ($type eq "TTL") { print OUT "\$TTL $value\n"; @@ -265,11 +274,12 @@ ($rec{"key"}, $ttl, $in, $rec{"type"}, $rec{"value"}) = ($1, $2, $3, $4); # BNC #755766 - # TXT records (values) can contain semicolons - if ($rec{"type"} =~ /txt/i) { + # TXT/SPF records (values) can contain semicolons + if ($rec{"type"} =~ /^(TXT|SPF)$/i) { $line =~ s/^(\"[^\n]*\")[ \t]*(;.*)?$//; $rec{"value"} = $1; - $rec{"value"} =~ s/\"[ \t]\"//g; # several texts merged into one + # BNC#867596: several texts merged into one: "a" "b" "c" -> "a b c" + $rec{"value"} =~ s/\"[ \t]\"/ /g; # The other records consider each semicolon to be a comment } else { $line =~ s/^([^;\n]+).*$//; -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org