View Issue Details

IDProjectCategoryView StatusLast Update
0000598Other Unix PortBugpublic2014-04-03 17:28
ReporterOxyd Assigned To 
PriorityhighSeveritymajorReproducibilityalways
Status newResolutionopen 
Platformx86OSOS/2OS VersionACP2 v 4.52
Summary0000598: CLI bug in quasselcore.exe in latest version of quassel-IRC
DescriptionIf I want to add a user or change the user's password in quasselcore have to press Enter after pressing Ctrl-Z + Enter. So the same as entering a password, the password is displayed as plain text
Steps To Reproduce[c:\programs\quassel\bin]quasselcore.exe --change-userpass=Oxyd
("QSQLITE")
2014-02-20 14:22:42 Info: SQLite Storage Backend is ready. Quassel Schema Version: 17
Change password for user: Oxyd
New Password: helloSmedley [Enter]
[Ctrl-z]^Z[Enter]

Repeat Password: helloSmedley
^Z

Password changed successfully!

[c:\programs\quassel\bin]
Additional InformationCommands for repeat this bug:
quasselcore.exe --add-user
quasselcore.exe --change-userpass=username
TagsNo tags attached.

Activities

psmedley

2014-04-03 17:28

administrator   ~0002719

I understand why this happens:
#ifdef Q_OS_WIN32
void Core::stdInEcho(bool on)
{
    HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
    DWORD mode = 0;
    GetConsoleMode(hStdin, &mode);
    if (on)
        mode |= ENABLE_ECHO_INPUT;
    else
        mode &= ~ENABLE_ECHO_INPUT;
    SetConsoleMode(hStdin, mode);
}


#else
void Core::stdInEcho(bool on)
{
    termios t;
    tcgetattr(STDIN_FILENO, &t);
    if (on)
        t.c_lflag |= ECHO;
    else
        t.c_lflag &= ~ECHO;
    tcsetattr(STDIN_FILENO, TCSANOW, &t);
}


#endif /* Q_OS_WIN32 */

OS/2 is using the tcgetattr/tcsetattr which is not fully implemented in libc

Issue History

Date Modified Username Field Change
2014-02-20 20:58 Oxyd New Issue
2014-04-03 17:28 psmedley Note Added: 0002719