delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/01/08/14:14:02

X-Spam-Check-By: sourceware.org
Message-Id: <200601081913.k08JDjGO025952@tigris.pounder.sol.net>
From: cygwin AT trodman DOT com (Tom Rodman)
Reply-to: cygwin AT cygwin DOT com
To: cygwin AT cygwin DOT com
Subject: Re: expect script hanging: ssh to localhost w/password authentication
In-reply-to: <200601081709.k08H9vJ7025427@tigris.pounder.sol.net>
References: <200512191700 DOT jBJH0Qw9019385 AT tigris DOT pounder DOT sol DOT net> <20051220210122 DOT GQ2965 AT calimero DOT vinschen DOT de> <200601081709 DOT k08H9vJ7025427 AT tigris DOT pounder DOT sol DOT net>
Date: Sun, 08 Jan 2006 13:13:44 -0600
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Sorry/MY MISTAKE - the test case was unfair, it was done from a bash
session at the console. The test case at the console may not have worked
for the last several cygwin releases. The test case *does* work just
fine when initiated from an ssh session.

I guess this comes down to - *nevermind*!  The failure to
work from a console session is not a regression AFAIK.

--
For what it's worth, here is the console test case (fails), and 
the *working* ssh session test case:

On Sun 1/8/06 11:09 CST cygwin AT cygwin DOT com wrote:
> The expect script listed earlier in this thread is failing
> for me again, with the 1/7/2006 snapshot. It does not hang though - will
> post details later.

it *does* hang now (from console only) since I added the line "set timeout -1"

> I wonder if the snapshot fix related to:
>   http://sourceware.org/ml/cygwin/2006-01/msg00183.html 
> may account for this? I'm grateful for the fix above (*really*), but
> could it have resurrected the expect script problem? - admittedly a WAG.
> 
>   Sorry, I'm "out of the loop"; have not been following the
>   cygwin mailing list for about a week.. 
> 
> When I get time, I will post simple log of the failing expect script test case.

I used the same script as before, but added the line "set timeout -1".
For the console case, "expect" never recognizes the password prompt from
sshd, even though this prompt is visible on the console (where I did
the 1st test below).

Here's the console test case:

  $ uname -a
  CYGWIN_NT-5.0 OurServer108 1.5.19s(0.149/4/2) 20060107 13:00:49 i686 unknown unknown Cygwin
  $ cat /tmp/fum
  #!/usr/bin/expect
  exp_internal 1
    #to turn on debugging

  set timeout -1
  set env(TERM) "vt100"

  set USER staffuser1
  set PASSWORD "MYPASSWORDWASHERE"

  set prompt " $USER >"
    # adjust prompt as required

  spawn ssh localhost -l $USER

  expect "assword:"
  send "$PASSWORD\r"

  expect $prompt
  # --------------------------------------------------------------------
  # launch command with the next send below:
  #   exit the shell after running command
  # --------------------------------------------------------------------

  send "date; exit\r"

  expect; # waits for eof, so output is flushed?
  puts "\n\nexpect script exiting normally\n";
  $ /tmp/fum
  spawn ssh localhost -l staffuser1
  parent: waiting for sync byte
  parent: telling child to go ahead
  parent: now unsynchronized from child
  spawn: returns {5932}

  expect: does "" (spawn_id 4) match glob pattern "assword:"? no
  staffuser1 AT localhost's password:
  --SNIP (expect hangs here, until I kill the spawned ssh)

  For my cygcheck output see
    http://sourceware.org/ml/cygwin/2005-12/txt00021.txt

Here's the "working-fine" test case initiated from a prexisting ssh session:

  $ uname -a
  CYGWIN_NT-5.0 OurServer108 1.5.19s(0.149/4/2) 20060107 13:00:49 i686 unknown unknown Cygwin
  $ /tmp/fum
  spawn ssh localhost -l staffuser1
  parent: waiting for sync byte
  parent: telling child to go ahead
  parent: now unsynchronized from child
  spawn: returns {6416}

  expect: does "" (spawn_id 4) match glob pattern "assword:"? no
  staffuser1 AT localhost's password:
  expect: does "staffuser1 AT localhost's password: " (spawn_id 4) match glob pattern "assword:"? yes
  expect: set expect_out(0,string) "assword:"
  expect: set expect_out(spawn_id) "4"
  expect: set expect_out(buffer) "staffuser1 AT localhost's password:"
  send: sending "MYPASSWORDWASHERE" to { 4 }

  expect: does " " (spawn_id 4) match glob pattern " staffuser1 >"? no


  expect: does " \r\n" (spawn_id 4) match glob pattern " staffuser1 >"? no
  Last login: Sun Jan  8 12:44:04 2006 from 127.0.0.1
  Welcome to Engineering Systems tcm server ..

  expect: does " \r\nLast login: Sun Jan  8 12:44:04 2006 from 127.0.0.1\r\r\nWelcome to Engineering Systems tcm server ..\r\n" (spawn_id 4) match glob pattern " staffuser1 >"? no
  > 12:44:45 Sun Jan 08 0j tty3 2728 ~
  > OurServer108 staffuser1 >
  expect: does " \r\nLast login: Sun Jan  8 12:44:04 2006 from 127.0.0.1\r\r\nWelcome to Engineering Systems tcm server ..\r\n> 12:44:45 Sun Jan 08 0j tty3 2728 ~\r\r\n> OurServer108 staffuser1 > " (spawn_id 4) match glob pattern " staffuser1 >"? yes
  expect: set expect_out(0,string) " staffuser1 >"
  expect: set expect_out(spawn_id) "4"
  expect: set expect_out(buffer) " \r\nLast login: Sun Jan  8 12:44:04 2006 from 127.0.0.1\r\r\nWelcome to Engineering Systems tcm server ..\r\n> 12:44:45 Sun Jan 08 0j tty3 2728 ~\r\r\n> OurServer108 staffuser1 >"
  send: sending "date; exit\r" to { 4 }
  date; exit
  Sun Jan  8 12:44:46 CST 2006
  logout
  Connection to localhost closed.
  expect: read eof
  expect: set expect_out(spawn_id) "4"
  expect: set expect_out(buffer) " date; exit\r\nSun Jan  8 12:44:46 CST 2006\r\nlogout\r\nConnection to localhost closed.\r\r\n"


  expect script exiting normally

  $
--snip
> On Tue 12/20/05 22:01 +0100 cygwin AT cygwin DOT com wrote:
> > On Dec 19 11:00, Tom Rodman wrote:
> > > Enclosed is an expect script (to ssh to the localhost with password
> > > authentication) that "hangs" (search ahead for "parent: waiting for sync byte")
> > > with the Dec 16 snapshot. Please take a look at the working and
> > > non-working test cases below.
> > 
> > Looks like we found the cause for this effect.  Please try
> > the next developers snapshot (2005-Dec-20 and later) from
> > http://cygwin.com/snapshots/
> > 
> > 
> > Thanks for the report,
> > Corinna
--snip


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019