From f26ca82138307e3fdd7be96e6dbfe889826e348f Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Wed, 2 Feb 2022 13:13:00 +0100 Subject: [PATCH 1/7] Replaced Master and Slave servers/zones according to RFC8499.jsc#SLE-22015 --- src/include/dns-server/dialog-main.rb | 4 +- src/include/dns-server/dialog-masterzone.rb | 10 ++--- src/include/dns-server/helps.rb | 42 ++++++++++----------- src/modules/DnsServer.pm | 4 +- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/include/dns-server/dialog-main.rb b/src/include/dns-server/dialog-main.rb index 972c4b3..1b9e453 100644 --- a/src/include/dns-server/dialog-main.rb +++ b/src/include/dns-server/dialog-main.rb @@ -1593,9 +1593,9 @@ def ExpertZonesDialog _("Type"), [ # Combobox - DNS adding zone - Type Master - Item(Id("master"), _("Master")), + Item(Id("master"), _("Primary")), # Combobox - DNS adding zone - Type Slave - Item(Id("slave"), _("Slave")), + Item(Id("slave"), _("Secondary")), # Combobox - DNS adding zone - Type Slave Item(Id("forward"), _("Forward")) ] diff --git a/src/include/dns-server/dialog-masterzone.rb b/src/include/dns-server/dialog-masterzone.rb index 73ae15f..c946857 100644 --- a/src/include/dns-server/dialog-masterzone.rb +++ b/src/include/dns-server/dialog-masterzone.rb @@ -1185,7 +1185,7 @@ def ValidateSoaTab(event) _( "The expiration time-out is higher than the time period\n" + "of zone refreshes. The zone will not be reachable\n" + - "from slave name servers all the time.\n" + + "from secondary name servers all the time.\n" + "Continue?" ) ) @@ -2679,7 +2679,7 @@ def runSlaveZoneTabDialog VSpacing(1), # TRANSLATORS: Text entry Left( - InputField(Id("master"), Opt(:hstretch), _("&Master DNS Server IP")) + InputField(Id("master"), Opt(:hstretch), _("&Primary DNS Server IP")) ), VSpacing(2), Left( @@ -2743,10 +2743,10 @@ def runSlaveZoneTabDialog if Builtins.size(@current_zone_masters) == 0 if Popup.ContinueCancelHeadline( # TRANSLATORS: Popup error headline - _("Missing Master Server"), + _("Missing Primary Server"), # TRANSLATORS: Popup error text _( - "Every slave zone must have its master server IP defined.\n" + + "Every secondary zone must have its master server IP defined.\n" + "Configuration of a DNS server without a master server would fail.\n" + "If you continue, the current zone will be removed." ) @@ -2777,7 +2777,7 @@ def runSlaveZoneTabDialog UI.SetFocus(Id("master")) # A popup error message Popup.Error( - _("The specified master name server is not a valid IP address.") + _("The specified primary name server is not a valid IP address.") ) next end diff --git a/src/include/dns-server/helps.rb b/src/include/dns-server/helps.rb index 43046e1..4c98526 100644 --- a/src/include/dns-server/helps.rb +++ b/src/include/dns-server/helps.rb @@ -66,17 +66,17 @@ def initialize_dns_server_helps(include_target) ), # help 2/5 alt. 2 "zone_masters" => _( - "

Master Servers
\n" + - "Set the IP addresses of the master name servers for this zone. Use Add\n" + - "to add a new master name server. Select an existing one then click Delete\n" + + "

Primary Servers
\n" + + "Set the IP addresses of the primary name servers for this zone. Use Add\n" + + "to add a new primary name server. Select an existing one then click Delete\n" + "to remove an existing one.

" ), # help 1/2 "zone_type" => _( "

Zone Type
\n" + "To make this name server the primary source of the data of the zone,\n" + - "select Master. To make it the secondary name server, select Slave\n" + - "or Stub, so the data of the zone will be mirrored from the master\n" + + "select Primary. To make it the secondary name server, select Secondary\n" + + "or Stub, so the data of the zone will be mirrored from the primary\n" + "server.

" ), # help 2/2 @@ -121,26 +121,26 @@ def initialize_dns_server_helps(include_target) # help text 5/9 - Serial _( "

Serial number is used for determining if the zone has changed on\n" + - "the master servers (so that slave servers do not always need to synchronize the\n" + + "the primary servers (so that secondary servers do not always need to synchronize the\n" + "entire zone).

\n" ) + # help text 6/9 - Refresh _( - "

Refresh sets how often the zone should be synchronized from\nmaster name server to slave name servers.

" + "

Refresh sets how often the zone should be synchronized from\nprimary name server to secondary name servers.

" ) + # help text 7/9 - Retry _( - "

Retry sets how often slave servers try to synchronize\nthe zone from the master server if synchronization fails.

" + "

Retry sets how often secondary servers try to synchronize\nthe zone from the primary server if synchronization fails.

" ) + # help text 8/9 - Expiry _( - "

Expiry means the period after which the zone expires on slave\n" + - "servers and slave servers stop answering replies until it is synchronized.\n" + + "

Expiry means the period after which the zone expires on secondary\n" + + "servers and secondary servers stop answering replies until it is synchronized.\n" + "

" ) + # help text 9/9 - Minimum _( - "

Minimum sets for how long the slave servers should cache\nnegative answers (name resolution failed).

" + "

Minimum sets for how long the secondary servers should cache\nnegative answers (name resolution failed).

" ), # ddns keys dialog # help text 1/1 @@ -326,7 +326,7 @@ def initialize_dns_server_helps(include_target) # Zone Editor - Help _( "

\n" + - "Reverse zone records can be generated from another master zone.\n" + + "Reverse zone records can be generated from another primary zone.\n" + "Select the Automatically Generate Records From\n" + "check-box and choose the zone to generate the records from.

\n" ) + @@ -359,7 +359,7 @@ def initialize_dns_server_helps(include_target) _( "

Serial is the number used for determining if the zone has \n" + "changed on\n" + - "the master servers (then slave servers do not always need to synchronize the\n" + + "the primary servers (then secondary servers do not always need to synchronize the\n" + "entire zone).

\n" ) + # Zone Editor - Help for tab - Zone (SOA) 3/7 @@ -368,21 +368,21 @@ def initialize_dns_server_helps(include_target) ) + # Zone Editor - Help for tab - Zone (SOA) 4/7 _( - "

Refresh sets how often the zone should be synchronized from\nmaster name server to slave name servers.

" + "

Refresh sets how often the zone should be synchronized from\nprimary name server to secondary name servers.

" ) + # Zone Editor - Help for tab - Zone (SOA) 5/7 _( - "

Retry sets how often slave servers try to synchronize\nthe zone from the master server if synchronization fails.

" + "

Retry sets how often secondary servers try to synchronize\nthe zone from the primary server if synchronization fails.

" ) + # Zone Editor - Help for tab - Zone (SOA) 6/7 _( - "

Expiration means the period after which the zone expires on slave\n" + - "servers and slave servers stop answering replies until it is synchronized.\n" + + "

Expiration means the period after which the zone expires on secondary\n" + + "servers and secondary servers stop answering replies until it is synchronized.\n" + "

" ) + # Zone Editor - Help for tab - Zone (SOA) 7/7 _( - "

Minimum sets for how long the slave servers should cache\nnegative answers (name resolution failed).

" + "

Minimum sets for how long the secondary servers should cache\nnegative answers (name resolution failed).

" ), # Zone Editor - Help for tab - Records 1/7 or 1/5 "zone_editor_records" => _( @@ -482,9 +482,9 @@ def initialize_dns_server_helps(include_target) ), # slave zone help text 1/2 "slave_zone" => _( - "

Slave DNS Zone
\n" + - "Each slave zone must have the master name server defined. Use\n" + - "Master DNS Server IP to define the master name server.

" + "

Secondary DNS Zone
\n" + + "Each slave zone must have the primary name server defined. Use\n" + + "Primary DNS Server IP to define the primary name server.

" ) + # slave zone help text 2/2 _( diff --git a/src/modules/DnsServer.pm b/src/modules/DnsServer.pm index acc20a0..ea13b99 100644 --- a/src/modules/DnsServer.pm +++ b/src/modules/DnsServer.pm @@ -1638,9 +1638,9 @@ sub Summary { my %zone_types = ( # type of zone to be used in summary - "master" => __("Master"), + "master" => __("Primary"), # type of zone to be used in summary - "slave" => __("Slave"), + "slave" => __("Secondary"), # type of zone to be used in summary "stub" => __("Stub"), # type of zone to be used in summary From 4b7585f836194ae8101a4fd7b8894e5f429040b7 Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Wed, 2 Feb 2022 13:32:06 +0100 Subject: [PATCH 2/7] Updated changelog --- package/yast2-dns-server.changes | 9 +++++++++ package/yast2-dns-server.spec | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/package/yast2-dns-server.changes b/package/yast2-dns-server.changes index 3509d90..6580be0 100644 --- a/package/yast2-dns-server.changes +++ b/package/yast2-dns-server.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Feb 2 12:29:59 UTC 2022 - Michal Filka + +- jsc#SLE-22015 + - Master/Slave servers and zones renamed to conform to inclusive + naming. According to RFC8499 primary/secondary names are used + now. +- 4.4.1 + ------------------------------------------------------------------- Tue Apr 20 13:51:55 UTC 2021 - Ladislav Slezák diff --git a/package/yast2-dns-server.spec b/package/yast2-dns-server.spec index 22e2af0..f66f1f1 100644 --- a/package/yast2-dns-server.spec +++ b/package/yast2-dns-server.spec @@ -17,7 +17,7 @@ Name: yast2-dns-server -Version: 4.4.0 +Version: 4.4.1 Release: 0 Url: https://github.com/yast/yast-dns-server Summary: YaST2 - DNS Server Configuration From 14ef7c3536c01cb2824741e9749973b88dba96f3 Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Wed, 2 Feb 2022 13:42:27 +0100 Subject: [PATCH 3/7] Translator notes --- src/include/dns-server/dialog-main.rb | 2 ++ src/include/dns-server/dialog-masterzone.rb | 5 +++-- src/modules/DnsServer.pm | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/include/dns-server/dialog-main.rb b/src/include/dns-server/dialog-main.rb index 1b9e453..b07a470 100644 --- a/src/include/dns-server/dialog-main.rb +++ b/src/include/dns-server/dialog-main.rb @@ -1593,8 +1593,10 @@ def ExpertZonesDialog _("Type"), [ # Combobox - DNS adding zone - Type Master + # TRANSLATORS: Primary is new name for Master (zone) Item(Id("master"), _("Primary")), # Combobox - DNS adding zone - Type Slave + # TRANSLATORS: Secondary is new name for Slave (zone) Item(Id("slave"), _("Secondary")), # Combobox - DNS adding zone - Type Slave Item(Id("forward"), _("Forward")) diff --git a/src/include/dns-server/dialog-masterzone.rb b/src/include/dns-server/dialog-masterzone.rb index c946857..f1a01c9 100644 --- a/src/include/dns-server/dialog-masterzone.rb +++ b/src/include/dns-server/dialog-masterzone.rb @@ -2743,11 +2743,12 @@ def runSlaveZoneTabDialog if Builtins.size(@current_zone_masters) == 0 if Popup.ContinueCancelHeadline( # TRANSLATORS: Popup error headline + # TRANSLATORS: Primary is new name for Master (zone) _("Missing Primary Server"), # TRANSLATORS: Popup error text _( - "Every secondary zone must have its master server IP defined.\n" + - "Configuration of a DNS server without a master server would fail.\n" + + "Every secondary zone must have its primary server IP defined.\n" + + "Configuration of a DNS server without a primary server would fail.\n" + "If you continue, the current zone will be removed." ) ) diff --git a/src/modules/DnsServer.pm b/src/modules/DnsServer.pm index ea13b99..685efa1 100644 --- a/src/modules/DnsServer.pm +++ b/src/modules/DnsServer.pm @@ -1638,8 +1638,10 @@ sub Summary { my %zone_types = ( # type of zone to be used in summary + # TRANSLATORS: Primary is new name for Master (zone) "master" => __("Primary"), # type of zone to be used in summary + # TRANSLATORS: Secondary is new name for Slave (zone) "slave" => __("Secondary"), # type of zone to be used in summary "stub" => __("Stub"), From 8267c25a913fa8b7962e1440d7fef3145f92377b Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Wed, 2 Feb 2022 13:54:45 +0100 Subject: [PATCH 4/7] Updated CLI --- src/include/dns-server/cmdline.rb | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/include/dns-server/cmdline.rb b/src/include/dns-server/cmdline.rb index ab3530d..d621e04 100644 --- a/src/include/dns-server/cmdline.rb +++ b/src/include/dns-server/cmdline.rb @@ -65,11 +65,11 @@ def initialize_dns_server_cmdline(include_target) ), "example" => [ "zones show", - "zones add name=example.org zonetype=master", - "zones add name=example.com zonetype=slave masterserver=192.168.0.1", + "zones add name=example.org zonetype=primary", + "zones add name=example.com zonetype=secondary primaryserver=192.168.0.1", "zones add name=example.com zonetype=forward forwarders=192.168.0.1,192.168.0.2", "zones remove name=example.org", - "zones set name=example.com masterserver=192.168.10.1", + "zones set name=example.com primaryserver=192.168.10.1", "zones set name=example.com forwarders=192.168.0.3" ] }, @@ -257,10 +257,18 @@ def initialize_dns_server_cmdline(include_target) "type" => "string", # TRANSLATORS: commandline short help for command "help" => _( - "Zone type, master or slave" + "Zone type, primary or secondary" ) }, "masterserver" => { + "type" => "ip4", + # TRANSLATORS: commandline short help for command + # TRANSLATORS: obsolete option, primaryserver should be used instead + "help" => _( + "DNS zone master server" + ) + }, + "primaryserver" => { "type" => "ip4", # TRANSLATORS: commandline short help for command "help" => _( @@ -432,6 +440,7 @@ def initialize_dns_server_cmdline(include_target) "set", "name", "masterserver", + "primaryserver", "zonetype", "forwarders" ], @@ -814,7 +823,7 @@ def DNSHandlerZonesShow Builtins.foreach(DnsServerAPI.GetZones) do |zone_name, zone| masterservers = [] forwarders = [] - if Ops.get(zone, "type") == "slave" + if ["slave", "secondary"].include?(zone) masterservers = DnsServerAPI.GetZoneMasterServers(zone_name) elsif Ops.get(zone, "type") == "forward" forwarders = DnsServerAPI.GetZoneForwarders(zone_name) @@ -859,6 +868,7 @@ def DNSHandlerZones(options) Builtins.y2milestone("Options: %1", options) # Show current settings + primaryserver = options["masterserver"] || options["primaryserver"] if Ops.get(options, "show") != nil return DNSHandlerZonesShow() @@ -872,7 +882,7 @@ def DNSHandlerZones(options) if DnsServerAPI.AddZone( Ops.get_string(options, "name"), Ops.get_string(options, "zonetype"), - { "masterserver" => Ops.get_string(options, "masterserver") } + { "masterserver" => primaryserver } ) if Ops.get_string(options, "zonetype") == "forward" return DnsServerAPI.SetZoneForwarders( @@ -897,10 +907,10 @@ def DNSHandlerZones(options) # Changing settings elsif Ops.get(options, "set") != nil # Zone MasterServers - if Ops.get(options, "masterserver") != nil + if primaryserver != nil return DnsServerAPI.SetZoneMasterServers( Ops.get_string(options, "name"), - [Ops.get_string(options, "masterserver")] + [primaryserver] ) # Zone Forwarders elsif Ops.get(options, "forwarders") != nil From 11b43d9b99a7e86d2ed5c4eac276199e86a96ea4 Mon Sep 17 00:00:00 2001 From: Michal Filka Date: Wed, 2 Feb 2022 14:57:47 +0100 Subject: [PATCH 5/7] Replaced overlooked Master/Slave occurences --- src/include/dns-server/cmdline.rb | 2 +- src/include/dns-server/dialog-main.rb | 6 +++--- src/include/dns-server/dialog-masterzone.rb | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/include/dns-server/cmdline.rb b/src/include/dns-server/cmdline.rb index d621e04..73d8269 100644 --- a/src/include/dns-server/cmdline.rb +++ b/src/include/dns-server/cmdline.rb @@ -272,7 +272,7 @@ def initialize_dns_server_cmdline(include_target) "type" => "ip4", # TRANSLATORS: commandline short help for command "help" => _( - "DNS zone master server" + "DNS zone primary server" ) }, "zone" => { diff --git a/src/include/dns-server/dialog-main.rb b/src/include/dns-server/dialog-main.rb index b07a470..43bcafa 100644 --- a/src/include/dns-server/dialog-main.rb +++ b/src/include/dns-server/dialog-main.rb @@ -1685,13 +1685,13 @@ def RedrawZonesListWidget case Ops.get_string(z, "type", "master") when "master" # TRANSLATORS: Table item - Server type - type_trans = _("Master") + type_trans = _("Primary") when "slave" # TRANSLATORS: Table item - Server type - type_trans = _("Slave") + type_trans = _("Secondary") when "stub" # TRANSLATORS: Table item - Server type - type_trans = _("Slave") + type_trans = _("Secondary") when "forward" # TRANSLATORS: Table item - Server type type_trans = _("Forward") diff --git a/src/include/dns-server/dialog-masterzone.rb b/src/include/dns-server/dialog-masterzone.rb index f1a01c9..7ee31b4 100644 --- a/src/include/dns-server/dialog-masterzone.rb +++ b/src/include/dns-server/dialog-masterzone.rb @@ -2766,7 +2766,7 @@ def runSlaveZoneTabDialog if ret == :next if false # TRANSLATORS: A popup error message - Report.Error(_("No master DNS server defined.")) + Report.Error(_("No primary DNS server defined.")) next else # controlling sever name, IP From c5e80c0312d5ff200a9fe472495c84ed6b27d7bd Mon Sep 17 00:00:00 2001 From: Martin Vidner Date: Wed, 2 Feb 2022 15:38:25 +0100 Subject: [PATCH 6/7] Smoke test for DnsServerCmdlineInclude --- test/Makefile.am | 1 + test/dns_server_cmdline_test.rb | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100755 test/dns_server_cmdline_test.rb diff --git a/test/Makefile.am b/test/Makefile.am index 1fa26ed..868cb90 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,4 +1,5 @@ TESTS = \ + dns_server_cmdline_test.rb \ dns_server_test.rb \ dns_server_ui_test.rb \ etc_named_parsing_test.rb \ diff --git a/test/dns_server_cmdline_test.rb b/test/dns_server_cmdline_test.rb new file mode 100755 index 0000000..1fd62ea --- /dev/null +++ b/test/dns_server_cmdline_test.rb @@ -0,0 +1,18 @@ +#! /usr/bin/env rspec + +require_relative "test_helper" + +class DnsServerCmdlineDummy < Yast::Module + def initialize + Yast.include self, "dns-server/cmdline.rb" + end +end + + +describe "Yast::DnsServerCmdlineInclude" do + subject { DnsServerCmdlineDummy.new } + + it "loads" do + expect { subject }.to_not raise_error + end +end From 2bcc8ec71cbf257e2c3569ea76c101a6d678bf2b Mon Sep 17 00:00:00 2001 From: Martin Vidner Date: Wed, 2 Feb 2022 15:45:29 +0100 Subject: [PATCH 7/7] Run service_widget_helpers_test.rb during RPM build --- test/Makefile.am | 3 ++- test/service_widget_helpers_test.rb | 0 2 files changed, 2 insertions(+), 1 deletion(-) mode change 100644 => 100755 test/service_widget_helpers_test.rb diff --git a/test/Makefile.am b/test/Makefile.am index 868cb90..e978d65 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -3,7 +3,8 @@ TESTS = \ dns_server_test.rb \ dns_server_ui_test.rb \ etc_named_parsing_test.rb \ - masterzone_test.rb + masterzone_test.rb \ + service_widget_helpers_test.rb TEST_EXTENSIONS = .rb RB_LOG_COMPILER = rspec diff --git a/test/service_widget_helpers_test.rb b/test/service_widget_helpers_test.rb old mode 100644 new mode 100755