Tue Jun 20 06:14:43 2000 Wakou Aoyama <wakou@fsinet.or.jp>
* lib/cgi.rb: change: version syntax. old: x.yz, now: x.y.z * lib/net/telnet.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b8148f4594
commit
ca3afdb861
@ -1,3 +1,9 @@
|
|||||||
|
Tue Jun 20 06:14:43 2000 Wakou Aoyama <wakou@fsinet.or.jp>
|
||||||
|
|
||||||
|
* lib/cgi.rb: change: version syntax. old: x.yz, now: x.y.z
|
||||||
|
|
||||||
|
* lib/net/telnet.rb: ditto.
|
||||||
|
|
||||||
Mon Jun 19 10:48:28 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
|
Mon Jun 19 10:48:28 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
|
||||||
|
|
||||||
* variable.c (rb_cvar_set): forgot to add security check for class
|
* variable.c (rb_cvar_set): forgot to add security check for class
|
||||||
|
227
lib/cgi.rb
227
lib/cgi.rb
@ -1,18 +1,19 @@
|
|||||||
=begin
|
=begin
|
||||||
$Date$
|
|
||||||
|
|
||||||
== CGI SUPPORT LIBRARY
|
== CGI SUPPORT LIBRARY
|
||||||
|
|
||||||
cgi.rb
|
cgi.rb
|
||||||
|
|
||||||
Version 1.61
|
Version 1.7.0
|
||||||
|
|
||||||
Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
|
Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
|
||||||
|
|
||||||
Copyright (C) 2000 Information-technology Promotion Agency, Japan
|
Copyright (C) 2000 Information-technology Promotion Agency, Japan
|
||||||
|
|
||||||
Wakou Aoyama <wakou@fsinet.or.jp>
|
Wakou Aoyama <wakou@fsinet.or.jp>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
== EXAMPLE
|
== EXAMPLE
|
||||||
|
|
||||||
=== GET FORM VALUES
|
=== GET FORM VALUES
|
||||||
@ -72,7 +73,6 @@ cgi.params is a hash.
|
|||||||
values[0].content_type # <== content_type of values[0]
|
values[0].content_type # <== content_type of values[0]
|
||||||
|
|
||||||
and values[0] has Tempfile class methods.
|
and values[0] has Tempfile class methods.
|
||||||
|
|
||||||
(Tempfile class object has File class methods)
|
(Tempfile class object has File class methods)
|
||||||
|
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ and see MAKE COOKIE OBJECT.
|
|||||||
value = cgi.auth_type
|
value = cgi.auth_type
|
||||||
# ENV["AUTH_TYPE"]
|
# ENV["AUTH_TYPE"]
|
||||||
|
|
||||||
http://www.w3.org/CGI/
|
see http://www.w3.org/CGI/
|
||||||
|
|
||||||
AUTH_TYPE CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE PATH_INFO
|
AUTH_TYPE CONTENT_LENGTH CONTENT_TYPE GATEWAY_INTERFACE PATH_INFO
|
||||||
PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT
|
PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT
|
||||||
@ -173,6 +173,7 @@ HTTP_REFERER HTTP_USER_AGENT
|
|||||||
CGI.new("html4Tr") # html4.0 Transitional
|
CGI.new("html4Tr") # html4.0 Transitional
|
||||||
CGI.new("html4Fr") # html4.0 Frameset
|
CGI.new("html4Fr") # html4.0 Frameset
|
||||||
|
|
||||||
|
|
||||||
=end
|
=end
|
||||||
|
|
||||||
|
|
||||||
@ -183,11 +184,10 @@ class CGI
|
|||||||
CR = "\015"
|
CR = "\015"
|
||||||
LF = "\012"
|
LF = "\012"
|
||||||
EOL = CR + LF
|
EOL = CR + LF
|
||||||
v = $-v
|
VERSION = "1.7.0"
|
||||||
$-v = false
|
RELEASE_DATE = "2000-06-19"
|
||||||
VERSION = "1.61"
|
VERSION_CODE = 170
|
||||||
RELEASE_DATE = "$Date$"
|
RELEASE_CODE = 20000619
|
||||||
$-v = v
|
|
||||||
|
|
||||||
NEEDS_BINMODE = true if /WIN/ni === RUBY_PLATFORM
|
NEEDS_BINMODE = true if /WIN/ni === RUBY_PLATFORM
|
||||||
PATH_SEPARATOR = {'UNIX'=>'/', 'WINDOWS'=>'\\', 'MACINTOSH'=>':'}
|
PATH_SEPARATOR = {'UNIX'=>'/', 'WINDOWS'=>'\\', 'MACINTOSH'=>':'}
|
||||||
@ -367,6 +367,7 @@ $-v = v
|
|||||||
header will not convert charset.
|
header will not convert charset.
|
||||||
|
|
||||||
status:
|
status:
|
||||||
|
|
||||||
"OK" --> "200 OK"
|
"OK" --> "200 OK"
|
||||||
"PARTIAL_CONTENT" --> "206 Partial Content"
|
"PARTIAL_CONTENT" --> "206 Partial Content"
|
||||||
"MULTIPLE_CHOICES" --> "300 Multiple Choices"
|
"MULTIPLE_CHOICES" --> "300 Multiple Choices"
|
||||||
@ -1658,7 +1659,6 @@ convert string charset, and set language to "ja".
|
|||||||
|
|
||||||
=begin
|
=begin
|
||||||
=== TEXTAREA ELEMENT
|
=== TEXTAREA ELEMENT
|
||||||
|
|
||||||
textarea("name")
|
textarea("name")
|
||||||
# = textarea({ "NAME" => "name", "COLS" => 70, "ROWS" => 10 })
|
# = textarea({ "NAME" => "name", "COLS" => 70, "ROWS" => 10 })
|
||||||
|
|
||||||
@ -1908,163 +1908,114 @@ end
|
|||||||
|
|
||||||
== HISTORY
|
== HISTORY
|
||||||
|
|
||||||
=== Version 1.61 - wakou
|
* Sun Jun 18 23:31:44 JST 2000 - wakou
|
||||||
|
* version 1.7.0
|
||||||
|
* change: version syntax. old: x.yz, now: x.y.z
|
||||||
|
|
||||||
2000/06/13 15:49:27
|
* 2000/06/13 15:49:27 - wakou
|
||||||
|
* version 1.61
|
||||||
|
* read_multipart(): if no content body then raise EOFError.
|
||||||
|
|
||||||
- read_multipart(): if no content body then raise EOFError.
|
* 2000/06/03 18:16:17 - wakou
|
||||||
|
* version 1.60
|
||||||
|
* improve: CGI::pretty()
|
||||||
|
|
||||||
=== Version 1.60 - wakou
|
* 2000/05/30 19:04:08 - wakou
|
||||||
|
* version 1.50
|
||||||
|
* CGI#out(): if "HEAD" == REQUEST_METHOD then output only HTTP header.
|
||||||
|
|
||||||
2000/06/03 18:16:17
|
* 2000/05/24 06:58:51 - wakou
|
||||||
|
* version 1.40
|
||||||
- improve: CGI::pretty()
|
* typo: CGI::Cookie::new()
|
||||||
|
* bug fix: CGI::escape(): bad: " " --> "%2B"; true: " " --> "+";
|
||||||
=== Version 1.50 - wakou
|
|
||||||
|
|
||||||
2000/05/30 19:04:08
|
|
||||||
|
|
||||||
- CGI#out()
|
|
||||||
if "HEAD" == REQUEST_METHOD then output only HTTP header.
|
|
||||||
|
|
||||||
=== Version 1.40 - wakou
|
|
||||||
|
|
||||||
2000/05/24 06:58:51
|
|
||||||
|
|
||||||
- typo: CGI::Cookie::new()
|
|
||||||
- bug fix: CGI::escape()
|
|
||||||
bad: " " --> "%2B" true: " " --> "+"
|
|
||||||
thanks to Ryunosuke Ohshima <ryu@jaist.ac.jp>
|
thanks to Ryunosuke Ohshima <ryu@jaist.ac.jp>
|
||||||
|
|
||||||
=== Version 1.31 - wakou
|
* 2000/05/08 21:51:30 - wakou
|
||||||
|
* version 1.31
|
||||||
|
* improvement of time forming new CGI object accompanied with HTML generation methods.
|
||||||
|
|
||||||
2000/05/08 21:51:30
|
* 2000/05/07 21:51:14 - wakou
|
||||||
|
* version 1.30
|
||||||
|
* require English.rb
|
||||||
|
* improvement of load time.
|
||||||
|
|
||||||
- improvement of time forming new CGI object accompanied with HTML generation methods.
|
* 2000/05/02 21:44:12 - wakou
|
||||||
|
* version 1.21
|
||||||
|
* support for ruby 1.5.3 (2000-05-01) (Array#filter --> Array#collect!)
|
||||||
|
|
||||||
=== Version 1.30 - wakou
|
* 2000/04/03 18:31:42 - wakou
|
||||||
|
* version 1.20
|
||||||
2000/05/07 21:51:14
|
* bug fix: CGI#image_button() can't get Hash option.
|
||||||
|
|
||||||
- require English.rb
|
|
||||||
- improvement of load time.
|
|
||||||
|
|
||||||
=== Version 1.21 - wakou
|
|
||||||
|
|
||||||
2000/05/02 21:44:12
|
|
||||||
|
|
||||||
- support for ruby 1.5.3 (2000-05-01) (Array#filter --> Array#collect!)
|
|
||||||
|
|
||||||
=== Version 1.20 - wakou
|
|
||||||
|
|
||||||
2000/04/03 18:31:42
|
|
||||||
|
|
||||||
- bug fix: CGI#image_button() can't get Hash option
|
|
||||||
thanks to Takashi Ikeda <ikeda@auc.co.jp>
|
thanks to Takashi Ikeda <ikeda@auc.co.jp>
|
||||||
- CGI::unescapeHTML()
|
* CGI::unescapeHTML(): simple support for "〹"
|
||||||
simple support for "〹"
|
* CGI::Cookie::new(): simple support for IE
|
||||||
- CGI::Cookie::new()
|
* CGI::escape(): ' ' replaced by '+'
|
||||||
simple support for IE
|
|
||||||
- CGI::escape()
|
|
||||||
' ' replaced by '+'
|
|
||||||
|
|
||||||
=== Version 1.10 - wakou
|
* 1999/12/06 20:16:34 - wakou
|
||||||
|
* version 1.10
|
||||||
|
* can make many CGI objects.
|
||||||
|
* if use mod_ruby, then require ruby1.4.3 or later.
|
||||||
|
|
||||||
1999/12/06 20:16:34
|
* 1999/11/29 21:35:58 - wakou
|
||||||
|
* version 1.01
|
||||||
|
* support for ruby 1.5.0 (1999-11-20)
|
||||||
|
|
||||||
- can make many CGI objects.
|
* 1999/09/13 23:00:58 - wakou
|
||||||
- if use mod_ruby, then require ruby1.4.3 or later.
|
* version 1.00
|
||||||
|
* COUTION! name change. CGI.rb --> cgi.rb
|
||||||
|
* CGI#auth_type, CGI#content_length, CGI#content_type, ...
|
||||||
|
if not ENV included it, then return nil.
|
||||||
|
* CGI#content_length and CGI#server_port return Integer.
|
||||||
|
* if not CGI#params.include?('name'), then CGI#params['name'] return [].
|
||||||
|
* if not CGI#cookies.include?('name'), then CGI#cookies['name'] return [].
|
||||||
|
|
||||||
=== Version 1.01 - wakou
|
* 1999/08/05 18:04:59 - wakou
|
||||||
|
* version 0.41
|
||||||
1999/11/29 21:35:58
|
* typo. thanks to MJ Ray <markj@altern.org>
|
||||||
|
|
||||||
- support for ruby 1.5.0 (1999-11-20)
|
|
||||||
|
|
||||||
=== Version 1.00 - wakou
|
|
||||||
|
|
||||||
1999/09/13 23:00:58
|
|
||||||
|
|
||||||
- COUTION! name change. CGI.rb --> cgi.rb
|
|
||||||
|
|
||||||
- CGI#auth_type, CGI#content_length, CGI#content_type, ...
|
|
||||||
if not ENV included it, then return nil.
|
|
||||||
|
|
||||||
- CGI#content_length and CGI#server_port return Integer.
|
|
||||||
|
|
||||||
- if not CGI#params.include?('name'), then CGI#params['name'] return [].
|
|
||||||
|
|
||||||
- if not CGI#cookies.include?('name'), then CGI#cookies['name'] return [].
|
|
||||||
|
|
||||||
=== Version 0.41 - wakou
|
|
||||||
|
|
||||||
1999/08/05 18:04:59
|
|
||||||
|
|
||||||
- typo. thanks to MJ Ray <markj@altern.org>
|
|
||||||
HTTP_STATUS["NOT_INPLEMENTED"] --> HTTP_STATUS["NOT_IMPLEMENTED"]
|
HTTP_STATUS["NOT_INPLEMENTED"] --> HTTP_STATUS["NOT_IMPLEMENTED"]
|
||||||
|
|
||||||
=== Version 0.40 - wakou
|
* 1999/07/20 20:44:31 - wakou
|
||||||
|
* version 0.40
|
||||||
1999/07/20 20:44:31
|
* COUTION! incompatible change.
|
||||||
|
|
||||||
- COUTION! incompatible change.
|
|
||||||
sorry, but probably this change is last big incompatible change.
|
sorry, but probably this change is last big incompatible change.
|
||||||
|
* CGI::print --> CGI#out
|
||||||
- CGI::print --> CGI#out
|
|
||||||
|
|
||||||
cgi = CGI.new
|
cgi = CGI.new
|
||||||
cgi.out{"string"} # old: CGI::print{"string"}
|
cgi.out{"string"} # old: CGI::print{"string"}
|
||||||
|
* CGI::cookie --> CGI::Cookie::new
|
||||||
- CGI::cookie --> CGI::Cookie::new
|
|
||||||
|
|
||||||
cookie1 = CGI::Cookie::new # old: CGI::cookie
|
cookie1 = CGI::Cookie::new # old: CGI::cookie
|
||||||
|
* CGI::header --> CGI#header
|
||||||
|
|
||||||
- CGI::header --> CGI#header
|
* 1999/06/29 06:50:21 - wakou
|
||||||
|
* version 0.30
|
||||||
=== Version 0.30 - wakou
|
* COUTION! incompatible change.
|
||||||
|
|
||||||
1999/06/29 06:50:21
|
|
||||||
|
|
||||||
- COUTION! incompatible change.
|
|
||||||
query = CGI.new
|
query = CGI.new
|
||||||
cookies = query.cookies # old: query.cookie
|
cookies = query.cookies # old: query.cookie
|
||||||
values = query.cookies[name] # old: query.cookie[name]
|
values = query.cookies[name] # old: query.cookie[name]
|
||||||
|
|
||||||
=== Version 0.24 - wakou
|
* 1999/06/21 21:05:57 - wakou
|
||||||
|
* version 0.24
|
||||||
|
* CGI::Cookie::parse() return { name => CGI::Cookie object } pairs.
|
||||||
|
|
||||||
1999/06/21 21:05:57
|
* 1999/06/20 23:29:12 - wakou
|
||||||
|
* version 0.23
|
||||||
|
* modified a bit to clear module separation.
|
||||||
|
|
||||||
- CGI::Cookie::parse() return { name => CGI::Cookie object } pairs.
|
* Mon Jun 14 17:49:32 JST 1999 - matz
|
||||||
|
* version 0.22
|
||||||
|
* Cookies are now CGI::Cookie objects.
|
||||||
|
* Cookie modeled after CGI::Cookie.pm.
|
||||||
|
|
||||||
=== Version 0.23 - wakou
|
* Fri Jun 11 11:19:11 JST 1999 - matz
|
||||||
|
* version 0.21
|
||||||
|
* modified a bit to clear module separation.
|
||||||
|
|
||||||
1999/06/20 23:29:12
|
* 1999/06/03 06:48:15 - wakou
|
||||||
|
* version 0.20
|
||||||
|
* support for multipart form.
|
||||||
|
|
||||||
- modified a bit to clear module separation.
|
* 1999/05/24 07:05:41 - wakou
|
||||||
|
* version 0.10
|
||||||
=== Version 0.22 - matz
|
* first release.
|
||||||
|
|
||||||
Mon Jun 14 17:49:32 JST 1999
|
|
||||||
|
|
||||||
- Cookies are now CGI::Cookie objects.
|
|
||||||
- Cookie modeled after CGI::Cookie.pm.
|
|
||||||
|
|
||||||
=== Version 0.21 - matz
|
|
||||||
|
|
||||||
Fri Jun 11 11:19:11 JST 1999
|
|
||||||
|
|
||||||
- modified a bit to clear module separation.
|
|
||||||
|
|
||||||
=== Version 0.20 - wakou
|
|
||||||
|
|
||||||
1999/06/03 06:48:15
|
|
||||||
|
|
||||||
- support for multipart form.
|
|
||||||
|
|
||||||
=== Version 0.10 - wakou
|
|
||||||
|
|
||||||
1999/05/24 07:05:41
|
|
||||||
|
|
||||||
- first release.
|
|
||||||
|
|
||||||
|
$Date$
|
||||||
=end
|
=end
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
=begin
|
=begin
|
||||||
$Date$
|
|
||||||
|
|
||||||
== SIMPLE TELNET CLIENT LIBRARY
|
== SIMPLE TELNET CLIENT LIBRARY
|
||||||
|
|
||||||
net/telnet.rb
|
net/telnet.rb
|
||||||
|
|
||||||
Version 1.40
|
Version 1.5.0
|
||||||
|
|
||||||
Wakou Aoyama <wakou@fsinet.or.jp>
|
Wakou Aoyama <wakou@fsinet.or.jp>
|
||||||
|
|
||||||
@ -34,13 +33,14 @@ if set "Telnetmode" option to false. not telnet command interpretation.
|
|||||||
the same character as "Prompt" is included in the data, and, when
|
the same character as "Prompt" is included in the data, and, when
|
||||||
the network or the host is very heavy, the value is enlarged.
|
the network or the host is very heavy, the value is enlarged.
|
||||||
|
|
||||||
|
|
||||||
=== STATUS OUTPUT
|
=== STATUS OUTPUT
|
||||||
|
|
||||||
host = Net::Telnet::new({"Host" => "localhost"}){|c| print c }
|
host = Net::Telnet::new({"Host" => "localhost"}){|c| print c }
|
||||||
|
|
||||||
connection status output.
|
connection status output.
|
||||||
|
|
||||||
example
|
example:
|
||||||
|
|
||||||
Trying localhost...
|
Trying localhost...
|
||||||
Connected to localhost.
|
Connected to localhost.
|
||||||
@ -113,7 +113,7 @@ of cource, set sync=true or flush is necessary.
|
|||||||
"Prompt" => /[$%#>] \z/n,
|
"Prompt" => /[$%#>] \z/n,
|
||||||
"Timeout" => 10})
|
"Timeout" => 10})
|
||||||
|
|
||||||
if no password prompt.
|
if no password prompt:
|
||||||
|
|
||||||
host.login("username")
|
host.login("username")
|
||||||
host.login({"Name" => "username",
|
host.login({"Name" => "username",
|
||||||
@ -132,6 +132,7 @@ if no password prompt.
|
|||||||
of cource, set sync=true or flush is necessary.
|
of cource, set sync=true or flush is necessary.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
== EXAMPLE
|
== EXAMPLE
|
||||||
|
|
||||||
=== LOGIN AND SEND COMMAND
|
=== LOGIN AND SEND COMMAND
|
||||||
@ -155,230 +156,9 @@ of cource, set sync=true or flush is necessary.
|
|||||||
pop.cmd("list"){|c| print c}
|
pop.cmd("list"){|c| print c}
|
||||||
|
|
||||||
|
|
||||||
== HISTORY
|
|
||||||
|
|
||||||
=== Version 1.40
|
|
||||||
|
|
||||||
2000/05/24 06:57:38
|
|
||||||
|
|
||||||
- improve: binmode(), telnetmode() interface
|
|
||||||
thanks to Dave Thomas <Dave@thomases.com>
|
|
||||||
|
|
||||||
=== Version 1.32
|
|
||||||
|
|
||||||
2000/05/09 22:02:56
|
|
||||||
|
|
||||||
- require English.rb
|
|
||||||
|
|
||||||
=== Version 1.31
|
|
||||||
|
|
||||||
2000/05/02 21:48:39
|
|
||||||
|
|
||||||
- Proxy option: can receive IO object
|
|
||||||
|
|
||||||
=== Version 1.30
|
|
||||||
|
|
||||||
2000/04/03 18:27:02
|
|
||||||
|
|
||||||
- telnet.rb --> net/telnet.rb
|
|
||||||
|
|
||||||
=== Version 1.20
|
|
||||||
|
|
||||||
2000/01/24 17:02:57
|
|
||||||
|
|
||||||
- respond to "IAC WILL x" with "IAC DONT x"
|
|
||||||
- respond to "IAC WONT x" with "IAC DONT x"
|
|
||||||
- better dumplog format
|
|
||||||
thanks to WATANABE Hirofumi <Hirofumi.Watanabe@jp.sony.com>
|
|
||||||
|
|
||||||
=== Version 1.10
|
|
||||||
|
|
||||||
2000/01/18 17:47:31
|
|
||||||
|
|
||||||
- bug fix: write method
|
|
||||||
- respond to "IAC WILL BINARY" with "IAC DO BINARY"
|
|
||||||
|
|
||||||
=== Version 1.00
|
|
||||||
|
|
||||||
1999/10/04 22:51:26
|
|
||||||
|
|
||||||
- bug fix: waitfor(preprocess) method
|
|
||||||
thanks to Shin-ichiro Hara <sinara@blade.nagaokaut.ac.jp>
|
|
||||||
- add simple support for AO, DM, IP, NOP, SB, SE
|
|
||||||
- COUTION! TimeOut --> TimeoutError
|
|
||||||
|
|
||||||
=== Version 0.50
|
|
||||||
|
|
||||||
1999/09/21 21:24:07
|
|
||||||
|
|
||||||
- add write method
|
|
||||||
|
|
||||||
=== Version 0.40
|
|
||||||
|
|
||||||
1999/09/17 17:41:41
|
|
||||||
|
|
||||||
- bug fix: preprocess method
|
|
||||||
|
|
||||||
=== Version 0.30
|
|
||||||
|
|
||||||
1999/09/14 23:09:05
|
|
||||||
|
|
||||||
- change prompt check order.
|
|
||||||
not IO::select([@sock], nil, nil, waittime) and prompt === line
|
|
||||||
--> prompt === line and not IO::select([@sock], nil, nil, waittime)
|
|
||||||
|
|
||||||
=== Version 0.24
|
|
||||||
|
|
||||||
1999/09/13 22:28:33
|
|
||||||
|
|
||||||
- Telnet#login
|
|
||||||
if ommit password, then not require password prompt.
|
|
||||||
|
|
||||||
=== Version 0.232
|
|
||||||
|
|
||||||
1999/08/10 05:20:21
|
|
||||||
|
|
||||||
- STATUS OUTPUT sample code typo. thanks to Tadayoshi Funaba <tadf@kt.rim.or.jp>
|
|
||||||
host = Telnet.new({"Hosh" => "localhost"){|c| print c }
|
|
||||||
--> host = Telnet.new({"Host" => "localhost"){|c| print c }
|
|
||||||
|
|
||||||
=== Version 0.231
|
|
||||||
|
|
||||||
1999/07/16 13:39:42
|
|
||||||
|
|
||||||
- TRUE --> true, FALSE --> false
|
|
||||||
|
|
||||||
=== Version 0.23
|
|
||||||
|
|
||||||
1999/07/15 22:32:09
|
|
||||||
|
|
||||||
- waitfor: if end of file reached, then return nil.
|
|
||||||
|
|
||||||
=== Version 0.22
|
|
||||||
|
|
||||||
1999/06/29 09:08:51
|
|
||||||
|
|
||||||
- new, waitfor, cmd: {"Timeout" => false} # ignore timeout
|
|
||||||
|
|
||||||
=== Version 0.21
|
|
||||||
|
|
||||||
1999/06/28 18:18:55
|
|
||||||
|
|
||||||
- waitfor: not rescue (EOFError)
|
|
||||||
|
|
||||||
=== Version 0.20
|
|
||||||
|
|
||||||
1999/06/04 06:24:58
|
|
||||||
|
|
||||||
- waitfor: support for divided telnet command
|
|
||||||
|
|
||||||
=== Version 0.181
|
|
||||||
|
|
||||||
1999/05/22
|
|
||||||
|
|
||||||
- bug fix: print method
|
|
||||||
|
|
||||||
=== Version 0.18
|
|
||||||
|
|
||||||
1999/05/14
|
|
||||||
|
|
||||||
- respond to "IAC WON'T SGA" with "IAC DON'T SGA"
|
|
||||||
- DON'T SGA : end of line --> CR + LF
|
|
||||||
- bug fix: preprocess method
|
|
||||||
|
|
||||||
=== Version 0.17
|
|
||||||
|
|
||||||
1999/04/30
|
|
||||||
|
|
||||||
- bug fix: $! + "\n" --> $!.to_s + "\n"
|
|
||||||
|
|
||||||
=== Version 0.163
|
|
||||||
|
|
||||||
1999/04/11
|
|
||||||
|
|
||||||
- STDOUT.write(message) --> yield(message) if iterator?
|
|
||||||
|
|
||||||
=== Version 0.162
|
|
||||||
|
|
||||||
1999/03/17
|
|
||||||
|
|
||||||
- add "Proxy" option
|
|
||||||
- required timeout.rb
|
|
||||||
|
|
||||||
=== Version 0.161
|
|
||||||
|
|
||||||
1999/02/03
|
|
||||||
|
|
||||||
- select --> IO::select
|
|
||||||
|
|
||||||
=== Version 0.16
|
|
||||||
|
|
||||||
1998/10/09
|
|
||||||
|
|
||||||
- preprocess method change for the better
|
|
||||||
- add binmode method.
|
|
||||||
- change default Binmode. TRUE --> FALSE
|
|
||||||
|
|
||||||
=== Version 0.15
|
|
||||||
|
|
||||||
1998/10/04
|
|
||||||
|
|
||||||
- add telnetmode method.
|
|
||||||
|
|
||||||
=== Version 0.141
|
|
||||||
|
|
||||||
1998/09/22
|
|
||||||
|
|
||||||
- change default prompt. /[$%#>] $/ --> /[$%#>] \Z/
|
|
||||||
|
|
||||||
=== Version 0.14
|
|
||||||
|
|
||||||
1998/09/01
|
|
||||||
|
|
||||||
- IAC WILL SGA send EOL --> CR+NULL
|
|
||||||
- IAC WILL SGA IAC DO BIN send EOL --> CR
|
|
||||||
- NONE send EOL --> LF
|
|
||||||
- add Dump_log option.
|
|
||||||
|
|
||||||
=== Version 0.13
|
|
||||||
|
|
||||||
1998/08/25
|
|
||||||
|
|
||||||
- add print method.
|
|
||||||
|
|
||||||
=== Version 0.122
|
|
||||||
|
|
||||||
1998/08/05
|
|
||||||
|
|
||||||
- support for HP-UX 10.20 thanks to WATANABE Tetsuya <tetsu@jpn.hp.com>
|
|
||||||
- socket.<< --> socket.write
|
|
||||||
|
|
||||||
=== Version 0.121
|
|
||||||
|
|
||||||
1998/07/15
|
|
||||||
|
|
||||||
- string.+= --> string.concat
|
|
||||||
|
|
||||||
=== Version 0.12
|
|
||||||
|
|
||||||
1998/06/01
|
|
||||||
|
|
||||||
- add timeout, waittime.
|
|
||||||
|
|
||||||
=== Version 0.11
|
|
||||||
|
|
||||||
1998/04/21
|
|
||||||
|
|
||||||
- add realtime output.
|
|
||||||
|
|
||||||
=== Version 0.10
|
|
||||||
|
|
||||||
1998/04/13
|
|
||||||
|
|
||||||
- first release.
|
|
||||||
|
|
||||||
=end
|
=end
|
||||||
|
|
||||||
|
|
||||||
require "socket"
|
require "socket"
|
||||||
require "delegate"
|
require "delegate"
|
||||||
require "timeout"
|
require "timeout"
|
||||||
@ -455,11 +235,10 @@ module Net
|
|||||||
CR = "\015"
|
CR = "\015"
|
||||||
LF = "\012"
|
LF = "\012"
|
||||||
EOL = CR + LF
|
EOL = CR + LF
|
||||||
v = $-v
|
VERSION = "1.5.0"
|
||||||
$-v = false
|
RELEASE_DATE = "2000-06-19"
|
||||||
VERSION = "1.40"
|
VERSION_CODE = 150
|
||||||
RELEASE_DATE = "$Date$"
|
RELEASE_CODE = 20000619
|
||||||
$-v = v
|
|
||||||
|
|
||||||
def initialize(options)
|
def initialize(options)
|
||||||
@options = options
|
@options = options
|
||||||
@ -799,3 +578,170 @@ module Net
|
|||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
=begin
|
||||||
|
|
||||||
|
== HISTORY
|
||||||
|
|
||||||
|
* Sun Jun 18 23:31:44 JST 2000 - wakou
|
||||||
|
* version 1.5.0
|
||||||
|
* change: version syntax. old: x.yz, now: x.y.z
|
||||||
|
|
||||||
|
* 2000/05/24 06:57:38 - wakou
|
||||||
|
* version 1.40
|
||||||
|
* improve: binmode(), telnetmode() interface.
|
||||||
|
thanks to Dave Thomas <Dave@thomases.com>
|
||||||
|
|
||||||
|
* 2000/05/09 22:02:56 - wakou
|
||||||
|
* version 1.32
|
||||||
|
* require English.rb
|
||||||
|
|
||||||
|
* 2000/05/02 21:48:39 - wakou
|
||||||
|
* version 1.31
|
||||||
|
* Proxy option: can receive IO object.
|
||||||
|
|
||||||
|
* 2000/04/03 18:27:02 - wakou
|
||||||
|
* version 1.30
|
||||||
|
* telnet.rb --> net/telnet.rb
|
||||||
|
|
||||||
|
* 2000/01/24 17:02:57 - wakou
|
||||||
|
* version 1.20
|
||||||
|
* respond to "IAC WILL x" with "IAC DONT x"
|
||||||
|
* respond to "IAC WONT x" with "IAC DONT x"
|
||||||
|
* better dumplog format.
|
||||||
|
thanks to WATANABE Hirofumi <Hirofumi.Watanabe@jp.sony.com>
|
||||||
|
|
||||||
|
* 2000/01/18 17:47:31 - wakou
|
||||||
|
* version 1.10
|
||||||
|
* bug fix: write method
|
||||||
|
* respond to "IAC WILL BINARY" with "IAC DO BINARY"
|
||||||
|
|
||||||
|
* 1999/10/04 22:51:26 - wakou
|
||||||
|
* version 1.00
|
||||||
|
* bug fix: waitfor(preprocess) method.
|
||||||
|
thanks to Shin-ichiro Hara <sinara@blade.nagaokaut.ac.jp>
|
||||||
|
* add simple support for AO, DM, IP, NOP, SB, SE
|
||||||
|
* COUTION! TimeOut --> TimeoutError
|
||||||
|
|
||||||
|
* 1999/09/21 21:24:07 - wakou
|
||||||
|
* version 0.50
|
||||||
|
* add write method
|
||||||
|
|
||||||
|
* 1999/09/17 17:41:41 - wakou
|
||||||
|
* version 0.40
|
||||||
|
* bug fix: preprocess method
|
||||||
|
|
||||||
|
* 1999/09/14 23:09:05 - wakou
|
||||||
|
* version 0.30
|
||||||
|
* change prompt check order.
|
||||||
|
not IO::select([@sock], nil, nil, waittime) and prompt === line
|
||||||
|
--> prompt === line and not IO::select([@sock], nil, nil, waittime)
|
||||||
|
|
||||||
|
* 1999/09/13 22:28:33 - wakou
|
||||||
|
* version 0.24
|
||||||
|
* Telnet#login: if ommit password, then not require password prompt.
|
||||||
|
|
||||||
|
* 1999/08/10 05:20:21 - wakou
|
||||||
|
* version 0.232
|
||||||
|
* STATUS OUTPUT sample code typo.
|
||||||
|
thanks to Tadayoshi Funaba <tadf@kt.rim.or.jp>
|
||||||
|
host = Telnet.new({"Hosh" => "localhost"){|c| print c }
|
||||||
|
--> host = Telnet.new({"Host" => "localhost"){|c| print c }
|
||||||
|
|
||||||
|
* 1999/07/16 13:39:42 - wakou
|
||||||
|
* version 0.231
|
||||||
|
* TRUE --> true, FALSE --> false
|
||||||
|
|
||||||
|
* 1999/07/15 22:32:09 - wakou
|
||||||
|
* version 0.23
|
||||||
|
* waitfor: if end of file reached, then return nil.
|
||||||
|
|
||||||
|
* 1999/06/29 09:08:51 - wakou
|
||||||
|
* version 0.22
|
||||||
|
* new, waitfor, cmd: {"Timeout" => false} # ignore timeout
|
||||||
|
|
||||||
|
* 1999/06/28 18:18:55 - wakou
|
||||||
|
* version 0.21
|
||||||
|
* waitfor: not rescue (EOFError)
|
||||||
|
|
||||||
|
* 1999/06/04 06:24:58 - wakou
|
||||||
|
* version 0.20
|
||||||
|
* waitfor: support for divided telnet command
|
||||||
|
|
||||||
|
* 1999/05/22 - wakou
|
||||||
|
* version 0.181
|
||||||
|
* bug fix: print method
|
||||||
|
|
||||||
|
* 1999/05/14 - wakou
|
||||||
|
* version 0.18
|
||||||
|
* respond to "IAC WON'T SGA" with "IAC DON'T SGA"
|
||||||
|
* DON'T SGA : end of line --> CR + LF
|
||||||
|
* bug fix: preprocess method
|
||||||
|
|
||||||
|
* 1999/04/30 - wakou
|
||||||
|
* version 0.17
|
||||||
|
* bug fix: $! + "\n" --> $!.to_s + "\n"
|
||||||
|
|
||||||
|
* 1999/04/11 - wakou
|
||||||
|
* version 0.163
|
||||||
|
* STDOUT.write(message) --> yield(message) if iterator?
|
||||||
|
|
||||||
|
* 1999/03/17 - wakou
|
||||||
|
* version 0.162
|
||||||
|
* add "Proxy" option
|
||||||
|
* required timeout.rb
|
||||||
|
|
||||||
|
* 1999/02/03 - wakou
|
||||||
|
* version 0.161
|
||||||
|
* select --> IO::select
|
||||||
|
|
||||||
|
* 1998/10/09 - wakou
|
||||||
|
* version 0.16
|
||||||
|
* preprocess method change for the better
|
||||||
|
* add binmode method.
|
||||||
|
* change default Binmode. TRUE --> FALSE
|
||||||
|
|
||||||
|
* 1998/10/04 - wakou
|
||||||
|
* version 0.15
|
||||||
|
* add telnetmode method.
|
||||||
|
|
||||||
|
* 1998/09/22 - wakou
|
||||||
|
* version 0.141
|
||||||
|
* change default prompt. /[$%#>] $/ --> /[$%#>] \Z/
|
||||||
|
|
||||||
|
* 1998/09/01 - wakou
|
||||||
|
* version 0.14
|
||||||
|
* IAC WILL SGA send EOL --> CR+NULL
|
||||||
|
* IAC WILL SGA IAC DO BIN send EOL --> CR
|
||||||
|
* NONE send EOL --> LF
|
||||||
|
* add Dump_log option.
|
||||||
|
|
||||||
|
* 1998/08/25 - wakou
|
||||||
|
* version 0.13
|
||||||
|
* add print method.
|
||||||
|
|
||||||
|
* 1998/08/05 - wakou
|
||||||
|
* version 0.122
|
||||||
|
* support for HP-UX 10.20.
|
||||||
|
thanks to WATANABE Tetsuya <tetsu@jpn.hp.com>
|
||||||
|
* socket.<< --> socket.write
|
||||||
|
|
||||||
|
* 1998/07/15 - wakou
|
||||||
|
* version 0.121
|
||||||
|
* string.+= --> string.concat
|
||||||
|
|
||||||
|
* 1998/06/01 - wakou
|
||||||
|
* version 0.12
|
||||||
|
* add timeout, waittime.
|
||||||
|
|
||||||
|
* 1998/04/21 - wakou
|
||||||
|
* version 0.11
|
||||||
|
* add realtime output.
|
||||||
|
|
||||||
|
* 1998/04/13 - wakou
|
||||||
|
* version 0.10
|
||||||
|
* first release.
|
||||||
|
|
||||||
|
$Date$
|
||||||
|
=end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user