On 15.09.2014 17:30, Vagrant Cascadian wrote:
> On 2014-09-14 11:16:52 -0500, Jakob Unterwurzacher wrote:
>> ldm now reads the full output from ssh even if it dies on the way.
>> Proper error messages are logged and displayed, wrapped in _() so
>> they can be localized.
> 
> Thanks for the (updated) patch!  It's an issue that's long been a thorn
> in the side of many users. Apologies for not getting back to you sooner
> on this.
> 
> We unfortunately don't have a lot of active developers who understand a
> patch of this size; ldm has largely been in maintenance mode for quite
> some time.
> 
> Would it be possible to usefully break this into maybe 2-4 smaller
> patches, and submit to the (old) launchpad bug? That might make it a
> little easier to review.

Hi Vagrant!

I already suspected it might be a bit big. I will try to split it up
into a few logical steps.

>> * ssh: connect to host server port 22: Connection timed out
>>   For that to work, ConnectTimeout=10 is set on the ssh command line.
>>   Otherwise the 30 second timeout elapses before ssh tells us what is
>>   going on.
> 
> What controls the 30 second timeout? Where exactly does it occur?

The thirty seconds are passed in from ssh_chat():

ssh.c:427: seen = expect(fd, lastseen, 30, SENTINEL, ": ", NULL);

That is, expect gives up after 30 seconds if it cannot find a prompt.

When the server cannot be reached, ssh by default takes longer than that
to timeout, so we would never get the error message.

> The last time we tried parsing the output like this, it turned out that
> the messages returned via ssh were highly variable depending on distro
> and local configuration. Maybe your code handles this no worse than the
> current code; I can't really say.

Parsing human-readable output is generally fragile, I understand the
concern. However, I am not actually interpreting the output, I am just
passing it on to the user in full. That is, only if a password prompt
cannot be found.
The logic for detecting the password prompt has not changed - a ":" at
the end of output is a prompt.

I'll take a look if the prompt can look differently, and of course I
will be there to fix any issues that may arise.

Best regards,
Jakob

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_____________________________________________________________________
Ltsp-discuss mailing list.   To un-subscribe, or change prefs, goto:
      https://lists.sourceforge.net/lists/listinfo/ltsp-discuss
For additional LTSP help,   try #ltsp channel on irc.freenode.net

Reply via email to