diff --git a/package/yast2-users.changes b/package/yast2-users.changes index 59d61f545..2ef74fad8 100644 --- a/package/yast2-users.changes +++ b/package/yast2-users.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Apr 6 13:34:48 UTC 2018 - igonzalezsosa@suse.com + +- Do not crash if root user is not defined (bsc#1088183). +- 3.2.15 + ------------------------------------------------------------------- Thu Mar 1 09:36:25 UTC 2018 - mvidner@suse.com diff --git a/package/yast2-users.spec b/package/yast2-users.spec index 508edd020..8dafc44e8 100644 --- a/package/yast2-users.spec +++ b/package/yast2-users.spec @@ -17,7 +17,7 @@ Name: yast2-users -Version: 3.2.14 +Version: 3.2.15 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/src/modules/Users.pm b/src/modules/Users.pm index 102e6d4d9..3c901abb3 100644 --- a/src/modules/Users.pm +++ b/src/modules/Users.pm @@ -4070,10 +4070,13 @@ sub WriteAuthorizedKeys { } } - # Write root authorized keys(bsc#1066342) - my %root_user = %{$modified_users{"system"}{"root"}}; - if ($root_user{"modified"} eq "imported") { - SSHAuthorizedKeys->write_keys($root_user{"homeDirectory"}); + # Do not crash if 'root' is undefined (bsc#1088183) + if (defined($modified_users{"system"}{"root"})) { + # Write root authorized keys(bsc#1066342) + my %root_user = %{$modified_users{"system"}{"root"}}; + if ($root_user{"modified"} eq "imported") { + SSHAuthorizedKeys->write_keys($root_user{"homeDirectory"}); + } } } diff --git a/test/users_auto_test.rb b/test/users_auto_test.rb index 88bb7f4d4..fef92b8ce 100755 --- a/test/users_auto_test.rb +++ b/test/users_auto_test.rb @@ -17,7 +17,6 @@ end describe "#AutoYaST" do - context "Import" do before do allow(Yast::WFM).to receive(:Args).with(no_args).and_return([func,users]) @@ -44,5 +43,24 @@ end end end + + context "#Write" do + let(:func) { "Write" } + + before do + allow(Yast::WFM).to receive(:Args).with(no_args).and_return([func]) + allow(Yast::WFM).to receive(:Args).with(0).and_return(func) + end + + context "when root user is not defined" do + before do + Yast::Users.Import({}) + end + + it "returns true" do + expect(subject.main).to eq(true) + end + end + end end end