{
my ($conn, $msg) = @_;
unless ($msg =~ /^[ABZ]/) {
- if ($msg =~ /^E[-\w]+\|([01])/) {
+ if ($msg =~ /^E[-\w]+\|([01])/ && $conn->{csort} eq 'telnet') {
$conn->{echo} = $1;
if ($1) {
- $conn->send_raw("\xFF\xFC\x01");
+# $conn->send_raw("\xFF\xFC\x01");
} else {
- $conn->send_raw("\xFF\xFB\x01");
+# $conn->send_raw("\xFF\xFB\x01");
}
} else {
$msg =~ s/^[-\w]+\|//;
my $conn = shift;
my $msg;
- while ($msg = shift @{$conn->{inqueue}}){
+ while (@{$conn->{inqueue}}){
+ $msg = shift @{$conn->{inqueue}};
dbg('connect', $msg) unless $conn->{state} eq 'C';
$msg =~ s/\xff\xfa.*\xff\xf0|\xff[\xf0-\xfe].//g; # remove telnet options
}
}
if ($conn->{msg} && $conn->{state} eq 'WC' && exists $conn->{cmd} && @{$conn->{cmd}}) {
+ dbg('connect', $conn->{msg});
$conn->_docmd($conn->{msg});
if ($conn->{state} eq 'WC' && exists $conn->{cmd} && @{$conn->{cmd}} == 0) {
$conn->{state} = 'C';
$conn->{state} = 'WL';
# $conn->send_raw("\xff\xfe\x01\xff\xfc\x01\ff\fd\x22");
# $conn->send_raw("\xff\xfa\x22\x01\x01\xff\xf0");
- $conn->send_raw("\xFF\xFC\x01");
+# $conn->send_raw("\xFF\xFC\x01");
_send_file($conn, "$main::data/issue");
- $conn->send_raw("Login: ");
+ $conn->send_raw("login: ");
} else {
$conn->disconnect();
}
if ($f) {
while (<$f>) {
chomp;
- $conn->send_later($_);
+ $conn->send_raw($_ . $conn->{lineend});
}
$f->close;
}