[X2Go-Dev] Bug in sshproxy handling
Ulrich Sibiller
ulrich.sibiller at gmail.com
Thu May 16 23:49:46 CEST 2019
> log looks the same. I think that login check is issuing a command on
> the proxy to check if the proxy is working ("echo LOGIN OK"). And due
> to the nature of our gateway (see above) this fails, because it is an
> invalid command.
>
> Unfortunately I don't really see if this assumption is correct because
> I have no access to the gateway logs and the x2goclient logs do not
> contain any information _why_ the login check failed. I have tried
> getting some gateway logs but I have not yet gotten anything.
>> Is there anything I can do to bypass that login check?
I have now done some tests:
- this also happens with the x2goclient 4.1.2.2 on Linux
- I can confirm that my assumption about the LOGIN OK check was
correct. Inserting "return true;" just before the line " if (
ssh_channel_request_exec ( channel, "echo \"LOGIN OK\"" ) != SSH_OK )
" in sshmasterconnection.cpp and thus skipping the whole interactivity
code makes it work again.
This check was introduced as a result of Bug #592 to enable the user
changing an expired password interactively but I have not fully
understood the whole idea of sending echo "LOGIN OK" and then checking
if is NOT in the buffer. Isn't checking for pty sufficient?
QString inf=QByteArray ( buffer,nbytes );
x2goDebug<<"LOGIN CHECK:"<<inf;
if(inf.indexOf("LOGIN OK")!=-1)
{
x2goDebug<<"don't have interaction";
hasInterraction=false;
break;
}
@Alex can you please explain?
Uli
More information about the x2go-dev
mailing list