diff --git a/needles/gnome/apps/keyring/keyring_add_network_folder.png b/needles/gnome/apps/keyring/keyring_add_network_folder.png deleted file mode 100644 index b33147a5..00000000 Binary files a/needles/gnome/apps/keyring/keyring_add_network_folder.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_seahorse_details.json b/needles/gnome/apps/keyring/keyring_askpass_password-gnome.json similarity index 51% rename from needles/gnome/apps/keyring/keyring_seahorse_details.json rename to needles/gnome/apps/keyring/keyring_askpass_password-gnome.json index 842c1266..d4b1111d 100644 --- a/needles/gnome/apps/keyring/keyring_seahorse_details.json +++ b/needles/gnome/apps/keyring/keyring_askpass_password-gnome.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 384, - "ypos": 122, - "width": 130, + "xpos": 226, + "ypos": 271, + "width": 164, "height": 19, "type": "match" } ], "properties": [], "tags": [ - "keyring_seahorse_details" + "keyring_askpass_password" ] } \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_askpass_password-gnome.png b/needles/gnome/apps/keyring/keyring_askpass_password-gnome.png new file mode 100644 index 00000000..636024c4 Binary files /dev/null and b/needles/gnome/apps/keyring/keyring_askpass_password-gnome.png differ diff --git a/needles/gnome/apps/keyring/keyring_button_connect.json b/needles/gnome/apps/keyring/keyring_askpass_yesno-gnome.json similarity index 52% rename from needles/gnome/apps/keyring/keyring_button_connect.json rename to needles/gnome/apps/keyring/keyring_askpass_yesno-gnome.json index 6388fec9..487c328f 100644 --- a/needles/gnome/apps/keyring/keyring_button_connect.json +++ b/needles/gnome/apps/keyring/keyring_askpass_yesno-gnome.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 607, - "ypos": 734, - "width": 66, + "xpos": 543, + "ypos": 236, + "width": 170, "height": 21, "type": "match" } ], "properties": [], "tags": [ - "keyring_button_connect" + "keyring_askpass_yesno" ] } \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_askpass_yesno-gnome.png b/needles/gnome/apps/keyring/keyring_askpass_yesno-gnome.png new file mode 100644 index 00000000..0b66961e Binary files /dev/null and b/needles/gnome/apps/keyring/keyring_askpass_yesno-gnome.png differ diff --git a/needles/gnome/apps/keyring/keyring_button_connect-blue.png b/needles/gnome/apps/keyring/keyring_button_connect-blue.png deleted file mode 100644 index 227c204b..00000000 Binary files a/needles/gnome/apps/keyring/keyring_button_connect-blue.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_button_connect.png b/needles/gnome/apps/keyring/keyring_button_connect.png deleted file mode 100644 index 2253d211..00000000 Binary files a/needles/gnome/apps/keyring/keyring_button_connect.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_ftp_localhost.png b/needles/gnome/apps/keyring/keyring_ftp_localhost.png deleted file mode 100644 index 7f7dea58..00000000 Binary files a/needles/gnome/apps/keyring/keyring_ftp_localhost.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_initiate-keyring_test_file-gnome.json b/needles/gnome/apps/keyring/keyring_initiate-keyring_test_file-gnome.json deleted file mode 100644 index f72c19a7..00000000 --- a/needles/gnome/apps/keyring/keyring_initiate-keyring_test_file-gnome.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 253, - "ypos": 163, - "width": 87, - "height": 67, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_test_file" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_initiate-keyring_test_file-gnome.png b/needles/gnome/apps/keyring/keyring_initiate-keyring_test_file-gnome.png deleted file mode 100644 index a3b31a6e..00000000 Binary files a/needles/gnome/apps/keyring/keyring_initiate-keyring_test_file-gnome.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_keys_values.json b/needles/gnome/apps/keyring/keyring_keys_values.json deleted file mode 100644 index 5e201b3c..00000000 --- a/needles/gnome/apps/keyring/keyring_keys_values.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 521, - "ypos": 304, - "width": 195, - "height": 47, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_keys_values" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_keys_values.png b/needles/gnome/apps/keyring/keyring_keys_values.png deleted file mode 100644 index 4cb7a5b4..00000000 Binary files a/needles/gnome/apps/keyring/keyring_keys_values.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_location_line.json b/needles/gnome/apps/keyring/keyring_location_line.json deleted file mode 100644 index bdcae87b..00000000 --- a/needles/gnome/apps/keyring/keyring_location_line.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 217, - "ypos": 736, - "width": 82, - "height": 18, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_location_line" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_location_line.png b/needles/gnome/apps/keyring/keyring_location_line.png deleted file mode 100644 index 49c585d1..00000000 Binary files a/needles/gnome/apps/keyring/keyring_location_line.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_maps_unfold.png b/needles/gnome/apps/keyring/keyring_maps_unfold.png deleted file mode 100644 index 1da0c352..00000000 Binary files a/needles/gnome/apps/keyring/keyring_maps_unfold.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_open_location-20240408.json b/needles/gnome/apps/keyring/keyring_open_location-20240408.json deleted file mode 100644 index adcb6a5d..00000000 --- a/needles/gnome/apps/keyring/keyring_open_location-20240408.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "ypos": 106, - "height": 61, - "type": "match", - "width": 71, - "xpos": 572 - } - ], - "properties": [], - "tags": [ - "keyring_open_location" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_open_location-20240408.png b/needles/gnome/apps/keyring/keyring_open_location-20240408.png deleted file mode 100644 index 1b322573..00000000 Binary files a/needles/gnome/apps/keyring/keyring_open_location-20240408.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_open_location.json b/needles/gnome/apps/keyring/keyring_open_location.json deleted file mode 100644 index 2938704d..00000000 --- a/needles/gnome/apps/keyring/keyring_open_location.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 605, - "ypos": 106, - "width": 71, - "height": 61, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_open_location" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_open_location.png b/needles/gnome/apps/keyring/keyring_open_location.png deleted file mode 100644 index b68689a7..00000000 Binary files a/needles/gnome/apps/keyring/keyring_open_location.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_open_network.png b/needles/gnome/apps/keyring/keyring_open_network.png deleted file mode 100644 index 02f65e72..00000000 Binary files a/needles/gnome/apps/keyring/keyring_open_network.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_other_location.png b/needles/gnome/apps/keyring/keyring_other_location.png deleted file mode 100644 index 03ec3bc4..00000000 Binary files a/needles/gnome/apps/keyring/keyring_other_location.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_passwords_unfold.png b/needles/gnome/apps/keyring/keyring_passwords_unfold.png deleted file mode 100644 index a74f6598..00000000 Binary files a/needles/gnome/apps/keyring/keyring_passwords_unfold.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_remember_forever.png b/needles/gnome/apps/keyring/keyring_remember_forever.png deleted file mode 100644 index 46f04464..00000000 Binary files a/needles/gnome/apps/keyring/keyring_remember_forever.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_remember_password.json b/needles/gnome/apps/keyring/keyring_remember_password.json deleted file mode 100644 index 176b4ce7..00000000 --- a/needles/gnome/apps/keyring/keyring_remember_password.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 404, - "ypos": 468, - "width": 132, - "height": 15, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_remember_password" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_remember_password.png b/needles/gnome/apps/keyring/keyring_remember_password.png deleted file mode 100644 index ea90d2d5..00000000 Binary files a/needles/gnome/apps/keyring/keyring_remember_password.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_reveal_password.json b/needles/gnome/apps/keyring/keyring_reveal_password.json deleted file mode 100644 index 06ac36f9..00000000 --- a/needles/gnome/apps/keyring/keyring_reveal_password.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 689, - "ypos": 436, - "width": 21, - "height": 14, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_reveal_password" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_reveal_password.png b/needles/gnome/apps/keyring/keyring_reveal_password.png deleted file mode 100644 index 4d90142e..00000000 Binary files a/needles/gnome/apps/keyring/keyring_reveal_password.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_save_next.json b/needles/gnome/apps/keyring/keyring_save_next.json deleted file mode 100644 index ed337eb0..00000000 --- a/needles/gnome/apps/keyring/keyring_save_next.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "area": [ - { - "xpos": 668, - "ypos": 578, - "width": 100, - "height": 17, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_save_connect", - "keyring_save_next" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_save_next.png b/needles/gnome/apps/keyring/keyring_save_next.png deleted file mode 100644 index 21cd6bec..00000000 Binary files a/needles/gnome/apps/keyring/keyring_save_next.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_seahorse_details.png b/needles/gnome/apps/keyring/keyring_seahorse_details.png deleted file mode 100644 index f3653521..00000000 Binary files a/needles/gnome/apps/keyring/keyring_seahorse_details.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_seahorse_details_shown.json b/needles/gnome/apps/keyring/keyring_seahorse_details_shown.json index 64c63a6a..6f412dc9 100644 --- a/needles/gnome/apps/keyring/keyring_seahorse_details_shown.json +++ b/needles/gnome/apps/keyring/keyring_seahorse_details_shown.json @@ -1,10 +1,10 @@ { "area": [ { - "xpos": 648, - "ypos": 424, - "width": 65, - "height": 79, + "xpos": 442, + "ypos": 261, + "width": 126, + "height": 19, "type": "match" } ], diff --git a/needles/gnome/apps/keyring/keyring_seahorse_details_shown.png b/needles/gnome/apps/keyring/keyring_seahorse_details_shown.png index 3e54134c..588bda7b 100644 Binary files a/needles/gnome/apps/keyring/keyring_seahorse_details_shown.png and b/needles/gnome/apps/keyring/keyring_seahorse_details_shown.png differ diff --git a/needles/gnome/apps/keyring/keyring_seahorse_login_details.json b/needles/gnome/apps/keyring/keyring_seahorse_login_details.json new file mode 100644 index 00000000..81bfe9fd --- /dev/null +++ b/needles/gnome/apps/keyring/keyring_seahorse_login_details.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 338, + "ypos": 111, + "width": 169, + "height": 26, + "type": "match" + } + ], + "properties": [], + "tags": [ + "keyring_seahorse_login_details" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_seahorse_login_details.png b/needles/gnome/apps/keyring/keyring_seahorse_login_details.png new file mode 100644 index 00000000..d57f2c8e Binary files /dev/null and b/needles/gnome/apps/keyring/keyring_seahorse_login_details.png differ diff --git a/needles/gnome/apps/keyring/keyring_select_ftp.json b/needles/gnome/apps/keyring/keyring_select_ftp.json deleted file mode 100644 index d6887b13..00000000 --- a/needles/gnome/apps/keyring/keyring_select_ftp.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 189, - "ypos": 261, - "width": 27, - "height": 15, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_select_ftp" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_select_ftp.png b/needles/gnome/apps/keyring/keyring_select_ftp.png deleted file mode 100644 index e061428f..00000000 Binary files a/needles/gnome/apps/keyring/keyring_select_ftp.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_select_registered.json b/needles/gnome/apps/keyring/keyring_select_registered.json deleted file mode 100644 index 03625369..00000000 --- a/needles/gnome/apps/keyring/keyring_select_registered.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 508, - "ypos": 356, - "width": 76, - "height": 23, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_select_registered" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_select_registered.png b/needles/gnome/apps/keyring/keyring_select_registered.png deleted file mode 100644 index 74b5b300..00000000 Binary files a/needles/gnome/apps/keyring/keyring_select_registered.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_sftp_logged-gnome.json b/needles/gnome/apps/keyring/keyring_sftp_logged-gnome.json new file mode 100644 index 00000000..59f1806c --- /dev/null +++ b/needles/gnome/apps/keyring/keyring_sftp_logged-gnome.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 292, + "height": 37, + "xpos": 183, + "type": "match", + "width": 42 + } + ], + "properties": [], + "tags": [ + "keyring_sftp_logged" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_sftp_logged-gnome.png b/needles/gnome/apps/keyring/keyring_sftp_logged-gnome.png new file mode 100644 index 00000000..4d6c25b9 Binary files /dev/null and b/needles/gnome/apps/keyring/keyring_sftp_logged-gnome.png differ diff --git a/needles/gnome/apps/keyring/keyring_show_values.json b/needles/gnome/apps/keyring/keyring_show_values.json deleted file mode 100644 index f5e498b0..00000000 --- a/needles/gnome/apps/keyring/keyring_show_values.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 446, - "ypos": 236, - "width": 105, - "height": 22, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_show_values" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_show_values.png b/needles/gnome/apps/keyring/keyring_show_values.png deleted file mode 100644 index 794e3f0d..00000000 Binary files a/needles/gnome/apps/keyring/keyring_show_values.png and /dev/null differ diff --git a/needles/gnome/apps/keyring/keyring_test_file.json b/needles/gnome/apps/keyring/keyring_test_file.json deleted file mode 100644 index 58056ee5..00000000 --- a/needles/gnome/apps/keyring/keyring_test_file.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 286, - "ypos": 117, - "width": 77, - "height": 50, - "type": "match" - } - ], - "properties": [], - "tags": [ - "keyring_test_file" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/keyring/keyring_test_file.png b/needles/gnome/apps/keyring/keyring_test_file.png deleted file mode 100644 index f9334771..00000000 Binary files a/needles/gnome/apps/keyring/keyring_test_file.png and /dev/null differ diff --git a/needles/gnome/apps/nautilus/nautilus_autounlock_password.json b/needles/gnome/apps/nautilus/nautilus_autounlock_password.json new file mode 100644 index 00000000..0693b99b --- /dev/null +++ b/needles/gnome/apps/nautilus/nautilus_autounlock_password.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 382, + "ypos": 434, + "width": 136, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "nautilus_autounlock_password" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_autounlock_password.png b/needles/gnome/apps/nautilus/nautilus_autounlock_password.png new file mode 100644 index 00000000..adc23437 Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_autounlock_password.png differ diff --git a/needles/gnome/apps/keyring/keyring_open_network.json b/needles/gnome/apps/nautilus/nautilus_connection_established.json similarity index 50% rename from needles/gnome/apps/keyring/keyring_open_network.json rename to needles/gnome/apps/nautilus/nautilus_connection_established.json index 8eb70fc5..e498f91c 100644 --- a/needles/gnome/apps/keyring/keyring_open_network.json +++ b/needles/gnome/apps/nautilus/nautilus_connection_established.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 6, - "ypos": 188, - "width": 82, + "xpos": 361, + "ypos": 104, + "width": 141, "height": 21, "type": "match" } ], "properties": [], "tags": [ - "keyring_open_network" + "nautilus_connection_established" ] } \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_connection_established.png b/needles/gnome/apps/nautilus/nautilus_connection_established.png new file mode 100644 index 00000000..22a1d7d2 Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_connection_established.png differ diff --git a/needles/gnome/apps/keyring/keyring_maps_unfold.json b/needles/gnome/apps/nautilus/nautilus_enter_address-20240429.json similarity index 52% rename from needles/gnome/apps/keyring/keyring_maps_unfold.json rename to needles/gnome/apps/nautilus/nautilus_enter_address-20240429.json index da54b6b4..f1f3dbac 100644 --- a/needles/gnome/apps/keyring/keyring_maps_unfold.json +++ b/needles/gnome/apps/nautilus/nautilus_enter_address-20240429.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 39, - "ypos": 307, - "width": 40, + "xpos": 260, + "ypos": 608, + "width": 138, "height": 20, "type": "match" } ], "properties": [], "tags": [ - "keyring_maps_unfold" + "nautilus_enter_address" ] } \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_enter_address-20240429.png b/needles/gnome/apps/nautilus/nautilus_enter_address-20240429.png new file mode 100644 index 00000000..80ff3422 Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_enter_address-20240429.png differ diff --git a/needles/gnome/apps/keyring/keyring_ftp_localhost.json b/needles/gnome/apps/nautilus/nautilus_enter_address.json similarity index 52% rename from needles/gnome/apps/keyring/keyring_ftp_localhost.json rename to needles/gnome/apps/nautilus/nautilus_enter_address.json index 69dfd319..f66df947 100644 --- a/needles/gnome/apps/keyring/keyring_ftp_localhost.json +++ b/needles/gnome/apps/nautilus/nautilus_enter_address.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 60, - "ypos": 331, - "width": 131, + "xpos": 258, + "ypos": 610, + "width": 140, "height": 19, "type": "match" } ], "properties": [], "tags": [ - "keyring_ftp_localhost" + "nautilus_enter_address" ] } \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_enter_address.png b/needles/gnome/apps/nautilus/nautilus_enter_address.png new file mode 100644 index 00000000..1794e143 Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_enter_address.png differ diff --git a/needles/gnome/apps/nautilus/nautilus_other_locations.json b/needles/gnome/apps/nautilus/nautilus_other_locations.json new file mode 100644 index 00000000..fdf8b540 --- /dev/null +++ b/needles/gnome/apps/nautilus/nautilus_other_locations.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 109, + "ypos": 559, + "width": 109, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "nautilus_other_locations" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_other_locations.png b/needles/gnome/apps/nautilus/nautilus_other_locations.png new file mode 100644 index 00000000..9cfd6f93 Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_other_locations.png differ diff --git a/needles/gnome/apps/keyring/keyring_add_network_folder.json b/needles/gnome/apps/nautilus/nautilus_remember_password.json similarity index 51% rename from needles/gnome/apps/keyring/keyring_add_network_folder.json rename to needles/gnome/apps/nautilus/nautilus_remember_password.json index 53b40cde..fb9a9001 100644 --- a/needles/gnome/apps/keyring/keyring_add_network_folder.json +++ b/needles/gnome/apps/nautilus/nautilus_remember_password.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 746, - "ypos": 41, - "width": 126, + "xpos": 381, + "ypos": 434, + "width": 142, "height": 21, "type": "match" } ], "properties": [], "tags": [ - "keyring_add_network_folder" + "nautilus_remember_password" ] } \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_remember_password.png b/needles/gnome/apps/nautilus/nautilus_remember_password.png new file mode 100644 index 00000000..1995eeda Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_remember_password.png differ diff --git a/needles/gnome/apps/nautilus/nautilus_unlock-20240514.json b/needles/gnome/apps/nautilus/nautilus_unlock-20240514.json new file mode 100644 index 00000000..df320f5f --- /dev/null +++ b/needles/gnome/apps/nautilus/nautilus_unlock-20240514.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "height": 17, + "ypos": 495, + "width": 52, + "type": "match", + "xpos": 587 + } + ], + "properties": [], + "tags": [ + "nautilus_unlock" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_unlock-20240514.png b/needles/gnome/apps/nautilus/nautilus_unlock-20240514.png new file mode 100644 index 00000000..25e74534 Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_unlock-20240514.png differ diff --git a/needles/gnome/apps/keyring/keyring_button_connect-blue.json b/needles/gnome/apps/nautilus/nautilus_unlock.json similarity index 52% rename from needles/gnome/apps/keyring/keyring_button_connect-blue.json rename to needles/gnome/apps/nautilus/nautilus_unlock.json index 82bc499d..dbd1766a 100644 --- a/needles/gnome/apps/keyring/keyring_button_connect-blue.json +++ b/needles/gnome/apps/nautilus/nautilus_unlock.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 599, - "ypos": 201, - "width": 66, + "xpos": 587, + "ypos": 495, + "width": 52, "height": 17, "type": "match" } ], "properties": [], "tags": [ - "keyring_button_connect" + "nautilus_unlock" ] } \ No newline at end of file diff --git a/needles/gnome/apps/nautilus/nautilus_unlock.png b/needles/gnome/apps/nautilus/nautilus_unlock.png new file mode 100644 index 00000000..fac6b9aa Binary files /dev/null and b/needles/gnome/apps/nautilus/nautilus_unlock.png differ diff --git a/needles/gnome/apps/keyring/keyring_other_location.json b/needles/kde/apps/keyring/keyring_askpass_confirm.json similarity index 52% rename from needles/gnome/apps/keyring/keyring_other_location.json rename to needles/kde/apps/keyring/keyring_askpass_confirm.json index f55ab04d..33fdbe4f 100644 --- a/needles/gnome/apps/keyring/keyring_other_location.json +++ b/needles/kde/apps/keyring/keyring_askpass_confirm.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 40, - "ypos": 498, - "width": 112, + "xpos": 554, + "ypos": 444, + "width": 49, "height": 20, "type": "match" } ], "properties": [], "tags": [ - "keyring_other_location" + "keyring_askpass_confirm" ] } \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_askpass_confirm.png b/needles/kde/apps/keyring/keyring_askpass_confirm.png new file mode 100644 index 00000000..3a8c1332 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_askpass_confirm.png differ diff --git a/needles/kde/apps/keyring/keyring_askpass_password.json b/needles/kde/apps/keyring/keyring_askpass_password.json new file mode 100644 index 00000000..43e1480d --- /dev/null +++ b/needles/kde/apps/keyring/keyring_askpass_password.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 379, + "ypos": 322, + "width": 167, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "keyring_askpass_password" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_askpass_password.png b/needles/kde/apps/keyring/keyring_askpass_password.png new file mode 100644 index 00000000..12784f65 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_askpass_password.png differ diff --git a/needles/kde/kde_button_next.json b/needles/kde/apps/keyring/keyring_askpass_remember.json similarity index 51% rename from needles/kde/kde_button_next.json rename to needles/kde/apps/keyring/keyring_askpass_remember.json index 918f04f9..32334db8 100644 --- a/needles/kde/kde_button_next.json +++ b/needles/kde/apps/keyring/keyring_askpass_remember.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 707, - "ypos": 577, - "width": 46, + "xpos": 381, + "ypos": 414, + "width": 92, "height": 16, "type": "match" } ], "properties": [], "tags": [ - "kde_button_next" + "keyring_askpass_remember" ] } \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_askpass_remember.png b/needles/kde/apps/keyring/keyring_askpass_remember.png new file mode 100644 index 00000000..0b8100e4 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_askpass_remember.png differ diff --git a/needles/kde/apps/keyring/keyring_askpass_yesno-20240510.json b/needles/kde/apps/keyring/keyring_askpass_yesno-20240510.json new file mode 100644 index 00000000..ba323883 --- /dev/null +++ b/needles/kde/apps/keyring/keyring_askpass_yesno-20240510.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 265, + "width": 118, + "height": 19, + "type": "match", + "xpos": 380 + } + ], + "properties": [], + "tags": [ + "keyring_askpass_yesno" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_askpass_yesno-20240510.png b/needles/kde/apps/keyring/keyring_askpass_yesno-20240510.png new file mode 100644 index 00000000..6d008596 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_askpass_yesno-20240510.png differ diff --git a/needles/kde/apps/keyring/keyring_askpass_yesno.json b/needles/kde/apps/keyring/keyring_askpass_yesno.json new file mode 100644 index 00000000..5b3fab4d --- /dev/null +++ b/needles/kde/apps/keyring/keyring_askpass_yesno.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "type": "match", + "xpos": 453, + "height": 19, + "ypos": 347, + "width": 138, + "match": 90 + } + ], + "properties": [], + "tags": [ + "keyring_askpass_yesno" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_askpass_yesno.png b/needles/kde/apps/keyring/keyring_askpass_yesno.png new file mode 100644 index 00000000..25f19cc7 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_askpass_yesno.png differ diff --git a/needles/kde/kde_button_ok.json b/needles/kde/apps/keyring/keyring_sftp_logged.json similarity index 52% rename from needles/kde/kde_button_ok.json rename to needles/kde/apps/keyring/keyring_sftp_logged.json index 05bf7983..638737f9 100644 --- a/needles/kde/kde_button_ok.json +++ b/needles/kde/apps/keyring/keyring_sftp_logged.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 563, - "ypos": 502, + "xpos": 59, + "ypos": 382, "width": 42, - "height": 16, + "height": 37, "type": "match" } ], "properties": [], "tags": [ - "kde_button_ok" + "keyring_sftp_logged" ] } \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_sftp_logged.png b/needles/kde/apps/keyring/keyring_sftp_logged.png new file mode 100644 index 00000000..ebc67b88 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_sftp_logged.png differ diff --git a/needles/gnome/apps/keyring/keyring_remember_forever.json b/needles/kde/apps/keyring/keyring_wallet_password.json similarity index 51% rename from needles/gnome/apps/keyring/keyring_remember_forever.json rename to needles/kde/apps/keyring/keyring_wallet_password.json index 14035d6d..ae61a077 100644 --- a/needles/gnome/apps/keyring/keyring_remember_forever.json +++ b/needles/kde/apps/keyring/keyring_wallet_password.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 428, - "ypos": 565, - "width": 125, + "xpos": 450, + "ypos": 284, + "width": 103, "height": 17, "type": "match" } ], "properties": [], "tags": [ - "keyring_remember_forever" + "keyring_wallet_password" ] } \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_wallet_password.png b/needles/kde/apps/keyring/keyring_wallet_password.png new file mode 100644 index 00000000..966fec19 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_wallet_password.png differ diff --git a/needles/kde/apps/keyring/keyring_wallet_password_details.json b/needles/kde/apps/keyring/keyring_wallet_password_details.json new file mode 100644 index 00000000..5c0a67bc --- /dev/null +++ b/needles/kde/apps/keyring/keyring_wallet_password_details.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 62, + "ypos": 308, + "width": 94, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "keyring_wallet_password_details" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_wallet_password_details.png b/needles/kde/apps/keyring/keyring_wallet_password_details.png new file mode 100644 index 00000000..4c273090 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_wallet_password_details.png differ diff --git a/needles/kde/apps/keyring/keyring_wallet_password_reveal.json b/needles/kde/apps/keyring/keyring_wallet_password_reveal.json new file mode 100644 index 00000000..bfd41f4b --- /dev/null +++ b/needles/kde/apps/keyring/keyring_wallet_password_reveal.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 456, + "ypos": 245, + "width": 91, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "keyring_wallet_password_reveal" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_wallet_password_reveal.png b/needles/kde/apps/keyring/keyring_wallet_password_reveal.png new file mode 100644 index 00000000..9588bf9d Binary files /dev/null and b/needles/kde/apps/keyring/keyring_wallet_password_reveal.png differ diff --git a/needles/kde/apps/keyring/keyring_wallet_password_stored.json b/needles/kde/apps/keyring/keyring_wallet_password_stored.json new file mode 100644 index 00000000..d3ddfb1f --- /dev/null +++ b/needles/kde/apps/keyring/keyring_wallet_password_stored.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 26, + "ypos": 284, + "width": 86, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "keyring_wallet_password_stored" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_wallet_password_stored.png b/needles/kde/apps/keyring/keyring_wallet_password_stored.png new file mode 100644 index 00000000..3aa83866 Binary files /dev/null and b/needles/kde/apps/keyring/keyring_wallet_password_stored.png differ diff --git a/needles/gnome/apps/keyring/keyring_passwords_unfold.json b/needles/kde/apps/keyring/keyring_wallet_passwords_unfold.json similarity index 58% rename from needles/gnome/apps/keyring/keyring_passwords_unfold.json rename to needles/kde/apps/keyring/keyring_wallet_passwords_unfold.json index 6fbba1e5..f2d10a73 100644 --- a/needles/gnome/apps/keyring/keyring_passwords_unfold.json +++ b/needles/kde/apps/keyring/keyring_wallet_passwords_unfold.json @@ -1,15 +1,15 @@ { "area": [ { - "xpos": 43, + "xpos": 23, "ypos": 258, - "width": 69, + "width": 117, "height": 18, "type": "match" } ], "properties": [], "tags": [ - "keyring_passwords_unfold" + "keyring_wallet_passwords_unfold" ] } \ No newline at end of file diff --git a/needles/kde/apps/keyring/keyring_wallet_passwords_unfold.png b/needles/kde/apps/keyring/keyring_wallet_passwords_unfold.png new file mode 100644 index 00000000..fc62b41e Binary files /dev/null and b/needles/kde/apps/keyring/keyring_wallet_passwords_unfold.png differ diff --git a/needles/kde/kde_button_next.png b/needles/kde/kde_button_next.png deleted file mode 100644 index 37643237..00000000 Binary files a/needles/kde/kde_button_next.png and /dev/null differ diff --git a/needles/kde/kde_button_ok.png b/needles/kde/kde_button_ok.png deleted file mode 100644 index e4416989..00000000 Binary files a/needles/kde/kde_button_ok.png and /dev/null differ diff --git a/tests/applications/keyring/aaa_setup.pm b/tests/applications/keyring/aaa_setup.pm index 68690252..85d2384b 100644 --- a/tests/applications/keyring/aaa_setup.pm +++ b/tests/applications/keyring/aaa_setup.pm @@ -3,87 +3,49 @@ use strict; use testapi; use utils; -# This script will install the necessary things to test the Desktop Keyring on Gnome -# and KDE, i.e.: -# - we will install an FTP server. -# - we will set it up so that logins can be made. -# - we will log into the FTP server and make the system to remember the credentials. -# - we will restart the machine and check that the credentials are still remembered. -# - we will open SeaHorse or KDE Wallet to check that the credentials are stored. +# This script will do the following: +# - install Seahorse when on Gnome +# - enable the sshd.service +# - create an SSH key for the installed user (~ test) +# - set up the SSH key password for that key +# - it will set a milestone sub run { my $self = shift; my $desktop = get_var("DESKTOP"); - # Switch to console + my $user = get_var("USER") || "test"; + + # Switch to console to perform several setting tasks. $self->root_console(tty => 3); - # We install the necessary packages. - assert_script_run("dnf -y install pure-ftpd"); + # Install Seahorse on Gnome. + # On KDE, similar application is already installed in the system. if ($desktop eq "gnome") { assert_script_run("dnf -y install seahorse"); } - # Download the configuration file for FTP and unpack it. - download_testdata("configuration"); - assert_script_run("mv -f /home/test/configuration/pure-ftpd.conf /etc/pure-ftpd/"); - assert_script_run("chown root:root /etc/pure-ftpd/pure-ftpd.conf"); - assert_script_run("chmod 644 /etc/pure-ftpd/pure-ftpd.conf"); + # Enable and start sshd.service and check that is is running. + assert_script_run("systemctl enable sshd.service --now"); + assert_script_run("systemctl status sshd.service --no-pager"); - # Set up the system. - # Add a group for the FTP and the user that will own the FTP stuff - assert_script_run("groupadd ftpusers"); - assert_script_run("useradd -g ftpusers -d /dev/null -s /sbin/nologin ftpuser"); - # Create a directory to hold the FTP content, set rights and create the content. - assert_script_run("mkdir /ftpdata"); - assert_script_run("chown -R ftpuser:ftpusers /ftpdata"); - assert_script_run("echo 'This is a test file' > /ftpdata/testfile.txt"); - # Enable the FTP service in the firewall. - assert_script_run("firewall-cmd --add-service=ftp --permanent"); - assert_script_run("firewall-cmd --reload"); - - # Set up the FTP server. - # Create a virtual FTP user called tucnak. - enter_cmd("pure-pw useradd tucnak -u ftpuser -g ftpusers -d /ftpdata"); - sleep(2); - # Set its password, wait between attempts so that the system has time - # to react to the input. - type_string("weakpassword\n"); # To pass the password entry. - sleep(2); - type_string("weakpassword\n"); - sleep(2); - # Create PureFTP database to the settings. - assert_script_run("pure-pw mkdb"); - # Check that the settings are done correctly - assert_script_run("pure-pw list | egrep 'tucnak\\s+/ftpdata'"); - assert_script_run("pure-pw show tucnak"); - - # Enable and start the server. - assert_script_run("systemctl enable pure-ftpd.service --now"); - - # Check that it is running (the assertion will fail if not) - assert_script_run("systemctl status pure-ftpd.service --no-pager"); - - # Return to desktop - desktop_vt(); - - # Start the file explorer application based on what system we are - # running, Gnome or KDE. - my $app = "nautilus"; - my $key = "up"; - if (get_var("DESKTOP") eq "kde") { - $app = "dolphin"; - $key = "pgup"; - } - menu_launch_type($app); - send_key("super-$key"); - wait_still_screen(3); - # Check that it has started - if (get_var("DESKTOP") eq "kde") { - assert_screen("dolphin_runs"); - } - else { - assert_screen("apps_run_files"); - } + # Create the SSH keys with password for the regular user. + # Switch to that user's account. + enter_cmd("su -l $user"); + sleep 2; + # Create the SSH key in the default location with + # the default cipher and also set up the password + # for that key. + enter_cmd("ssh-keygen"); + sleep 2; + send_key("ret"); + sleep 2; + type_very_safely("sshpassword\n"); + sleep 2; + type_very_safely("sshpassword\n"); + sleep 2; + # Logout the regular user and return + # back to the root console. + enter_cmd("exit"); } sub test_flags { diff --git a/tests/applications/keyring/keyring_initiate.pm b/tests/applications/keyring/keyring_initiate.pm deleted file mode 100644 index 833982d4..00000000 --- a/tests/applications/keyring/keyring_initiate.pm +++ /dev/null @@ -1,89 +0,0 @@ -use base "installedtest"; -use strict; -use testapi; -use utils; - -# This script will -# - use the file application to log onto the localhost's -# ftp server while we will ask the system to remember the login credentials. -# - check that the credentials have been stored in the system -# - reboot the computer and check that the system still remembers them -# and that we can do the FTP again without credentials. - - -sub run { - my $self = shift; - my $desktop = get_var("DESKTOP"); - if ($desktop eq "kde") { - # The Dolphin application is already started, so we begin - # with clicking on Network to open the network folders. - # We want to add a new connection and go through the - # password addition process. - assert_and_click("keyring_open_network"); - assert_and_click("keyring_add_network_folder"); - assert_and_click("keyring_select_ftp"); - assert_and_click("kde_button_next"); - # We will set up the connection. - type_very_safely("FTPConnect"); - send_key("tab"); - type_very_safely("tucnak"); - send_key("tab"); - type_very_safely("127.0.0.1"); - assert_and_click("keyring_save_connect"); - # Type password to connect - type_very_safely("weakpassword"); - # Reveal it so that we can check it is correctly - # written, when there are failures because of that - # (I have seen a couple of mistypes during development). - assert_and_click("keyring_reveal_password"); - assert_and_click("keyring_remember_password"); - assert_and_click("kde_button_ok"); - # We have added the network location and an icon - # has been created to access it. Click on that icon. - assert_and_click("keyring_open_location"); - # While double click would sometimes fail here, we - # want to confirm opening the icon using the - # Enter key. - send_key("ret"); - # Check that we have opened the location and that - # we can see the FTP content. - assert_screen("keyring_test_file"); - # Close the application. - send_key("alt-f4"); - } - else { - # The Nautilus application is already started, so we begin - # with clicking on Other locations. - # We want to add a new connection and go through the - # password addition process. - assert_and_click("keyring_other_location"); - assert_and_click("keyring_location_line"); - type_very_safely("ftp://127.0.0.1"); - assert_and_click("keyring_button_connect"); - # We will set up the connection. - assert_and_click("keyring_select_registered"); - send_key("tab"); - type_very_safely("tucnak"); - send_key("tab"); - type_very_safely("weakpassword"); - # Reveal it so that we can check it is correctly - # written, when there are failures because of that - # (I have seen a couple of mistypes during development). - assert_and_click("keyring_remember_forever"); - assert_and_click("keyring_button_connect"); - # Check that we have opened the location and that - # we can see the FTP content. - assert_screen("keyring_test_file"); - # Close the application. - send_key("alt-f4"); - - } -} - -sub test_flags { - return {fatal => 1, milestone => 1}; -} - -1; - -# vim: set sw=4 et: diff --git a/tests/applications/keyring/keyring_kontrol.pm b/tests/applications/keyring/keyring_kontrol.pm deleted file mode 100644 index c173fc77..00000000 --- a/tests/applications/keyring/keyring_kontrol.pm +++ /dev/null @@ -1,54 +0,0 @@ -use base "installedtest"; -use strict; -use testapi; -use utils; - -# This script will check that the password has been added -# to the system keyring. We will start a wallet application -# and check that the password is listed in that application. - - -sub run { - my $self = shift; - my $desktop = get_var("DESKTOP"); - if ($desktop eq "kde") { - # Start the KDE wallet application and maximize it. - menu_launch_type("kwalletmanager"); - assert_screen("kwalletmanager_runs"); - send_key("super-pgup"); - - # Navigate to the stored entry and check that - # the credentials are stored there. - assert_and_dclick("keyring_passwords_unfold"); - assert_and_dclick("keyring_maps_unfold"); - assert_and_click("keyring_ftp_localhost"); - assert_and_click("keyring_show_values"); - assert_screen("keyring_keys_values"); - } - else { - # Start the Seahorse application and maximize it. - menu_launch_type("seahorse"); - assert_screen("apps_run_seahorse"); - send_key("super-up"); - - # Navigate to the stored entry and check - # that the credentials are stored there. - assert_and_click("keyring_seahorse_login"); - assert_and_dclick("keyring_seahorse_details"); - assert_screen("keyring_seahorse_details_shown"); - assert_and_click("keyring_seahorse_show_password"); - assert_screen("keyring_seahorse_password_shown"); - } - - # Reboot the machine. - $self->root_console(tty => 3); - enter_cmd("reboot"); -} - -sub test_flags { - return {fatal => 1, milestone => 1}; -} - -1; - -# vim: set sw=4 et: diff --git a/tests/applications/keyring/keyring_password.pm b/tests/applications/keyring/keyring_password.pm new file mode 100644 index 00000000..15a9769f --- /dev/null +++ b/tests/applications/keyring/keyring_password.pm @@ -0,0 +1,167 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will do the following: +# - it will establish a connection to the system via sftp +# - it will ask for password to the system and store that password +# - it will check that the password was stored in the keyring +# - it will reboot the system +# - it will re-establish the connection without asking for the password + +my $user = get_var("USER_LOGIN", "test"); +my $pass = get_var("USER_PASSWORD", "weakpassword"); +my $desktop = get_var("DESKTOP", "gnome"); + +# On KDE, it is possible that Konsole interacts with keyring when +# certain variables are set in the system. This subroutine sets up +# those variables. +sub export_kde_vars { + enter_cmd('export SSH_ASKPASS=/usr/bin/ksshaskpass'); + sleep 2; + enter_cmd('export SSH_ASKPASS_REQUIRE=prefer'); + sleep 2; +} + +# This will handle the connection to the localhost. The process is different +# for KDE and Gnome, as currently Gnome does not save passwords to keyring +# from terminal and the KDE has a bug KNetAttach that prevents Dolphin from +# establishing the connection like Nautilus does. +sub connect_localhost { + my $type = shift; + # For Gnome, we will use Nautilus to establish an SFTP + # connection to the localhost. + if (get_var("DESKTOP") eq "gnome") { + # Start Nautilus. + menu_launch_type("nautilus"); + assert_screen("apps_run_files"); + # Add a new network connection. + assert_and_click("nautilus_other_locations"); + assert_and_click("nautilus_enter_address"); + my $connection = "ssh://$user" . '@localhost'; + type_very_safely("$connection\n"); + # When we connect for the first time, a password + # dialogue should appear in which we need to type + # in the password. We will also try to remember the + # password and confirm the connection. + if ($type ne "reconnect") { + wait_still_screen(3); + type_very_safely($pass); + assert_and_click("nautilus_remember_password"); + assert_and_click("nautilus_unlock"); + } + # When the connection has been established, + # a new connection icon will appear. + assert_screen("nautilus_connection_established"); + } + else { + # On KDE, Dolphin has a bug that prevents the application + # from connecting easily (as in Gnome). Manually, this is + # not a big deal, as one could react accordingly, but with + # automation, this approach is basically useless. + # Therefore, we will use a different approach - we will enable + # CLI keyring integration and perform an SFTP connection + # in Konsole. + menu_launch_type("konsole"); + assert_screen("konsole_runs"); + # Export the environmental variables, this is needed for the process + # to work correctly. + export_kde_vars(); + # Connect the sftp. + my $command = "sftp $user" . '@localhost'; + enter_cmd($command); + # If performed for the first time, also deal with the + # password storing which is a little painful on KDE. + if ($type ne "reconnect") { + # First, we check that the yes no dialogue is present + # and type "yes" into it. + assert_screen("keyring_askpass_yesno"); + type_very_safely("yes\n"); + # Then similarly to Gnome, the password dialogue will appear + # and we type in the password. Also, we click on Remember + # and confirm with the OK button. + assert_screen("keyring_askpass_password"); + type_very_safely("$pass"); + assert_and_click("keyring_askpass_remember"); + assert_and_click("keyring_askpass_confirm"); + } + # Check that we have logged in and exit the application. + assert_and_click("keyring_sftp_logged"); + type_very_safely("bye\n"); + } +} + +sub check_stored { + # This subroutine will run the keyring application on either + # desktop and check that the password has been stored there. + # On KDE, we will use the KWalletManager. + if (get_var("DESKTOP") eq "kde") { + menu_launch_type("kwalletmanager"); + assert_screen("kwalletmanager_runs"); + send_key("super-pgup"); + # Navigate to the stored entry and check + # that the credentials are stored there. + assert_and_dclick("keyring_wallet_passwords_unfold"); + assert_and_dclick("keyring_wallet_password_stored"); + assert_and_click("keyring_wallet_password_details"); + assert_and_click("keyring_wallet_password_reveal"); + assert_screen("keyring_wallet_password"); + } + else { + # Start the Seahorse application and maximize it. + menu_launch_type("seahorse"); + assert_screen("apps_run_seahorse"); + send_key("super-up"); + + # Navigate to the stored entry and check + # that the credentials are stored there. + assert_and_click("keyring_seahorse_login"); + assert_and_dclick("keyring_seahorse_login_details"); + assert_screen("keyring_seahorse_details_shown"); + assert_and_click("keyring_seahorse_show_password"); + assert_screen("keyring_seahorse_password_shown"); + } +} + +sub run { + my $self = shift; + + # We are still at the root console, but for the following steps, + # there is nothing we should be doing there, so we switch back + # to the graphical desktop. + desktop_vt(); + + # Lets connect to localhost via SSH. This should result in + # asking for a password and storing the credentials for later use. + # The following routine uses different approaches on different + # desktops. + connect_localhost("connect"); + # Check that the password has been stored. + check_stored(); + + # Reboot the machine, log onto the session again. + $self->root_console(tty => 3); + enter_cmd("reboot"); + + # Boot to login screen and type in the password. + boot_to_login_screen(); + # On Gnome, press Enter to open the password field. + send_key("ret") if ($desktop eq "gnome"); + type_very_safely("$pass\n"); + wait_still_screen(3); + # Fix the Activity mode. No effect on KDE. + send_key("esc"); + + # Repeat the connection procedure, but skip the password + # handling process as this will be done by the keyring. + connect_localhost("reconnect"); +} + +sub test_flags { + return {fatal => 0, always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/keyring/keyring_passwordless.pm b/tests/applications/keyring/keyring_passwordless.pm new file mode 100644 index 00000000..97a02c35 --- /dev/null +++ b/tests/applications/keyring/keyring_passwordless.pm @@ -0,0 +1,132 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will do the following: +# - set up the system for paswordless connection using +# the SSH authorized keys. +# - open the ssh key and establish the connection +# - store that password in the keyring +# - reboot the system +# - re-establish the connection, this time without the need to open the password + +my $desktop = get_var("DESKTOP"); +my $user = get_var("USER_LOGIN", "test"); +my $pass = get_var("USER_PASSWORD", "weakpassword"); + +sub export_kde_vars { + # On KDE, it is possible to update and reuse the keyring + # on Konsole if correct environmental variables are set. + # Set them now. + enter_cmd('export SSH_ASKPASS=/usr/bin/ksshaskpass'); + sleep 2; + enter_cmd('export SSH_ASKPASS_REQUIRE=prefer'); + sleep 2; +} + +sub connect_localhost { + my $type = shift; + + # Start the terminal application. On KDE also export the variables. + if (get_var("DESKTOP") eq "gnome") { + menu_launch_type("terminal"); + assert_screen("apps_run_terminal"); + } + else { + menu_launch_type("konsole"); + assert_screen("konsole_runs"); + export_kde_vars(); + } + + # Establish the SFTP connection to the localhost. + # A dialogue should appear to collect credentials to open + # the SSH key. + my $command = "sftp $user" . '@localhost'; + enter_cmd($command); + sleep 2; + + # When connecting for the first time, we will remember + # the key password and store it in the keyring. + if ($type ne "reconnect") { + if ($desktop eq "gnome") { + type_very_safely("yes\n"); + wait_still_screen(2); + type_very_safely("sshpassword"); + assert_and_click("nautilus_autounlock_password"); + assert_and_click("nautilus_unlock"); + } + else { + type_very_safely("yes\n"); + wait_still_screen(2); + type_very_safely("sshpassword"); + assert_and_click("keyring_askpass_remember"); + assert_and_click("keyring_askpass_confirm"); + } + } + + # The connection should have been established if everything has worked + # so far. + assert_screen("keyring_sftp_logged"); + # Finish the connection. + enter_cmd("bye"); + # Exit the terminal app. + enter_cmd("exit"); +} + +sub run { + my $self = shift; + + # We are still at the root console and for the following steps, + # we will need to perform more set up steps. + + # We install the necessary packages. + if ($desktop eq "gnome") { + assert_script_run("dnf -y install seahorse"); + } + + # Set up the SSH daemon + # Create a drop-in configuration file. + enter_cmd("touch /etc/ssh/ssh_config.d/30-passwordless.conf"); + enter_cmd('echo "Host *" >> /etc/ssh/ssh_config.d/30-passwordless.conf'); + enter_cmd('echo " PasswordAuthentication no" >> /etc/ssh/ssh_config.d/30-passwordless.conf'); + + # Restart the SSHd. + assert_script_run("systemctl restart sshd.service"); + + # Check that it is running (the assertion will fail if not) + assert_script_run("systemctl status sshd.service --no-pager"); + + # Authorize the SSH key. + enter_cmd("su -l $user"); + enter_cmd('echo $(cat ~/.ssh/id_ed25519.pub) > ~/.ssh/authorized_keys'); + enter_cmd("exit"); + + # Return to desktop + desktop_vt(); + + # Use SSH to connect to the localhost. + connect_localhost("connect"); + + # Reboot the machine. + $self->root_console(tty => 3); + enter_cmd("reboot"); + # Log in. + boot_to_login_screen(); + send_key("ret") if ($desktop eq "gnome"); + type_very_safely("$pass\n"); + wait_still_screen(3); + send_key("esc"); + + # Reconnect without using password. We still should be + # able to log in. + connect_localhost("reconnect"); +} + +sub test_flags { + return {fatal => 0, always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/keyring/keyring_reuse.pm b/tests/applications/keyring/keyring_reuse.pm deleted file mode 100644 index 26983139..00000000 --- a/tests/applications/keyring/keyring_reuse.pm +++ /dev/null @@ -1,59 +0,0 @@ -use base "installedtest"; -use strict; -use testapi; -use utils; - -# This script will open the File application and attempt -# to reconnect to the FTP server, this time without -# having to put credentials into the process. - - -sub run { - my $self = shift; - my $pw = get_var("USER_PASSWORD") // "weakpassword"; - my $desktop = get_var("DESKTOP"); - # Check that the machine has been rebooted - # and log in. - boot_to_login_screen(); - send_key("ret") if (get_var("DESKTOP") eq "gnome"); - type_very_safely("$pw\n"); - wait_still_screen(5); - - if ($desktop eq "kde") { - # Start the file exploring application - menu_launch_type("dolphin"); - send_key("super-pgup"); - - # Open the network location and check - # that the FTP content is accessible. - assert_and_click("keyring_open_network"); - assert_and_click("keyring_open_location"); - send_key("ret"); - assert_screen("keyring_test_file"); - } - else { - # Start the file exploring application - send_key("esc"); - menu_launch_type("nautilus"); - send_key("super-up"); - - # Open the network location and check - # that the FTP content is accessible. - assert_and_click("keyring_other_location"); - assert_and_click("keyring_location_line"); - type_very_safely("ftp://127.0.0.1"); - assert_and_click("keyring_button_connect"); - # Check that we have opened the location and that - # we can see the FTP content. - assert_screen("keyring_test_file"); - - } -} - -sub test_flags { - return {fatal => 1, milestone => 1}; -} - -1; - -# vim: set sw=4 et: