EmuDeck
EmuDeck copied to clipboard
[Bug Report] DeckyControls fails to install if password contains 1 or more ' apostrophe.
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
Cross-reference https://github.com/EmuDeck/emudeck-decky-controls/issues/2