Hello community,

here is the log from the commit of package yast2-dns-server for 
openSUSE:Factory checked in at 2013-08-23 11:06:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-08-01 11:08:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-dns-server.new/yast2-dns-server.changes   
2013-08-23 11:06:49.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Aug 13 14:29:08 CEST 2013 - [email protected]
+
+- Added missing SPF record handling
+- 3.0.1
+
+-------------------------------------------------------------------

Old:
----
  yast2-dns-server-3.0.0.tar.bz2

New:
----
  yast2-dns-server-3.0.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-dns-server.spec ++++++
--- /var/tmp/diff_new_pack.p2yVbp/_old  2013-08-23 11:06:49.000000000 +0200
+++ /var/tmp/diff_new_pack.p2yVbp/_new  2013-08-23 11:06:49.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-dns-server
-Version:        3.0.0
+Version:        3.0.1
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-dns-server-3.0.0.tar.bz2 -> yast2-dns-server-3.0.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/Makefile.am.common 
new/yast2-dns-server-3.0.1/Makefile.am.common
--- old/yast2-dns-server-3.0.0/Makefile.am.common       2013-07-31 
11:25:44.000000000 +0200
+++ new/yast2-dns-server-3.0.1/Makefile.am.common       2013-08-15 
13:26:54.000000000 +0200
@@ -15,6 +15,7 @@
 CLEANFILES = ${ybcfiles}
 DISTCLEANFILES = .dep
 
+if HAS_YCP_MODULES
 # Needs to be outside "." because of cases
 # where ycpchook contains a symlink to "."
 # Otherwise "." keeps being newer than .dep and we loop.
@@ -26,14 +27,16 @@
        ${YCPMAKEDEP} --prefix=${prefix} ${YCPCFLAGS} > ${NEWDEP}
        cat ${NEWDEP} > .dep
        rm ${NEWDEP}
+-include .dep
+endif
 
 dist-hook: check-syntax
 
 CHECK_SYNTAX = true
-check-syntax: $(client_DATA) $(ycpchook) $(ybcfiles)
-       @if test "$(filter %.ycp,client_DATA)"; then \
+check-syntax: $(client_DATA) $(module_DATA) $(ynclude_DATA) $(ydata_DATA) 
$(ycpchook) $(ybcfiles)
+       @if test "$(filter %.ycp, $(client_DATA) $(ydata_DATA))"; then \
          if $(CHECK_SYNTAX); then \
-           TO_CHECK="$(filter %.ycp,$^)"; \
+           TO_CHECK="$(filter %.ycp, $(client_DATA) $(ydata_DATA))"; \
            echo "Checking syntax of $${TO_CHECK}"; \
            if ! $(YCPC) -qE -M. -I. $(YCPCFLAGS) $${TO_CHECK}; then \
              echo "Failed. Disable by 'make ... CHECK_SYNTAX=false' at your 
own risk"; \
@@ -43,5 +46,18 @@
            echo "Syntax check disabled"; \
          fi; \
        fi
+       @if test "$(filter %.rb, $^)"; then \
+         if $(CHECK_SYNTAX); then \
+           TO_CHECK="$(filter %.rb, $^)"; \
+           echo "Checking syntax of $${TO_CHECK}"; \
+           for f in $${TO_CHECK}; do \
+             if ! ruby -c $$f > /dev/null; then \
+               echo "Failed. Disable by 'make ... CHECK_SYNTAX=false' at your 
own risk"; \
+               exit 1; \
+             fi; \
+           done; \
+         else \
+           echo "Syntax check disabled"; \
+         fi; \
+       fi
 
--include .dep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/VERSION 
new/yast2-dns-server-3.0.1/VERSION
--- old/yast2-dns-server-3.0.0/VERSION  2013-07-31 11:25:37.000000000 +0200
+++ new/yast2-dns-server-3.0.1/VERSION  2013-08-15 13:26:47.000000000 +0200
@@ -1 +1 @@
-3.0.0
+3.0.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/autodocs-ycp.ami 
new/yast2-dns-server-3.0.1/autodocs-ycp.ami
--- old/yast2-dns-server-3.0.0/autodocs-ycp.ami 2013-07-31 11:25:44.000000000 
+0200
+++ new/yast2-dns-server-3.0.1/autodocs-ycp.ami 2013-08-15 13:26:54.000000000 
+0200
@@ -17,8 +17,11 @@
 
 htmldir = $(docdir)/$(AUTODOCS_SUBDIR)/autodocs
 
+# find all files in Yast/ subdirectory if it exists
+YARD_YAST_FILES = $(shell test -d Yast && find Yast -type f)
+
 # use nobase_ prefix to keep the directory structure
-nobase_html_DATA = index.html $(filter-out index.html, $(wildcard *.html)) 
$(wildcard js/*) $(wildcard css/*) $(wildcard Yast/*)
+nobase_html_DATA = index.html $(filter-out index.html, $(wildcard *.html)) 
$(wildcard js/*) $(wildcard css/*) $(YARD_YAST_FILES)
 CLEANFILES = $(nobase_html_DATA) pod2htm*.tmp
 
 AUTODOCS_YCP ?= $(wildcard $(srcdir)/../../src/*.ycp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/configure 
new/yast2-dns-server-3.0.1/configure
--- old/yast2-dns-server-3.0.0/configure        2013-07-31 11:25:47.000000000 
+0200
+++ new/yast2-dns-server-3.0.1/configure        2013-08-15 13:26:57.000000000 
+0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for yast2-dns-server 3.0.0.
+# Generated by GNU Autoconf 2.69 for yast2-dns-server 3.0.1.
 #
 # Report bugs to <http://bugs.opensuse.org/>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='yast2-dns-server'
 PACKAGE_TARNAME='yast2-dns-server'
-PACKAGE_VERSION='3.0.0'
-PACKAGE_STRING='yast2-dns-server 3.0.0'
+PACKAGE_VERSION='3.0.1'
+PACKAGE_STRING='yast2-dns-server 3.0.1'
 PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
 PACKAGE_URL=''
 
@@ -588,6 +588,8 @@
 ac_default_prefix=/usr
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
+HAS_YCP_MODULES_FALSE
+HAS_YCP_MODULES_TRUE
 YCPC
 YCPMAKEDEP
 YCPDOC
@@ -1247,7 +1249,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures yast2-dns-server 3.0.0 to adapt to many kinds of 
systems.
+\`configure' configures yast2-dns-server 3.0.1 to adapt to many kinds of 
systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1319,7 +1321,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of yast2-dns-server 3.0.0:";;
+     short | recursive ) echo "Configuration of yast2-dns-server 3.0.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1399,7 +1401,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-yast2-dns-server configure 3.0.0
+yast2-dns-server configure 3.0.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1416,7 +1418,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by yast2-dns-server $as_me 3.0.0, which was
+It was created by yast2-dns-server $as_me 3.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2355,7 +2357,7 @@
 
 # Define the identity of the package.
  PACKAGE='yast2-dns-server'
- VERSION='3.0.0'
+ VERSION='3.0.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2478,7 +2480,7 @@
 
 
 
-VERSION="3.0.0"
+VERSION="3.0.1"
 RPMNAME="yast2-dns-server"
 MAINTAINER="YaST2 Maintainers <[email protected]>"
 
@@ -2842,6 +2844,29 @@
 fi
 
 
+# handle .dep files in Makefile.am.common if any YCP module is present
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for YCP modules" >&5
+$as_echo_n "checking for YCP modules... " >&6; }
+
+# YCP module file name starts with an upper case letter
+find . -type f | grep -q "[[:upper:]][^/]*\.ycp$" && has_ycp_modules=1
+ if test -n "$has_ycp_modules"; then
+  HAS_YCP_MODULES_TRUE=
+  HAS_YCP_MODULES_FALSE='#'
+else
+  HAS_YCP_MODULES_TRUE='#'
+  HAS_YCP_MODULES_FALSE=
+fi
+
+
+if test -n "$has_ycp_modules"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+fi
+
 
 ac_config_files="$ac_config_files Makefile agents/Makefile 
doc/autodocs/Makefile doc/Makefile src/Makefile testsuite/Makefile"
 
@@ -3007,6 +3032,10 @@
   as_fn_error $? "conditional \"CREATE_PKGCONFIG_NOARCH\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${HAS_YCP_MODULES_TRUE}" && test -z "${HAS_YCP_MODULES_FALSE}"; 
then
+  as_fn_error $? "conditional \"HAS_YCP_MODULES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 
 : "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
@@ -3404,7 +3433,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by yast2-dns-server $as_me 3.0.0, which was
+This file was extended by yast2-dns-server $as_me 3.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -3457,7 +3486,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-yast2-dns-server config.status 3.0.0
+yast2-dns-server config.status 3.0.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/configure.ac 
new/yast2-dns-server-3.0.1/configure.ac
--- old/yast2-dns-server-3.0.0/configure.ac     2013-07-31 11:25:44.000000000 
+0200
+++ new/yast2-dns-server-3.0.1/configure.ac     2013-08-15 13:26:54.000000000 
+0200
@@ -1,9 +1,9 @@
 dnl configure.ac for yast2-dns-server
 dnl
-dnl -- This file is generated by y2autoconf 2.24.7 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 3.0.4 - DO NOT EDIT! --
 dnl    (edit configure.ac.in or configure.in.in instead)
 
-AC_INIT(yast2-dns-server, 3.0.0, http://bugs.opensuse.org/, yast2-dns-server)
+AC_INIT(yast2-dns-server, 3.0.1, http://bugs.opensuse.org/, yast2-dns-server)
 dnl Check for presence of file 'RPMNAME'
 AC_CONFIG_SRCDIR([RPMNAME])
 
@@ -18,7 +18,7 @@
 AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
 
 dnl Important YaST2 variables
-VERSION="3.0.0"
+VERSION="3.0.1"
 RPMNAME="yast2-dns-server"
 MAINTAINER="YaST2 Maintainers <[email protected]>"
 
@@ -149,6 +149,19 @@
     AC_MSG_WARN([yast2-testsuite.rpm is not installed])
 ])
 
+# handle .dep files in Makefile.am.common if any YCP module is present
+AC_MSG_CHECKING([for YCP modules])
+
+# YCP module file name starts with an upper case letter
+[find . -type f | grep -q "[[:upper:]][^/]*\.ycp$" && has_ycp_modules=1]
+AM_CONDITIONAL([HAS_YCP_MODULES], [test -n "$has_ycp_modules"])
+
+if test -n "$has_ycp_modules"; then
+  AC_MSG_RESULT([found])
+else
+  AC_MSG_RESULT([not found])
+fi
+
 
 AC_CONFIG_FILES(Makefile agents/Makefile
 doc/autodocs/Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/doc/autodocs/Makefile.in 
new/yast2-dns-server-3.0.1/doc/autodocs/Makefile.in
--- old/yast2-dns-server-3.0.0/doc/autodocs/Makefile.in 2013-07-31 
11:25:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/doc/autodocs/Makefile.in 2013-08-15 
13:26:58.000000000 +0200
@@ -237,8 +237,11 @@
 yncludedir = @yncludedir@
 ystartupdir = @ystartupdir@
 
+# find all files in Yast/ subdirectory if it exists
+YARD_YAST_FILES = $(shell test -d Yast && find Yast -type f)
+
 # use nobase_ prefix to keep the directory structure
-nobase_html_DATA = index.html $(filter-out index.html, $(wildcard *.html)) 
$(wildcard js/*) $(wildcard css/*) $(wildcard Yast/*)
+nobase_html_DATA = index.html $(filter-out index.html, $(wildcard *.html)) 
$(wildcard js/*) $(wildcard css/*) $(YARD_YAST_FILES)
 CLEANFILES = $(nobase_html_DATA) pod2htm*.tmp
 all: all-am
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/src/Makefile.in 
new/yast2-dns-server-3.0.1/src/Makefile.in
--- old/yast2-dns-server-3.0.0/src/Makefile.in  2013-07-31 11:25:49.000000000 
+0200
+++ new/yast2-dns-server-3.0.1/src/Makefile.in  2013-08-15 13:26:58.000000000 
+0200
@@ -288,7 +288,7 @@
 # Needs to be outside "." because of cases
 # where ycpchook contains a symlink to "."
 # Otherwise "." keeps being newer than .dep and we loop.
-NEWDEP = ${top_builddir}/.dep.new
+@HAS_YCP_MODULES_TRUE@NEWDEP = ${top_builddir}/.dep.new
 CHECK_SYNTAX = true
 all: all-am
 
@@ -710,16 +710,17 @@
 # generate dependencies
 # two steps not to lose the file if the command fails
 # hook: create the links before we look for files
-.dep: $(wildcard *.ycp) ${ycpchook}
-       ${YCPMAKEDEP} --prefix=${prefix} ${YCPCFLAGS} > ${NEWDEP}
-       cat ${NEWDEP} > .dep
-       rm ${NEWDEP}
+@[email protected]: $(wildcard *.ycp) ${ycpchook}
+@HAS_YCP_MODULES_TRUE@ ${YCPMAKEDEP} --prefix=${prefix} ${YCPCFLAGS} > 
${NEWDEP}
+@HAS_YCP_MODULES_TRUE@ cat ${NEWDEP} > .dep
+@HAS_YCP_MODULES_TRUE@ rm ${NEWDEP}
+@HAS_YCP_MODULES_TRUE@-include .dep
 
 dist-hook: check-syntax
-check-syntax: $(client_DATA) $(ycpchook) $(ybcfiles)
-       @if test "$(filter %.ycp,client_DATA)"; then \
+check-syntax: $(client_DATA) $(module_DATA) $(ynclude_DATA) $(ydata_DATA) 
$(ycpchook) $(ybcfiles)
+       @if test "$(filter %.ycp, $(client_DATA) $(ydata_DATA))"; then \
          if $(CHECK_SYNTAX); then \
-           TO_CHECK="$(filter %.ycp,$^)"; \
+           TO_CHECK="$(filter %.ycp, $(client_DATA) $(ydata_DATA))"; \
            echo "Checking syntax of $${TO_CHECK}"; \
            if ! $(YCPC) -qE -M. -I. $(YCPCFLAGS) $${TO_CHECK}; then \
              echo "Failed. Disable by 'make ... CHECK_SYNTAX=false' at your 
own risk"; \
@@ -729,8 +730,20 @@
            echo "Syntax check disabled"; \
          fi; \
        fi
-
--include .dep
+       @if test "$(filter %.rb, $^)"; then \
+         if $(CHECK_SYNTAX); then \
+           TO_CHECK="$(filter %.rb, $^)"; \
+           echo "Checking syntax of $${TO_CHECK}"; \
+           for f in $${TO_CHECK}; do \
+             if ! ruby -c $$f > /dev/null; then \
+               echo "Failed. Disable by 'make ... CHECK_SYNTAX=false' at your 
own risk"; \
+               exit 1; \
+             fi; \
+           done; \
+         else \
+           echo "Syntax check disabled"; \
+         fi; \
+       fi
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/src/include/dns-server/dialog-masterzone.rb 
new/yast2-dns-server-3.0.1/src/include/dns-server/dialog-masterzone.rb
--- old/yast2-dns-server-3.0.0/src/include/dns-server/dialog-masterzone.rb      
2013-07-31 10:27:13.000000000 +0200
+++ new/yast2-dns-server-3.0.1/src/include/dns-server/dialog-masterzone.rb      
2013-08-15 13:26:47.000000000 +0200
@@ -11,6 +11,18 @@
 # Input and output routines.
 module Yast
   module DnsServerDialogMasterzoneInclude
+    MAX_TEXT_RECORD_LENGTH = 255
+
+    module SOADefaults
+      DNS_SERVER = '.'
+      EMAIL_ADDRESS = 'root.'
+      SERIAL = '1111111111'
+      REFRESH = '3h'
+      RETRY = '1h'
+      EXPIRY = '1w'
+      MINIMUM = '1d'
+    end
+
     def initialize_dns_server_dialog_masterzone(include_target)
       textdomain "dns-server"
 
@@ -32,15 +44,10 @@
 
       Yast.include include_target, "dns-server/misc.rb"
 
-      # zone ACL -->
-
       @available_zones_to_connect = []
 
-      # <-- zone SOA
-
-      # --> zone RECORDS
-
-      @supported_records = []
+      @supported_records    = []
+      @supported_records_ui = []
 
       @last_add_record_type = nil
 
@@ -1098,143 +1105,59 @@
       nil
     end
 
-    # Store settings of a tab of a dialog
+    # Store SOA dialog settings
     def StoreSoaTab
-      Ops.set(
-        @current_zone,
-        "ttl",
-        Builtins.sformat(
-          "%1%2",
-          UI.QueryWidget(Id("zone_settings_ttl_value"), :Value),
-          UI.QueryWidget(Id("zone_settings_ttl_units"), :Value)
-        )
-      )
-
-      Ops.set(@current_zone, "soa", Ops.get_map(@current_zone, "soa", {}))
+      @current_zone['ttl'] = "%{ttl_value}%{ttl_units}" % {
+        :ttl_value => UI.QueryWidget(Id('zone_settings_ttl_value'), :Value),
+        :ttl_units => UI.QueryWidget(Id('zone_settings_ttl_units'), :Value)
+      }
 
-      Ops.set(
-        @current_zone,
-        ["soa", "serial"],
-        UI.QueryWidget(Id("zone_settings_serial"), :Value)
-      )
-      Ops.set(
-        @current_zone,
-        ["soa", "refresh"],
-        Builtins.sformat(
-          "%1%2",
-          UI.QueryWidget(Id("zone_settings_refresh_value"), :Value),
-          UI.QueryWidget(Id("zone_settings_refresh_units"), :Value)
-        )
-      )
-      Ops.set(
-        @current_zone,
-        ["soa", "retry"],
-        Builtins.sformat(
-          "%1%2",
-          UI.QueryWidget(Id("zone_settings_retry_value"), :Value),
-          UI.QueryWidget(Id("zone_settings_retry_units"), :Value)
-        )
-      )
-      Ops.set(
-        @current_zone,
-        ["soa", "expiry"],
-        Builtins.sformat(
-          "%1%2",
-          UI.QueryWidget(Id("zone_settings_expiry_value"), :Value),
-          UI.QueryWidget(Id("zone_settings_expiry_units"), :Value)
-        )
-      )
-      Ops.set(
-        @current_zone,
-        ["soa", "minimum"],
-        Builtins.sformat(
-          "%1%2",
-          UI.QueryWidget(Id("zone_settings_minimum_value"), :Value),
-          UI.QueryWidget(Id("zone_settings_minimum_units"), :Value)
-        )
-      )
+      soa_update = {
+        'serial' => UI.QueryWidget(Id('zone_settings_serial'), :Value),
+        'refresh' => "%{refresh_value}%{refresh_units}" % {
+          :refresh_value => UI.QueryWidget(Id('zone_settings_refresh_value'), 
:Value),
+          :refresh_units => UI.QueryWidget(Id('zone_settings_refresh_units'), 
:Value)
+        },
+        'retry' => "%{retry_value}%{retry_units}" % {
+          :retry_value => UI.QueryWidget(Id('zone_settings_retry_value'), 
:Value),
+          :retry_units => UI.QueryWidget(Id('zone_settings_retry_units'), 
:Value)
+        },
+        'expiry' => "%{expiry_value}%{expiry_units}" % {
+          :expiry_value => UI.QueryWidget(Id('zone_settings_expiry_value'), 
:Value),
+          :expiry_units => UI.QueryWidget(Id('zone_settings_expiry_units'), 
:Value)
+        },
+        'minimum' => "%{minimum_value}%{minimum_units}" % {
+          :minimum_value => UI.QueryWidget(Id('zone_settings_minimum_value'), 
:Value),
+          :minimum_units => UI.QueryWidget(Id('zone_settings_minimum_units'), 
:Value)
+        }
+      }
 
-      zn = Ops.add(Ops.get_string(@current_zone, "zone", ""), ".")
-      Ops.set(
-        @current_zone,
-        "update_actions",
-        Builtins.add(
-          Ops.get_list(@current_zone, "update_actions", []),
-          {
-            "operation" => "add",
-            "type"      => "SOA",
-            "key"       => zn,
-            "value"     => Ops.add(
-              Ops.add(
-                Ops.add(
-                  Ops.add(
-                    Ops.add(
-                      Ops.add(
-                        Ops.add(
-                          Ops.add(
-                            Ops.add(
-                              Ops.add(
-                                Ops.add(
-                                  Ops.add(
-                                    Ops.add(
-                                      Ops.get_string(
-                                        @current_zone,
-                                        ["soa", "server"],
-                                        "."
-                                      ),
-                                      " "
-                                    ),
-                                    Ops.get_string(
-                                      @current_zone,
-                                      ["soa", "mail"],
-                                      "root."
-                                    )
-                                  ),
-                                  " "
-                                ),
-                                Ops.get_string(
-                                  @current_zone,
-                                  ["soa", "serial"],
-                                  "1111111111"
-                                )
-                              ),
-                              " "
-                            ),
-                            Ops.get_string(
-                              @current_zone,
-                              ["soa", "refresh"],
-                              "3h"
-                            )
-                          ),
-                          " "
-                        ),
-                        Ops.get_string(@current_zone, ["soa", "retry"], "1h")
-                      ),
-                      " "
-                    ),
-                    Ops.get_string(@current_zone, ["soa", "expiry"], "1w")
-                  ),
-                  " "
-                ),
-                Ops.get_string(@current_zone, ["soa", "minimum"], "1d")
-              ),
-              " "
-            )
-          }
-        )
-      )
+      @current_zone['soa'] ||= {}
+      @current_zone['soa'].merge!(soa_update)
 
-      nil
+      @current_zone['update_actions'] ||= []
+      @current_zone['update_actions'] << {
+        'operation' => 'add',
+        'type'      => 'SOA',
+        'key'       => @current_zone['zone'] + '.',
+        'value'     => [
+                         @current_zone['soa'].fetch('server',  
SOADefaults::DNS_SERVER),
+                         @current_zone['soa'].fetch('mail',    
SOADefaults::EMAIL_ADDRESS),
+                         @current_zone['soa'].fetch('serial',  
SOADefaults::SERIAL),
+                         @current_zone['soa'].fetch('refresh', 
SOADefaults::REFRESH),
+                         @current_zone['soa'].fetch('retry',   
SOADefaults::RETRY),
+                         @current_zone['soa'].fetch('expiry',  
SOADefaults::EXPIRY),
+                         @current_zone['soa'].fetch('minimum', 
SOADefaults::MINIMUM)
+                       ].join(' ')
+      }
     end
 
     # Handle events in a tab of a dialog
     def HandleSoaTab(event)
-      event = deep_copy(event)
       nil
     end
 
     def ValidateSoaTab(event)
-      event = deep_copy(event)
       serial = Convert.to_string(
         UI.QueryWidget(Id("zone_settings_serial"), :Value)
       )
@@ -1302,7 +1225,7 @@
                 Id("add_record_type"),
                 Opt(:notify),
                 _("T&ype"),
-                @supported_records
+                @supported_records_ui
               )
             ),
             # IntField - zone settings - Record Value
@@ -1361,7 +1284,7 @@
                 Id("add_record_type"),
                 Opt(:notify),
                 _("T&ype"),
-                @supported_records
+                @supported_records_ui
               )
             ),
             VBox(
@@ -1377,6 +1300,7 @@
               )
             )
           )
+        # "A", "AAAA", "CNAME", "NS", "PTR", "TXT", "SPF"
         else
           ret = HBox(
             # Textentry - zone settings - Record Name
@@ -1393,7 +1317,7 @@
                 Id("add_record_type"),
                 Opt(:notify),
                 _("T&ype"),
-                @supported_records
+                @supported_records_ui
               )
             ),
             # Textentry - zone settings - Record Value
@@ -1413,7 +1337,7 @@
         )
         @supported_records = ["PTR", "NS"]
       else
-        @supported_records = ["A", "AAAA", "CNAME", "NS", "MX", "SRV", "TXT"]
+        @supported_records = ["A", "AAAA", "CNAME", "NS", "MX", "SRV", "TXT", 
"SPF"]
       end
 
       record_type_descriptions = {
@@ -1424,10 +1348,11 @@
         "MX"    => _("MX: Mail Relay"),
         "PTR"   => _("PTR: Reverse Translation"),
         "SRV"   => _("SRV: Services Record"),
-        "TXT"   => _("TXT: Text Record")
+        "TXT"   => _("TXT: Text Record"),
+        "SPF"   => _("SPF: Sender Policy Framework"),
       }
 
-      @supported_records = Builtins.maplist(@supported_records) do 
|one_rec_type|
+      @supported_records_ui = Builtins.maplist(@supported_records) do 
|one_rec_type|
         Item(
           Id(one_rec_type),
           Ops.get(record_type_descriptions, one_rec_type, one_rec_type)
@@ -1609,6 +1534,7 @@
           end
 
           UI.ChangeWidget(Id("add_record_prio"), :Value, current_prio)
+        # "A", "AAAA", "CNAME", "NS", "PTR", "TXT", "SPF"
         else
 
       end
@@ -1771,7 +1697,7 @@
     end
 
     # Checks whether a given string is a valid TXT record key (name)
-    def ValidTXTRecordName(name)
+    def ValidTextRecordName(name)
       # Checking the length
       if name == nil || name == ""
         Builtins.y2warning("TXT record key must not be empty")
@@ -1980,29 +1906,34 @@
         end
         return true 
 
-        # -- TXT -- \\
-      elsif type == "TXT"
-        if !ValidTXTRecordName(key)
+      # TXT or SPF
+      elsif type == "TXT" or type == "SPF"
+        if !ValidTextRecordName(key)
           UI.SetFocus(Id("add_record_name"))
+          # TRANSLATORS: Error message
+          # %{type} replaced with record type (TXT or SPF)
           Popup.Error(
             _(
-              "Invalid TXT record key. It should consist of printable US-ASCII 
characters excluding '='\nand must be at least one character long."
-            )
+              "Invalid %{type} record key. It should consist of printable 
US-ASCII characters excluding '='\nand must be at least one character long."
+            ) % {:type => type}
           )
           return false
         end
-        if Ops.greater_than(Builtins.size(val), 255)
+        if val.size > MAX_TEXT_RECORD_LENGTH
           UI.SetFocus(Id("add_record_val"))
-          # TRANSLATORS: Error message, %1 is replaced with the maximal length
-          # %2 with the current length of a new TXT record.
+          # TRANSLATORS: Error message
+          # %{type}    - replaced with record type (TXT or SPF)
+          # %{max}     - replaced with the maximal length
+          # %{current} - replaced with the current length of a new TXT record.
           Popup.Error(
-            Builtins.sformat(
-              _(
-                "Maximal length of a TXT record is %1 characters.\nThis 
message is %2 characters long."
-              ),
-              255,
-              Builtins.size(val)
-            )
+            _(
+              "Maximal length of a %{type} record is %{max} characters.\n" +
+              "This message is %{current} characters long."
+            ) % {
+              :type => type,
+              :max => MAX_TEXT_RECORD_LENGTH,
+              :current => val.size
+            }
           )
           return false
         end
@@ -2015,45 +1946,32 @@
 
     # Checking new record by the "type"
     def CheckNewZoneRecordLogic(record)
-      record = deep_copy(record)
-      # $[ "key" : key, "type" : type, "val" : val ]
 
-      type = Ops.get(record, "type", "")
-      key = Ops.get(record, "key", "")
-      val = Ops.get(record, "val", "")
+      type = record['type']
+      key  = record['key']
+      val  = record['val']
 
-      if type == "A"
-        # A record should point to IPv4 address
-        return true
-      elsif type == "AAAA"
-        # AAAA record should point to IPv6 address
-        return true
-      elsif type == "CNAME"
-        # (hostname or FQ -> hostname or FQ)
-        if key == val
-          UI.SetFocus(Id("add_record_val"))
-          # TRANSLATORS: a popup message, CNAME (link) points to itself
-          Popup.Error(_("CNAME cannot point to itself."))
+      case type
+        when "CNAME"
+          # (hostname or FQ -> hostname or FQ)
+          if key == val
+            UI.SetFocus(Id("add_record_val"))
+            # TRANSLATORS: a popup message, CNAME (link) points to itself
+            Popup.Error(_("CNAME cannot point to itself."))
+            return false
+          end
+          return true
+        when *@supported_records
+          # FIXME: A record should point to an IPv4 address
+          # FIXME: AAAA record should point to IPv6 address
+          # FIXME: NS should point to an A or AAAA record (if it is in the 
same domain)
+          # FIXME: MX should point to an A or AAAA record (if it is in the 
same domain)
+          # FIXME: SRV should point to an A or AAAA record (if it is in the 
same domain)
+          return true
+        else
+          Builtins.y2error("unknown record type: #{type}")
           return false
-        end
-        return true
-      elsif type == "NS"
-        # FIXME: NS should point to an A or AAAA record (if it is in the same 
domain)
-        return true
-      elsif type == "MX"
-        # FIXME: MX should point to an A or AAAA record (if it is in the same 
domain)
-        return true
-      elsif type == "PTR"
-        return true
-      elsif type == "SRV"
-        # FIXME: SRV should point to an A or AAAA record (if it is in the same 
domain)
-        return true
-      elsif type == "TXT"
-        return true
       end
-
-      Builtins.y2error("unknown record type: %1", Ops.get(record, "type", ""))
-      false
     end
 
     # Transform a given key/value by adding the ending dot if
@@ -2277,6 +2195,7 @@
           )
 
           val = Builtins.sformat("%1 %2", record_prio, val)
+        # "A", "AAAA", "CNAME", "NS", "PTR", "TXT", "SPF"
         else
 
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/DnsServerAPI.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/DnsServerAPI.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/DnsServerAPI.rb  2013-07-30 
13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/DnsServerAPI.rb  2013-08-15 
13:26:47.000000000 +0200
@@ -7,6 +7,8 @@
 # Copyright:   Copyright 2004, Novell, Inc.  All rights reserved.
 #
 # $Id: DnsServerAPI.ycp 48293 2008-06-13 13:24:54Z locilka $
+require "yast"
+
 module Yast
   class DnsServerAPIClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/DnsServerHelperFunctions.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/DnsServerHelperFunctions.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/DnsServerHelperFunctions.rb      
2013-07-30 13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/DnsServerHelperFunctions.rb      
2013-08-15 13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for helper functions module
+require "yast"
+
 module Yast
   class DnsServerHelperFunctionsClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/DnsServerUI.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/DnsServerUI.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/DnsServerUI.rb   2013-07-30 
13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/DnsServerUI.rb   2013-08-15 
13:26:47.000000000 +0200
@@ -1,4 +1,5 @@
 # encoding: utf-8
+require "yast"
 
 module Yast
   class DnsServerUIClient < Client
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/testsuite/tests/Read.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/Read.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/Read.rb  2013-07-30 
13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/Read.rb  2013-08-15 
13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for reading configuration for dns-server
+require "yast"
+
 module Yast
   class ReadClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-dns-server-3.0.0/testsuite/tests/Write.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/Write.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/Write.rb 2013-07-30 
13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/Write.rb 2013-08-15 
13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for writting configuration for dns-server
+require "yast"
+
 module Yast
   class WriteClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/YaPIReadGlobalOptions.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/YaPIReadGlobalOptions.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/YaPIReadGlobalOptions.rb 
2013-07-30 13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/YaPIReadGlobalOptions.rb 
2013-08-15 13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for reading global options for dns-server
+require "yast"
+
 module Yast
   class YaPIReadGlobalOptionsClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/YaPIReadZones.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/YaPIReadZones.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/YaPIReadZones.rb 2013-07-30 
13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/YaPIReadZones.rb 2013-08-15 
13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for reading dns zones for dns-server
+require "yast"
+
 module Yast
   class YaPIReadZonesClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/YaPIStartStopDnsService.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/YaPIStartStopDnsService.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/YaPIStartStopDnsService.rb       
2013-07-30 13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/YaPIStartStopDnsService.rb       
2013-08-15 13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for starting/stopping dns-server
+require "yast"
+
 module Yast
   class YaPIStartStopDnsServiceClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/YaPIWriteGlobalOptions.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/YaPIWriteGlobalOptions.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/YaPIWriteGlobalOptions.rb        
2013-07-30 13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/YaPIWriteGlobalOptions.rb        
2013-08-15 13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for writting global options for dns-server
+require "yast"
+
 module Yast
   class YaPIWriteGlobalOptionsClient < Client
     def main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-dns-server-3.0.0/testsuite/tests/YaPIWriteZones.rb 
new/yast2-dns-server-3.0.1/testsuite/tests/YaPIWriteZones.rb
--- old/yast2-dns-server-3.0.0/testsuite/tests/YaPIWriteZones.rb        
2013-07-30 13:30:48.000000000 +0200
+++ new/yast2-dns-server-3.0.1/testsuite/tests/YaPIWriteZones.rb        
2013-08-15 13:26:47.000000000 +0200
@@ -9,6 +9,8 @@
 # $Id$
 #
 # Testsuite for reading configuration for dns-server
+require "yast"
+
 module Yast
   class YaPIWriteZonesClient < Client
     def main

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to