Commit graph

227 commits

Author SHA1 Message Date
drbrain
35bb53430c * lib/webrick/httpservlet/erbhandler.rb: Allow the ERB document to
alter the content-type of the response.  [Ruby 1.9 - Bug #4685]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-16 05:37:31 +00:00
naruse
d5a775f527 * lib/webrick/https.rb (WEBrick::HTTPRequest#parse_uri):
keep parse_uri as private. patched by okkez. [Bug #4773]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29 14:14:38 +00:00
drbrain
1ebfbd7c63 * lib/webrick/compat.rb: Improve documentation. Patch by Sandor
Szücs.  [Ruby 1.9 - Bug #4725]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-17 20:29:58 +00:00
nobu
3a47cf3395 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
drbrain
d6e3bc4ce4 * lib/webrick/httpservlet/erbhandler.rb: Add documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-12 22:37:01 +00:00
nagachika
1111afbe5a * lib/csv.rb: fix a typo.
* lib/logger.rb: ditto
  * lib/rss.rb: ditto
  * lib/webrick/httpauth/authenticator.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-11 10:22:16 +00:00
drbrain
8c2a52937f * lib/webrick: Add documentation for WEBrick::HTTPAuth
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-10 23:37:43 +00:00
drbrain
071a678a15 * lib/webrick: Add Documentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-10 00:13:58 +00:00
drbrain
38b4876bb0 * lib/webrick/log.rb: Hide copyright info from ri
* lib/webrick/httpstatus.rb: ditto
	* lib/webrick/htmlutils.rb: ditto
	* lib/webrick/httpversion.rb: ditto
	* lib/webrick/version.rb: ditto
	* lib/webrick/httpauth/userdb.rb: ditto
	* lib/webrick/httpauth/authenticator.rb: ditto
	* lib/webrick/accesslog.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-09 19:22:41 +00:00
nahi
cc8bc6b7b6 Fri Apr 1 18:53:06 2011 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* lib/webrick/cookie.rb (WEBrick::Cookie.parse): 'white space is
          permitted between tokens' according to RFC2965. Though 'Netscape 
          spec' does not define the syntax clearly, make it tolerant as a 
          server. As a real-world example, rest-client gem sends
          'Cookie: foo=1;bar=2'

        * test/webrick/test_cookie.rb (test_parse_non_whitespace): test it. 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-01 10:02:03 +00:00
akr
d99801bbc8 * lib/webrick/accesslog.rb (WEBrick::AccessLog#format): support
%{remote}p for logging remote (client) port number.
  [ruby-dev:42670]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-09 10:16:50 +00:00
marcandre
f3e3547407 * lib/*.rb: Remove unused variable warnings.
Patch by Run Paint [ruby-core:30991]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 20:59:01 +00:00
naruse
a671a06d25 * lib/webrick/httprequest.rb (read_request_line): extend max
length to 2083. This is from Internet Explorer's max uri
  length. http://support.microsoft.com/kb/208427 [ruby-core:32924]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-28 04:53:57 +00:00
naruse
f3fb1954eb * lib/webrick/httpauth/digestauth.rb
(WEBrick::HTTPAuth::ProxyDigestAuth#check_uri): privated.
  [ruby-dev:42344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-21 06:56:17 +00:00
drbrain
073e6ccc7b Add documentation for WEBrick's DigestAuth
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-11 06:21:51 +00:00
nahi
a4fa58f9ab * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#continue): add
method for generating HTTP/1.1 100 continue response if the client
          expects it, otherwise does nothing.  Patch by Brian Candler.
          ref #855.

        * test/webrick/test_httprequest.rb: test added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-10 10:20:35 +00:00
shyouhei
29b30b66f3 merge revision(s) 28997:
* lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#set_error):
	  Fix for possible cross-site scripting (CVE-2010-0541). 
	  Found by Apple, reported by Hideki Yamane.
	  Patch by Hirokazu Nishio <nishio.hirokazu AT gmail.com>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-16 03:41:12 +00:00
naruse
6434e1e690 * lib/webrick/httprequest.rb (WEBrick::HTTPRequest::parse_uri):
rollup leading slashes. [ruby-core:31657]
  patched by Jamison Wilde
  NOTE: //authority/path is valid relative URI both RFC2396 and
  RFC3986. So when give a relative URI-like string to URI lib,
  users must care leading slashes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-10 05:59:11 +00:00
nahi
d61f475bb1 * lib/webrick/ssl.rb (WEBrick::Utils.create_self_signed_cert):
merged r28784 from ruby_1_8: wrongly created dummy SSL certificate 
          with version == 3 (no such version) and serial == 0 (must be >0). 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-30 23:26:53 +00:00
mame
ab408009fc * lib/webrick/httpservlet/filehandler.rb
(prevent_directory_traversal): apply filesystem encoding to path
  only during calling File.expand_path.  [ruby-dev:41423]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-17 16:26:00 +00:00
naruse
d7cc39658c * lib/webrick/httpservlet/cgihandler.rb
(WEBrick::HTTPServlet::CGIHandler#do_GET):
  set binary mode for tempfile.
  1265467681/286

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-12 08:48:10 +00:00
nobu
f00951bb25 * lib/webrick/httpservlet/filehandler.rb (make_partial_content):
add bytes-unit.  [ruby-dev:40030]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-18 08:16:07 +00:00
nobu
12278f0b70 * lib/webrick/https.rb (parse_uri, meta_vars): suppress warnings.
* lib/webrick/ssl.rb (listen): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-17 05:31:52 +00:00
nobu
6dcd551a4b * lib/webrick/accesslog.rb (WEBrick::AccessLog#format): fixed typo.
* lib/webrick/httpstatus.rb (WEBrick::HTTPStatus::Status#initialize):
  accept 0 or more arguments.  [ruby-dev:40021]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-11 04:30:37 +00:00
shyouhei
73cd7b6697 * lib/webrick/accesslog.rb : Escape needed.
* lib/webrick/httpstatus.rb : ditto.

	* lib/webrick/httprequest.rb : ditto.

	* lib/webrick/httputils.rb : ditto.

	* test/webrick/test_cgi.rb (TestWEBrickCGI::test_bad_): Test for it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-10 09:33:47 +00:00
akr
c0b4e90f08 * tool/mkconfig.rb: generate RbConfig.ruby in rbconfig.rb.
* lib/webrick/httpservlet/cgihandler.rb: use RbConfig.ruby.

* test/ruby/envutil.rb: ditto.

* benchmark/report.rb: ditto.

* benchmark/runc.rb: ditto.

* tool/eval.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-31 15:00:04 +00:00
matz
b85f286833 * lib/webrick/config.rb (WEBrick::Config): typo fixed. a patch
from Sho Hashimoto in [ruby-dev:39835].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-19 08:01:19 +00:00
naruse
604f01f2b8 * lib/webrick/httpservlet/filehandler.rb: escape filename of index.
[ruby-dev:37768]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-06 07:04:50 +00:00
nahi
9cf0cf92f2 * lib/webrick/httpauth/digestauth.rb: typo in exception message fixed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-20 15:17:37 +00:00
nobu
c0a09d9594 * lib/webrick/httpservlet/abstract.rb (do_OPTIONS): method names
are symbols now.  [ruby-core:24580]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-03 19:46:18 +00:00
naruse
cde491005e * lib/webrick/httputils.rb (parse_form_data): escape boundary of
multipart/form-data when embed in regexp.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 22:42:13 +00:00
nobu
287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
matz
9d2ecf3d90 * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_request_line):
use possessive match for path retrieval to avoid huge recursion
  for insanely long path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-18 06:58:55 +00:00
matz
877ac7236a * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#do_CONNECT):
use #bytesize instead of #size.  a patch submitted from
  raspberry lemon in  [ruby-core:18571].

* lib/webrick/httpauth/digestauth.rb, lib/webrick/httpproxy.rb,
  lib/webrick/httprequest.rb, lib/webrick/httpservlet/cgi_runner.rb,
  lib/webrick/httpservlet/abstract.rb, lib/webrick/httpresponse.rb,
  lib/webrick/httpservlet/cgihandler.rb, lib/webrick/utils.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-08 09:41:24 +00:00
mame
b5a0eb6754 * lib/webrick/httpauth/digestauth.rb
(WEBrick::HTTPAuth::DigestAuth#initialize): fix typo.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-31 12:31:22 +00:00
kazu
2d302dfd40 * lib/webrick/server.rb (WEBrick::GenericServer#shutdown):
rescue Errno::ENOTCONN and close. [ruby-dev:35896]

* test/openssl/test_ssl.rb (OpenSSL#start_server): ditto.
  [ruby-dev:35897]

* lib/net/imap.rb (Net::IMAP#disconnect): ditto. [ruby-dev:35898]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 11:12:06 +00:00
gotoyuzo
d4835a2703 * lib/webrick/cgi.rb (WEBrick::CGI::Socket#eof?): added lacked method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-17 17:33:13 +00:00
nobu
1181a092af * lib/webrick/httputils.rb (WEBrick::HTTPUtils#split_header_value):
reduce backtrack.  based on a fix by Christian Neukirchen
  <chneukirchen AT gmail.com>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-25 14:35:21 +00:00
matz
e6c1752137 * lib/rdoc.rb: massive spelling correction patch from Evan Farrar
<evanfarrar at gmail.com> in [ruby-doc:1382] applied.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-04 09:37:38 +00:00
knu
d27c31e041 * lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler#do_GET):
Set the HTTP status code to 302 if a Location header field is
  present and the status code is not valid as a client
  redirection.  cf. RFC 3875 6.2.3, 6.2.4.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-28 07:13:04 +00:00
gotoyuzo
8ee3267d26 * lib/webrick/httpservlet/filehandler.rb: should normalize path
name in path_info to prevent script disclosure vulnerability on
  DOSISH filesystems. (fix: CVE-2008-1891)
  Note: NTFS/FAT filesystem should not be published by the platforms
  other than Windows. Pathname interpretation (including short
  filename) is less than perfect.

* lib/webrick/httpservlet/abstract.rb
  (WEBrick::HTTPServlet::AbstracServlet#redirect_to_directory_uri):
  should escape the value of Location: header.

* lib/webrick/httpservlet/cgi_runner.rb: accept interpreter
  command line arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18 13:33:24 +00:00
drbrain
be710a0391 * lib/rdoc/parsers/parse_rb.rb: Fix uninitialized variable warnings.
* lib/rdoc/generator/html.rb: ditto.

* lib/rdoc/options.rb: Fix shadowed variable warning.

* lib/webrick/httprequest.rb: Fix redefined method warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-04 21:16:19 +00:00
gotoyuzo
10a0d4b61d * lib/webrick/httpservlet/filehandler.rb: should normalize path
separators in path_info to prevent directory traversal
  attacks on DOSISH platforms.
  reported by Digital Security Research Group [DSECRG-08-026].

* lib/webrick/httpservlet/filehandler.rb: pathnames which have
  not to be published should be checked case-insensitively.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-03 14:31:30 +00:00
naruse
40d8d38909 * ext/json/lib/json/pure/generator.rb,
ext/json/lib/json/pure/parser.rb, ext/openssl/lib/openssl/x509.rb,
ext/win32ole/sample/olegen.rb, lib/date/format.rb, lib/irb/context.rb,
lib/irb/workspace.rb, lib/net/http.rb, lib/net/imap.rb,
lib/rdoc/generator.rb, lib/rdoc/markup/to_html.rb,
lib/rdoc/markup/to_latex.rb, lib/rdoc/parsers/parse_c.rb,
lib/rdoc/ri/formatter.rb, lib/rexml/parsers/baseparser.rb,
lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rss/parser.rb,
lib/uri/common.rb, lib/uri/generic.rb, lib/webrick/httpresponse.rb,
lib/webrick/httpservlet/filehandler.rb, lib/yaml/baseemitter.rb,
lib/yaml/encoding.rb: performance tuning arround String#gsub.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 06:18:06 +00:00
gotoyuzo
b04f5e661f * lib/webrick/httprequest.rb: supprt X-Forwarded-* header fields.
WEBrick::HTTPRequest#{host,port,request_uri} is derived having
  regards to X-Forwarded-Proto and X-Forwarded-Host.

* lib/webrick/httprequest.rb
  (WEBrick::HTTPRequest#server_name?): new method.
  (WEBrick::HTTPRequest#remote_ip?): new method.
  (WEBrick::HTTPRequest#ssl?): new method.
* string.c (rb_enc_cr_str_buf_cat): fix self appending.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-09 11:37:03 +00:00
gotoyuzo
a5505ab833 * lib/webrick/server.rb (WEBrick::HTTPServer#start):
:DoNotReverseLookup option had not been performed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-09 04:46:55 +00:00
gotoyuzo
cc3350f118 * lib/webrick/httpservlet/cgihandler.rb: external encoding of
tempfiles is set to "ASCII-8BIT".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-07 11:40:41 +00:00
gotoyuzo
aaf78dec43 * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):
call do_XXX which corespond with request method.
  (WEBrick::HTTPProxyServer#do_CONNECT,do_GET,do_POST,do_HEAD): added.

* test/webrick/test_httpproxy.rb: add test for WEBrick::HTTPProxyServer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-31 14:17:41 +00:00
gotoyuzo
6c9d911423 * lib/webrick/httpservley/cgihandler.rb
(WEBrick::HTTPServlet::CGIHandler#do_GET): m17nized.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-24 15:30:02 +00:00
gotoyuzo
a04281ff0e * lib/webrick/server.rb (WEBrick::GenericServer#accept_client):
should rescue Errno::EINVAL from TCPServer#accept. this exception
  might occur if the server socket is not in ready to listen.

* lib/webrick/server.rb (WEBrick::GenericServer#accept_client):
  don't call TCPServer#close if the :ShutdownSocketWithoutClose is set.

* lib/webrick/config.rb (WEBrick::Config::General): add new parameter
  :ShutdownSocketWithoutClose.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 14:43:03 +00:00