JustArchiNET / ArchiSteamFarm

C# application with primary purpose of farming Steam cards from multiple accounts simultaneously.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Special characters in password treated like Enter key when typing at startup

Terrance opened this issue · comments

Checklist

ASF version

Latest stable release

ASF variant

linux-x64

Bug description

Typing a special character at the Please enter your Steam password: prompt (including from a paste) immediately dismisses the prompt as if Enter was pressed.

Expected behavior

The prompt should accept my whole password without submitting.

Actual behavior

  • If a special character is the first character entered, InitLoginAndPassword() steamPassword is invalid! is logged.
  • If not the first character, the partial password is submitted, leading to OnConnected() SteamKit2.Authentication.AuthenticationException: Authentication failed with result InvalidPassword..

Steps to reproduce

  • Start asf without an active session or a password configured.
  • At the password prompt, type a special character (e.g. !, ", _).

Possible reason/solution

Using the asf AUR package on Arch Linux.

This is over SSH, but I've not had issues with any other programs' handling of special characters. Locale, in case that's relevant:

$ locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Can you help us with this bug report?

Somehow, I can test and offer feedback, but can't code

Full log.txt recorded during reproducing the problem

INFO|ASF|InitCore() ArchiSteamFarm-custom V5.4.13.4 (source/c599465c-df92-4f92-bb7e-11b6652d720b | .NET 7.0.13; arch-x64; Linux 6.6.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 08 Nov 2023 16:05:38 +0000)
INFO|ASF|InitCore() Copyright © 2015-2023 JustArchiNET
INFO|ASF|StartInteractiveConsole() Interactive console is now active, type 'c' in order to enter command mode.
INFO|ASF|Start() Starting IPC server...
INFO|Microsoft.Hosting.Lifetime|Now listening on: http://localhost:1242
INFO|Microsoft.Hosting.Lifetime|Application started. Press Ctrl+C to shut down.
INFO|Microsoft.Hosting.Lifetime|Hosting environment: Production
INFO|Microsoft.Hosting.Lifetime|Content root path: /usr/lib/asf/
INFO|ASF|Start() IPC server ready!
INFO|BotName|Start() Starting...
INFO|BotName|Connect() Connecting...
INFO|BotName|OnConnected() Connected to Steam!

<BotName> Please enter your Steam password:
ERROR|BotName|InitLoginAndPassword() steamPassword is invalid!
INFO|BotName|Stop() Stopping...
INFO|ASF|OnBotShutdown() No bots are running, exiting...
INFO|Microsoft.Hosting.Lifetime|Application is shutting down...

Global ASF.json config file

{}

BotName.json config of all affected bot instances

{
  "Enabled": true,
  "OnlineStatus": 0,
  "RemoteCommunication": 0,
  "SteamLogin": "***",
  "IPCPassword": "***"
}

Additional info

The description for BotName.json above states that SteamPassword is mandatory, but the documentation says if left unset then I should be able to provide it at startup, which is where the problem lies. Is this still the case?

Reproducible with latest stable.
Unreproducible with latest pre-release, might be caused by fc13f2c (?)

This was already fixed in latest pre-release, in particular starting from ASF V5.5.0.1.

Dupe of #3075 (comment)

If you can't wait, I recommend upgrade to latest pre-release which is a stable release candidate at this stage. Otherwise, the next stable should be available in a month or so.

Apologies, didn't spot that one whilst searching (admittedly I was looking for password-related issues rather than ones about the console in general). After some faff with the AUR package and system upgrades to switch to .NET 8.0, I now have 5.5.0.7 running and the password prompt works as expected.

That's alright, since the issue I linked indeed focused on something else, but the underlying problem was the same. Glad to hear it works for you now 👍