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]
