1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
|
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.
|