46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/cli/console_helper.rb', line 46
def console_login(auth_info, port)
if !auth_info["username"] || !auth_info["password"]
err "Unable to verify console credentials."
end
@telnet_client = telnet_client(port)
prompt = nil
err_msg = "Login attempt timed out."
5.times do
begin
results = @telnet_client.login("Name"=>auth_info["username"],
"Password"=>auth_info["password"])
lines = results.sub("Login: Password: ", "").split("\n")
last_line = lines.pop
if last_line =~ /[$%#>] \z/n
prompt = last_line
elsif last_line =~ /Login failed/
err_msg = last_line
end
break
rescue TimeoutError
sleep 1
rescue EOFError
close_console
sleep 5
@telnet_client = telnet_client(port)
end
display ".", false
end
unless prompt
close_console
err err_msg
end
prompt
end
|