EmuDeck icon indicating copy to clipboard operation
EmuDeck copied to clipboard

[Bug Report] DeckyControls fails to install if password contains 1 or more ' apostrophe.

Open TutorialsOnDeck opened this issue 1 year ago • 1 comments

Prerequisite Steps

  • [X] I have searched existing issues
  • [X] This issue is not a duplicate of an existing one
  • [X] I have checked the EmuDeck Wiki
  • [X] I have read the Troubleshooting Page on the EmuDeck Wiki

What distro are you running?

SteamOS branch main kernel 6.1.52-valve2-1-neptune-61 BTRFS converted home

Which SteamOS Branch are you using?

Main (Alpha/Live Testing Branch, not the same thing as Stable)

What happened?

First issue report ever on github, be kind.

Issue 1: DeckyControls fails to install if sudo password contains 1 or more ' apostrophe. Issue 2: fails to install in general but ill make another bug report for that.

Tested using a single apostrophe as the password (example: ') Tested using multiple apostrophes as the password encapsulating a word (example: 'password')

I am aware apostrophe is used for value encapsulation in linux scripts which is part of the issue, however, other scripts, even ones in emudeck, handled passwords containing 1 or more apostrophe with no issue.

It is still possible for someone to use an apostrophe as part of their sudo password, as the apostrophe key is adjacent to the enter key on standard QWERTY keyboards, making it very quick to use for password entry (example: press apostrophe, press enter).

Reproduction:

Open terminal enter command "passwd" change password to use a single apostrophe ( ' ). Open emudeck appimage Select 'DeckyControl' for installation enter sudo password which now contains the apostrophe click Install DeckyControls Observe error

Relevant log output

# Test 1: testing a single apostrophe as the sudo password. the \ key was not part of the original password.
[10/24/2023] passwd -S $(whoami) | awk -F " " "{print $2}" & exit
[10/24/2023] echo "'\''" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[10/24/2023] stdout: Error: Command failed: . ~/.config/EmuDeck/backend/functions/all.sh && echo "'\''" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[sudo] password for deck: Sorry, try again.
[sudo] password for deck: 
sudo: no password was provided
sudo: 1 incorrect password attempt

# Test 2: re-testing a single apostrophe as the sudo password. the \ key was not part of the original password.
[10/24/2023] echo "'\''" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[10/24/2023] stdout: Error: Command failed: . ~/.config/EmuDeck/backend/functions/all.sh && echo "'\''" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[sudo] password for deck: Sorry, try again.
[sudo] password for deck: 
sudo: no password was provided
sudo: 1 incorrect password attempt

# Test 3: testing a known incorrect sudo password, to see if error changes (the k key was used).
[10/24/2023] echo "k" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[10/24/2023] stdout: Error: Command failed: . ~/.config/EmuDeck/backend/functions/all.sh && echo "k" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[sudo] password for deck: Sorry, try again.
[sudo] password for deck: 
sudo: no password was provided
sudo: 1 incorrect password attempt

# Test 4: testing a password encapusated with apostrophes (The password was 'password'). The \ key was not part of the password.
[10/24/2023] stdout: Error: Command failed: . ~/.config/EmuDeck/backend/functions/all.sh && echo "'\''" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[sudo] password for deck: Sorry, try again.
[sudo] password for deck: 
sudo: no password was provided
sudo: 1 incorrect password attempt

# Test 5: re-testing a password encapusated with apostrophes (The password was 'password'). The \ key was not part of the password.
[10/24/2023] echo "'\''" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true

# Test 6: changing the sudo password to the ( p ) key. Command failure so i'll file a separate report. 
[10/24/2023] echo "p" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[10/24/2023] stdout: Error: Command failed: . ~/.config/EmuDeck/backend/functions/all.sh && echo "p" | sudo -v -S && Plugins_installPluginLoader && Plugins_installDeckyControls && echo true
[sudo] password for deck:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

100  3900  100  3900    0     0   4010      0 --:--:-- --:--:-- --:--:--  4010
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

  3 22.1M    3  847k    0     0  1084k      0  0:00:20 --:--:--  0:00:20 1084k
 60 22.1M   60 13.3M    0     0  7682k      0  0:00:02  0:00:01  0:00:01 12.5M
100 22.1M  100 22.1M    0     0  9306k      0  0:00:02  0:00:02 --:--:-- 12.8M
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   421  100   421    0     0    886      0 --:--:-- --:--:-- --:--:--   888
Created symlink /etc/systemd/system/multi-user.target.wants/plugin_loader.service → /etc/systemd/system/plugin_loader.service.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

100  823k  100  823k    0     0  1326k      0 --:--:-- --:--:-- --:--:-- 1326k
chown: cannot access '/home/deck/homebrew/plugins/emudeck-decky-controls': No such file or directory
chmod: cannot access '/home/deck/homebrew/plugins/emudeck-decky-controls': No such file or directory

[10/24/2023] stderr: Installing Steam Deck Plugin Loader release...
Installing version v2.10.5...
Check for SELinux presence and if it is present, set the correct permission on the binary file...
Grabbed latest release service.
Archive:  /home/deck/homebrew/plugins/emudeck-decky-controls.zip
   creating: /home/deck/homebrew/plugins/EmuDecky/
   creating: /home/deck/homebrew/plugins/EmuDecky/dist/
   creating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/duckstation-controls-7109fceb.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/duckstation-hotkeys-27bbf452.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/duckstation-hotkeys-alt-880cf0d8.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/gamecube-controls-018a7d14.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/gamecube-hotkeys-alt-94219d78.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/gamecube-hotkeys-d5d59783.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/n3ds-controls-ecc3cd5b.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/n3ds-hotkeys-09155419.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/primehack-controls-f78145ed.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/primehack-hotkeys-4f3bd650.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/primehack-hotkeys-alt-53934b9c.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/ps2-controls-7109fceb.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/ps2-hotkeys-2aabb234.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/ps2-hotkeys-alt-1499f4b3.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/ra-hotkeys-5747bbf3.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/steamdecklogo-0b9ac3f9.png  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/wii-classic-controls-8be30ecf.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/wii-controls-920281db.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/wii-hotkeys-alt-a49b4ae4.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/wii-hotkeys-ba7aee6e.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/wii-nunchuck-controls-0834c702.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/wiiu-controls-51eaf3de.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/wiiu-hotkeys-4c92d7f9.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/yuzu-controls-10a6d7ab.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/yuzu-hotkeys-alt-f0ddcbe5.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/assets/yuzu-hotkeys-e410079b.jpg  
  inflating: /home/deck/homebrew/plugins/EmuDecky/dist/index.js  
  inflating: /home/deck/homebrew/plugins/EmuDecky/main.py  
  inflating: /home/deck/homebrew/plugins/EmuDecky/package.json  
  inflating: /home/deck/homebrew/plugins/EmuDecky/plugin.json

TutorialsOnDeck avatar Oct 24 '23 17:10 TutorialsOnDeck

Cross-reference https://github.com/EmuDeck/emudeck-decky-controls/issues/2

carlosjgp avatar Dec 12 '23 11:12 carlosjgp