steamctl icon indicating copy to clipboard operation
steamctl copied to clipboard

[BUG] Password is not saved correctly after some time

Open Aida-Enna opened this issue 2 years ago • 4 comments

Description After some time, the password is forgotten in the credentials. The password argument created via #56 seems to be ignored when this happens. May be related to the original bug that caused me to ask for the feature.

Steps to Reproduce the behavior Use the password argument and/or save the credentials and try again after a few weeks.

What actually happend

root@fordy:~# steamctl --user RandomUsername1 --password AwesomePassword2 depot info -a 1056640 -d 1056641
[INFO] Enter credentials for: RandomUsername1

It completely ignored the password flag (but supports it), you can see so when I attempted to use one line instead of two just to be sure.

root@fordy:~# steamctl --user RandomUsername1 -password AwesomePassword2 depot info -a 1056640 -d 1056641
usage: steamctl [-h] [--version] [--versions-report] [-l {quiet,info,debug}] [--anonymous] [--user USER]
                [--password PASSWORD]
                <command> ...
steamctl: error: argument <command>: invalid choice: 'AwesomePassword2' (choose from 'apps', 'assistant', 'authenticator', 'clear', 'cloud', 'depot', 'hlmaster', 'steamid', 'ugc', 'webapi', 'workshop')

Once I entered the correct password then it worked again, using the remembered credentials every time after.

Logs

steamctl -l debug (Include logs related ot the issue. Use `steamctl -l debug` to get detailed log) ``` I was not aware of this command and will get logs next time. ```

Versions Report

steamctl --versions-report (Run steamctl --versions-report and paste the output below)
steamctl: 0.9.5

Dependencies:
               steam: 1.4.3
             appdirs: 1.4.4
         argcomplete: 2.0.0
                tqdm: 4.64.0
               arrow: 1.2.2
            pyqrcode: 1.2.1
      beautifulsoup4: 4.7.1
                 vpk: 1.4.0
                 vdf: 3.4
 gevent-eventemitter: 2.1
              gevent: 21.12.0
            greenlet: 1.1.2
              pyyaml: Not Installed
       pycryptodomex: 3.15.0
            protobuf: 3.14.0

Python runtime:
          executable: /usr/bin/python3.8
             version: 3.8.3 (default, May 14 2020, 22:09:32) [GCC 5.4.0 20160609]
            platform: linux

System info:
              system: Linux
             machine: x86_64
             release: 4.19-ovh-xxxx-std-ipv6-64
             version: #1273469 SMP Wed Jun 3 08:31:49 UTC 2020

Aida-Enna avatar Jan 11 '23 13:01 Aida-Enna

It happened again, here is the full debug log

root@ubuntu:~# steamctl -l debug --user RandomUsername1 --password AwesomePassword2 depot info -a 1056640 -d 1056641
[DEBUG] steamctl: Parsed args: {'versions_report': None, 'log_level': 'debug', 'anonymous': False, 'user': 'RandomUsername1', 'password': None, 'command': 'depot', '_cmd_func': 'steamctl.commands.depot.gcmds:cmd_depot_info', 'subcommand': 'info', 'cell_id': None, 'os': 'any', 'file': None, 'app': 1056640, 'depot': 1056641, 'manifest': None, 'branch': 'public', 'skip_depot': None, 'skip_login': False, 'skip_licenses': False}
[DEBUG] SteamClient: Reading CM servers from '/root/.local/share/steamctl/client/cm_servers.json'
[DEBUG] CMServerList: Added 80 new CM addresses.
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/cs_servers.json
[DEBUG] CachingCDNClient: No steam licenses found on SteamClient instance
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/client/lastuser
[INFO] SteamClient: Enter credentials for: RandomUsername1
Password:

It completely ignores the password argument here too. Here is the log after, running the same command again:

root@ubuntu:~# steamctl -l debug --user RandomUsername1 --password AwesomePassword2 depot info -a 1056640 -d 1056641
[DEBUG] steamctl: Parsed args: {'versions_report': None, 'log_level': 'debug', 'anonymous': False, 'user': 'RandomUsername1', 'password': None, 'command': 'depot', '_cmd_func': 'steamctl.commands.depot.gcmds:cmd_depot_info', 'subcommand': 'info', 'cell_id': None, 'os': 'any', 'file': None, 'app': 1056640, 'depot': 1056641, 'manifest': None, 'branch': 'public', 'skip_depot': None, 'skip_login': False, 'skip_licenses': False}
[DEBUG] SteamClient: Reading CM servers from '/root/.local/share/steamctl/client/cm_servers.json'
[DEBUG] CMServerList: Added 80 new CM addresses.
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/cs_servers.json
[DEBUG] CachingCDNClient: No steam licenses found on SteamClient instance
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/client/lastuser
[INFO] SteamClient: Attempting login with remembered credentials
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/client/RandomUsername1.key
[DEBUG] SteamClient: Attempting login
[DEBUG] SteamClient: Connect initiated.
[DEBUG] Connection: Attempting connection to ('146.66.155.38', 27018)
[DEBUG] Connection: Connected.
[DEBUG] SteamClient: Emit event: 'connected'
...

Aida-Enna avatar Jan 24 '23 19:01 Aida-Enna

From the debug, doesn't look like the password parameter is being set:

...'user': 'RandomUsername1', 'password': None...

rossengeorgiev avatar Jan 25 '23 15:01 rossengeorgiev

Ok, yeah it colliding with the parameters from the subcommand, which overwriting it. This a bug :)

rossengeorgiev avatar Jan 25 '23 16:01 rossengeorgiev

um i thought it was something to do with steam now using refresh_tokens instead of login keys

nutterthanos avatar Jun 05 '23 09:06 nutterthanos