summaryrefslogtreecommitdiff
path: root/lib/webrick
AgeCommit message (Collapse)Author
2008-08-22* lib/webrick/server.rb (WEBrick::GenericServer#shutdown):kazu
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-17* lib/webrick/cgi.rb (WEBrick::CGI::Socket#eof?): added lacked method.gotoyuzo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-25* lib/webrick/httputils.rb (WEBrick::HTTPUtils#split_header_value):nobu
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-06-04* lib/rdoc.rb: massive spelling correction patch from Evan Farrarmatz
<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-05-28* lib/webrick/httpservlet/cgihandler.rb ↵knu
(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-18* lib/webrick/httpservlet/filehandler.rb: should normalize pathgotoyuzo
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-04-04* lib/rdoc/parsers/parse_rb.rb: Fix uninitialized variable warnings.drbrain
* 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-03-03* lib/webrick/httpservlet/filehandler.rb: should normalize pathgotoyuzo
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-02-12* ext/json/lib/json/pure/generator.rb,naruse
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-01-09* lib/webrick/httprequest.rb: supprt X-Forwarded-* header fields.gotoyuzo
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* lib/webrick/server.rb (WEBrick::HTTPServer#start):gotoyuzo
: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-07* lib/webrick/httpservlet/cgihandler.rb: external encoding ofgotoyuzo
tempfiles is set to "ASCII-8BIT". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-31* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):gotoyuzo
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-24* lib/webrick/httpservley/cgihandler.rbgotoyuzo
(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-18* lib/webrick/server.rb (WEBrick::GenericServer#accept_client): gotoyuzo
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* lib/rss/parser.rb, lib/rss/atom.rb, lib/rss/rss.rb,gotoyuzo
test/rss/rss-assertions.rb, test/rss/test_atom.rb: use pack/unpack("m") instead of base64 library. * lib/webrick/httpproxy.rb: use delete("\n") instead of chomp/chop because the result of pack("m") might be multi-line. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17* lib/webrick/httprequest.rb, lib/webrick/cgi.rb: Request-Line orgotoyuzo
header fields shold be read with maximum length. [ruby-talk:231745] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-04 * lib/webrick/httpauth/authenticator.rbnahi
(WEBrick::HTTPAuth::Authenticator#check_scheme): auth-scheme must be treated as a case-insensitive token according to RFC 2617 section 1.2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29* parse.y (assoc_list): remove expanded hash literal (no splat).matz
* lib/webrick/httpstatus.rb (WEBrick::HTTPStatus::EOFError): adapt to new syntax. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-04* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):gotoyuzo
Arrays could not be modified in its each block. [ruby-dev:30063] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 * Merge YARVko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-01* lib/webrick/httputils.rb (WEBrick::HTTPUtils::FormData::<<):gotoyuzo
HTTPUtils::parse_header() takes a string. [ruby-dev:29931] * lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse_header): String does no longer have each method. * lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse_form_data): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-02* lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): Symbol shouldmatz
come earlier than String. * lib/soap/mapping/rubytypeFactory.rb (RubytypeFactory::obj2soap): ditto. * lib/set.rb (TC_Set::test_s_new): strings are no longer Enumerable * lib/soap/property.rb (Property::load): ditto. * lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse_header): ditto. * lib/soap/mimemessage.rb (MIMEMessage::Headers::parse): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-08* lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookies): newgotoyuzo
method to parse multiple cookies per Set-Cookie header. Thanks to Aaron Patterson <aaron_patterson at speakeasy.net>. [ruby-core:08802] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-31* lib/webrick/httprequest.rb (WEBrick::HTTPReuqest#parse_uri): improvegotoyuzo
for the value of IPv6 address in the Host: header field. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-18* lib/webrick/httpserver.rb (WEBrick::HTTPServer::unmount): removematz
inpect argument from sprintf. [ruby-dev:29039] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-30* lib/webrick/httputils.rb (WEBrick::HTTPUtils._escape): shouldgotoyuzo
use String#ord to get ascii code from the one-character string. [ruby-dev:28901] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-18* lib/webrick/config.rb (WEBrick::Config::HTTP): add new parameters,gotoyuzo
:InputBufferSize and :OutputBufferSize. * lib/webrick/utils.rb (WEBrick::Utils.timeout): add new timeout method. this implementation is expected to be compatible with timeout.rb and faster than timeout.rb. * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#_read_data): Timeout.timeout is replaced by WEBrick::Utils.timeout. * lib/webrick/httprequest.rb: WEBrick::HTTPRequest::BUFSIZE is replaced by config[:InputBufferSize]. * lib/webrick/httpresposne.rb: WEBrick::HTTPResponse::BUFSIZE is replaced by config[:OutputBufferSize]. * lib/webrick/server.rb: get rid of unnecessary require. * test/webrick/test_utils.rb: test for WEBrick::Utils.timeout. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-20* mkconfig.rb: generate RbConfig instead of Config.akr
* instruby.rb, rubytest.rb, runruby.rb, bcc32/Makefile.sub, ext/extmk.rb, ext/dl/extconf.rb, ext/iconv/charset_alias.rb, lib/mkmf.rb, lib/rdoc/ri/ri_paths.rb, lib/webrick/httpservlet/cgihandler.rb, test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/ruby/envutil.rb, test/soap/calc/test_calc_cgi.rb, test/soap/header/test_authheader_cgi.rb, test/soap/ssl/test_ssl.rb, win32/mkexports.rb, win32/resource.rb: Use RbConfig instead of Config. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-20* lib/webrick/httpservlet/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler):matz
qualify the access for Config constant. [ruby-dev:28338] * lib/resolv.rb (Resolv::DNS::Resource::IN::A): qualify ClassValue. [ruby-dev:28338] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-09* win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag,ocean
(VisualC++6) so use -O2b2xg- if $(MSC_VER) < 1400. [ruby-core:7040] * lib/webrick/httpservlet/filehandler.rb: fixed typo. (Kero van Gelder) [ruby-core:7075] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-30* lib/webrick/httpservlet/cgihandler.rbgotoyuzo
(WEBrick::HTTPServlet::CGIHandler#do_GET): the value of Set-Cookie: header field should be splited into each cookie. [ruby-Bugs:2199] * lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method to parse the value of Set-Cookie: header field. * test/webrick/test_cookie.rb, test/webrick/test_cgi.rb, test/webrick/webrick.cgi: add some test for cookie. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-14* lib/webrick/config.rb (Config::FileHandler): :UserDir should be nil.gotoyuzo
It is harmful to permit the access to ~/public_html by default. suggested by Hiroyuki Iwatsuki. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-28* lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string shouldgotoyuzo
refer the value of QUERY_STRING. [ruby-list:41186] * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#query_string=): add new method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-15* lib/webrick/cgi.rb (WEBrick::CGI::Socket#initialize): should setgotoyuzo
$stdout.binmode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-07* lib/webrick/httpproxy.rb (HTTPProxyServer#intialize),gotoyuzo
lib/webrick/httpserver.rb (HTTPServer#intialize), lib/webrick/httpservlet/cgihandler.rb (CGIHandler#initialize), lib/webrick/httpservlet/erbhandler.rb (ERBHandler#initialize), lib/webrick/httpservlet/filehandler.rb(DefaultFileHandler#initialize): super (called with no arguments) takes default value of optional arguments. [ruby-dev:26743] * lib/webrick/httputils.rb: add a media-type "text/html" for .xhtml. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-14* lib/webrick/server.rb (WEBrick::GenericServer#accept_client):gotoyuzo
sockets should be non-blocking mode. [ruby-dev:26405] * lib/webrick/utils.rb (WEBrick::Utils.set_non_blocking): new method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-10* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):gotoyuzo
mistook to merge the patch of [ruby-dev:26235] at revision 1.11. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-03cosmetic.nahi
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-25* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_query): shouldgotoyuzo
discard if key=val pair is empty. patch from Gary Wright. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-31* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): shouldgotoyuzo
break the loop if the socket reached to EOF. [ruby-talk:142285] * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): send response without reading the whole request body if keep-alive is diabled. [experimental] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-27* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):gotoyuzo
ENV["REQUEST_URI"] is better to get correct Request-URI than ENV["SCRIPT_NAME"] + ENV["PATH_INFO"]. [ruby-dev:26235] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-29* lib/webrick/cgi.rb: new methods WEBrick::CGI#[], WEBrick::CGI#loggergotoyuzo
and WEBrick::CGI#config. these are necessary to use an instance of WEBrick::CGI as the first argument of HTTPServlet#get_instance. (suggested by Tatsuki Sugiura) * lib/webrick/cgi.rb (WEBrick::CGI#initalize): set a dummy to @config[:ServerSoftware] if SERVER_SOFTWARE environment variable is not given. (WEBrick::CGI#start): req.path_info must be a String. (WEBrick::CGI::Socket#request_line): treat REQUEST_METHOD, PATH_INFO and SCRIPT_NAME to run in console. * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape_path): should not use String#split("/"). it removes trailing empty path component. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-23*** empty log message ***gotoyuzo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-07* lib/webrick/server.rb (WEBrick::GenericServer#start): shouldgotoyuzo
restore @token if accept failure. suggested by Dominique Brezinski. [ruby-core:04518] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-13* lib/webrick/cgi.rb (WEBrick::CGI.start): should set reason-phrasegotoyuzo
to the value of status header field. ([ruby-dev:40617]) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-10* lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line): shouldgotoyuzo
escape SCRIPT_NAME and PATH_INFO before being parsed as a URI. * lib/webrick/httputils.rb (WEBrick::HTTPUtils#escape_path): add new method to escape URI path component. * lib/webrick/ssl.rb (WEBrick::Config::SSL): the default value of :SSLEnable is false. * test/webrick/{test_cgi.rb,webrick.cgi}: new file. * test/webrick/utils.rb: require "webrick/https.h". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-07* lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):gotoyuzo
should delete trailing LF from the result of pack("m*"). * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect): - should delete trailing LF from the result of pack("m*"). - clear Request-Line not to send the sesponse by HTTPServer#run. * lib/webrick/httputils (WEBrick::HTTPUtils.parse_qvalues): refine regexp (and change the name of a local variable). * lib/webrick/server.rb (WEBrick::Daemon.start): prepared stdio don't allow changing its mode. * test/webrick/*, sample/webrick/httpproxy.rb: add new files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-02* missed in last commit.gotoyuzo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-02* lib/webrick/httpauth/htpasswd.rb (WEBrick::Htpasswd#reload):gotoyuzo
raise NotImplementedError if password is encrypted by digest algorithms. This patch is contributed by sheepman. [ruby-list:40467] * lib/webrick/httpauth/digestauth.rb (WEBrick::HTTPAuth::DigestAuth#_authenticate): fix digest calculation. This patch is contributed by sheepman. [ruby-list:40482] * lib/webrick/{httpauth.rb,httpauth/basicauth.rb,httpproxy.rb}: use pack/unpack-template char "m" instead of lib/base64.rb to do base64 encoding/decoding. fixed: [ruby-dev:25336] * test/webrick/test_httpauth.rb: new file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e