2021-06-20 Jay Rogers <jay@rgrs.com>
* Version 3.05 released.
2021-06-20 Jay Rogers <jay@rgrs.com>
* Telnet.pm: Fixed new perl warning about argument isn't numeric in
numeric ge (>=).
2021-05-30 Jay Rogers <jay@rgrs.com>
* Telnet.pm (dump_log input_log option_log output_log): Changed
the logging subroutines to also accept a tied filehandle.
2021-03-30 Jay Rogers <jay@rgrs.com>
* Telnet.pm (waitfor): Improved the speed to search for the
"match", especially when reading a large amount of data, by using
the dynamic arrays @- and @+ instead of $` and $&.
2021-03-30 Jay Rogers <jay@rgrs.com>
* Telnet.pm (new): Fixed a bug that caused the instantiation to
fail when setting one of the *_log input args to an empty string.
2020-02-20 Jay Rogers <jay@rgrs.com>
* Telnet.pm: Added a workaround for the "require FileHandle" bug in
perl 5.10.1.
2020-02-20 Jay Rogers <jay@rgrs.com>
* Telnet.pm: Stopped using the deprecated variable $[ in the
autoflush idiom select((select($fh), $|=1)[$[]).
2018-07-12 Jay Rogers <jay@rgrs.com>
* Telnet.pm: Fixed some documentation and pod command typos.
2013-04-21 Jay Rogers <jay@rgrs.com>
* Version 3.04 released.
2012-12-15 Jay Rogers <jay@rgrs.com>
* Telnet.pm (open family sockfamily): Added IPv6
support. It is enabled using the method/parameter
family() and the installed Socket package version is
1.94+ (which corresponds with perl 5.14+).
* Telnet.pm (peerhost peerport sockhost sockport):
New methods to support IPv6, because the inherited
ones from IO::Socket::INET don't.
* Telnet.pm (open localhost localfamily): New
methods and open() parameters for binding to a local
network interface.
* Telnet.pm (dump_log, input_log, option_log, output_log): Fixed
so they turn off logging when passed an empty string arg.
* Telnet.pm (_fillbuf _put): Fixed to use
Errno::EINTR, when possible, to test for an
interrupted select(), sysread(), or syswrite(). The
test for $! =~ /^interrupted doesn't work when LANG
is not English.
2002-12-17 Jay Rogers <jay@rgrs.com>
* Telnet.pm (dump_log, input_log, option_log, output_log): Fixed
so they take a bare filehandle.
2002-07-16 Jay Rogers <jay@rgrs.com>
* Version 3.03 released.
* Telnet.pm (getlines): Changed behavior so it works like
IO::Handle::getlines(). Instead of returning just the lines
currently available for reading, it now returns all lines until
end-of-file. To get the old behavior, use "All => ''" named
parameter.
* Telnet.pm (put): New method put() is like print(), except that
it doesn't write the trailing output_record_separator ("\n"). It
also takes named parameters.
* Telnet.pm (last_prompt): New method last_prompt() provides the
last prompt matched by cmd() or login().
* Telnet.pm (rs): New method rs() is synonymous with
input_record_separator().
* Telnet.pm (ors): New method ors() is synonymous with
output_record_separator.
* Telnet.pm (ofs): New method ofs() is synonymous with
output_field_separator().
* Telnet.pm (input_log, output_log, option_log): Fixed so they
always return the filehandle of the logfile or "" if logging
turned-off.
* Telnet.pm (dump_log, input_log, option_log, output_log): Fixed
so they work with an unblessed or tied filehandle.
* Telnet.pm (cmd_remove_mode, errmode, input_record_separator)
(max_buffer_length, option_callback, port, prompt, timeout): These
attribute methods now ignore an invalid argument and print a
warning to stderr. This also applies to a named parameter used to
override one of these attributes.
* Telnet.pm (cmd): Added named parameters to override Errmode, and
Input_record_separator.
* Telnet.pm (get, waitfor): Added named parameters to override
Binmode, Errmode, and Telnetmode.
* Telnet.pm (getline, getlines): Added named parameters to
override Binmode, Errmode, Input_record_separator, and Telnetmode.
* Telnet.pm (login, open): Added named parameter to override
Errmode.
* Telnet.pm (login): Added two 0.01 second delays to workaround
bug in Linux login program.
* Telnet.pm (break): Fixed to properly send TELNET break command.
* Telnet.pm (open): Fixed to properly handle an absolute timeout
value.
* Telnet.pm: Squelched the warning "isn't numeric" caused by
deficiency in ActiveState perl and MS-Windows.
* t/select.t: Fixed test #3 so it passes when running on Linux 2.4
or greater.
2000-05-27 Jay Rogers <jay@rgrs.com>
* Version 3.02 released.
* Telnet.pm: Squelched the warning "Ambiguous call resolved as
CORE::open()" introduced by perl5.005
* Telnet.pm: Fixed incorrect handling of CR LF when chars are sent
in separate blocks.
* Telnet.pm: Modified log routines to accept a tied filehandle.
* Telnet.pm (get): Fixed to correctly set timed_out() to indicate
no time-out error when data is not immediately available but
subsequently arrives and is read before the time-out interval
expires.
* Telnet.pm (get): Fixed timeout error when timeout=0, and no
data read, but there's still data in the buffer yet to be
returned.
* Telnet.pm (get): Errmode action now happens when timeout=0 and
time-out occurs.
1997-12-27 Jay Rogers <jay@rgrs.com>
* Version 3.01 released.
* Telnet.pm (binmode): calling binmode() without an argument no
longer sets binmode to 1, but rather just returns the current
value for binmode.
* Telnet.pm (telnetmode): calling telnetmode() without an argument
no longer sets telnetmode to 1, but rather just returns the
current value for telnetmode.
* Telnet.pm (cmd): Removes the first line of output when the
remote side told us it would echo or the user requests its removal
explicitly with cmd_remove_mode()
* Telnet.pm (cmd_remove_mode): New method that contains the mode
for how to deal with an echoed back command in the output returned
by cmd(). Default is set to "auto", which means cmd() removes the
first line of output when the remote side told us it would echo.
* Telnet.pm (new): By default, an offer to echo made by the remote
side of a TELNET connection is always accepted.
* Telnet.pm (new): Fixed default prompt to work with prompts
containing $
* Telnet.pm (fhopen): Changed to work with any open filehandle
including uni-directional pipes like STDIN.
* Telnet.pm (host): When passed a null string or undef for a
hostname it no longer changes it to "localhost".
* Telnet.pm (waitfor): Now performs error mode action when eof is
encountered before the pattern match.
* Telnet.pm (waitfor): Changed text of error messages when
timing-out.
* Telnet.pm (login): Changed text of error messages when
timing-out.
* Telnet.pm: Fixed non-portable use of \r\n to the more portable
\015\012.
* Telnet.pm (break): Fixed to no longer send the
output_record_separator.
* Telnet.pm: Stopped erroneously converting input character
sequences which look like TELNET escaped carriage-returns
(\015\000), when not in telnetmode.
* Telnet.pm (buffer): New method that returns scalar reference to
object's input buffer.
* Telnet.pm (buffer_empty): New method that discards all data in
object's input buffer.
* Telnet.pm (option_accept): New method used to indicate our
willingness to accept a telnet option offered by the remote side.
* Telnet.pm (option_callback): New method used to receive
notification of telnet option negotiation.
* Telnet.pm (option_log): New method that is used to log option
negotiation.
* Telnet.pm (option_state): New method that returns the current
state of a telnet option.