rack
12 years agoAdd Gemfile rack-1.1
Santiago Pastorino [Mon, 22 Apr 2013 23:56:05 +0000 (20:56 -0300)]
Add Gemfile

12 years agoMerge pull request #523 from bdimcheff/fix-missing-digest
Santiago Pastorino [Tue, 23 Apr 2013 00:08:23 +0000 (17:08 -0700)]
Merge pull request #523 from bdimcheff/fix-missing-digest

prevent crash when cookie doesn't contain "--"

12 years agoprevent crash when cookie doesn't contain "--"
Brandon Dimcheff [Fri, 22 Feb 2013 04:22:16 +0000 (23:22 -0500)]
prevent crash when cookie doesn't contain "--"

This backports 881ce764f3fd70a20c5800892a132f1e6c8e7c50 so that rack
won't crash when there isn't a "--" in the rack_session cookie

12 years agoBump version number 1.1.6
James Tucker [Fri, 8 Feb 2013 03:00:10 +0000 (19:00 -0800)]
Bump version number

12 years agoUpdate README for todays releases
James Tucker [Fri, 8 Feb 2013 02:59:35 +0000 (18:59 -0800)]
Update README for todays releases

12 years agoUse secure_compare for hmac comparison
James Tucker [Wed, 6 Feb 2013 23:35:11 +0000 (15:35 -0800)]
Use secure_compare for hmac comparison

 * Closes CVE-2013-0263

12 years agoAdd secure_compare to Rack::Utils
James Tucker [Wed, 6 Feb 2013 23:31:53 +0000 (15:31 -0800)]
Add secure_compare to Rack::Utils

12 years agoBump version 1.1.5
James Tucker [Sun, 13 Jan 2013 22:00:19 +0000 (14:00 -0800)]
Bump version

12 years agoUpdate README for release. Add security section.
James Tucker [Sun, 13 Jan 2013 21:55:50 +0000 (13:55 -0800)]
Update README for release. Add security section.

Conflicts:
README

12 years agoSquash warnings in spec_auth
James Tucker [Sun, 13 Jan 2013 21:33:08 +0000 (13:33 -0800)]
Squash warnings in spec_auth

12 years agoUpdate spec_auth to work with test-spec
James Tucker [Sun, 13 Jan 2013 21:30:58 +0000 (13:30 -0800)]
Update spec_auth to work with test-spec

12 years agoReimplement auth scheme fix
James Tucker [Sun, 13 Jan 2013 21:10:20 +0000 (13:10 -0800)]
Reimplement auth scheme fix

 * Add Rack::Auth.add_scheme to enable folks to fix anything that breaks
 * Add common auth schemes, MS ones, AWS ones, etc are missing, as unlikely
 * Checked Rails - they don't use our authorization code
 * Checked Warden - uses rails
 * Checked Omniauth - uses rails
 * Checked doorkeeper - users rails
 * Checked rack-authentication - does it's own thing
 * Checked warden-oauth - doesn't do headers
 * Checked devise - uses rails
 * Checked oauth2-rack - header creation only
 * Checked rack-oauth2-server - does it's own thing
 * Probably missed a bunch, but that'll have to do

12 years agoBump to 1.1.4 1.1.4 test
James Tucker [Mon, 7 Jan 2013 01:22:27 +0000 (17:22 -0800)]
Bump to 1.1.4

12 years agoUpdate README based on the one from master
James Tucker [Sun, 6 Jan 2013 23:44:52 +0000 (15:44 -0800)]
Update README based on the one from master

12 years agoMake the Rakefile usable in presence of new RDoc
James Tucker [Fri, 4 Jan 2013 16:09:21 +0000 (11:09 -0500)]
Make the Rakefile usable in presence of new RDoc

12 years agoAdd warning to strongly recommend to people to have secrets protecting their cookies
James Tucker [Mon, 19 Mar 2012 02:11:09 +0000 (19:11 -0700)]
Add warning to strongly recommend to people to have secrets protecting their cookies

Conflicts:
test/spec_rack_session_cookie.rb

13 years agoBump version, and add release notes 1.1.3
James Tucker [Wed, 28 Dec 2011 02:28:10 +0000 (22:28 -0400)]
Bump version, and add release notes

13 years agoBackport `Limit the size of parameter keys`
James Tucker [Wed, 28 Dec 2011 00:59:42 +0000 (20:59 -0400)]
Backport `Limit the size of parameter keys`

13 years agoFix errors caused by different stdlib logger
James Tucker [Wed, 28 Dec 2011 00:59:24 +0000 (20:59 -0400)]
Fix errors caused by different stdlib logger

13 years agoBackport set_cookie_header! and delete_cookie_header! fixes from master, affecting...
James Tucker [Thu, 8 Sep 2011 18:38:36 +0000 (11:38 -0700)]
Backport set_cookie_header! and delete_cookie_header! fixes from master, affecting rack-cache and rails 2.x

13 years agoLets move things forward... (working test runs again)
James Tucker [Thu, 8 Sep 2011 18:31:49 +0000 (11:31 -0700)]
Lets move things forward... (working test runs again)

14 years agohack out tests 1.1.2
Christian Neukirchen [Sun, 13 Mar 2011 14:01:10 +0000 (15:01 +0100)]
hack out tests

14 years agoVersion 1.1.2
Christian Neukirchen [Sun, 13 Mar 2011 13:55:32 +0000 (14:55 +0100)]
Version 1.1.2

14 years agoMD5 Digest auth: fail if authenticator returns nil
Christian Neukirchen [Sun, 13 Mar 2011 00:25:45 +0000 (01:25 +0100)]
MD5 Digest auth: fail if authenticator returns nil

Fixes the authenticator API to deny access if nil is returned from the
authenticator block. Without this patch, the nil gets to_s'd to "" and
an empty password would be accepted.

Backported to rack-1.1.

Signed-off-by: Christian Neukirchen <chneukirchen@gmail.com>
14 years agoBump to 1.1.1
raggi [Tue, 1 Mar 2011 05:57:20 +0000 (21:57 -0800)]
Bump to 1.1.1

14 years agoUse Rack.release instead of two separate strings
raggi [Thu, 10 Feb 2011 03:01:06 +0000 (19:01 -0800)]
Use Rack.release instead of two separate strings

14 years agoimprove gemloader to include runtime deps if any, and not break on complex requirements
raggi [Thu, 10 Feb 2011 02:32:26 +0000 (18:32 -0800)]
improve gemloader to include runtime deps if any, and not break on complex requirements

14 years agoFix daemonize issues, may need picking into master
raggi [Thu, 10 Feb 2011 02:15:52 +0000 (18:15 -0800)]
Fix daemonize issues, may need picking into master

14 years agoFix cgi spec against implementation (same as master)
raggi [Thu, 10 Feb 2011 02:15:01 +0000 (18:15 -0800)]
Fix cgi spec against implementation (same as master)

14 years agoUse gemloader to run against older development dependency gems
raggi [Mon, 20 Dec 2010 03:23:34 +0000 (19:23 -0800)]
Use gemloader to run against older development dependency gems

14 years agoAdd gemloader script that will provide the ability to activate development dependenci...
raggi [Mon, 20 Dec 2010 03:19:47 +0000 (19:19 -0800)]
Add gemloader script that will provide the ability to activate development dependencies at the correct version for point releases

14 years agoAdd stage to gitignore
raggi [Mon, 20 Dec 2010 03:06:45 +0000 (19:06 -0800)]
Add stage to gitignore

14 years agoUpdate for 1.1.1 release
raggi [Mon, 20 Dec 2010 03:02:12 +0000 (19:02 -0800)]
Update for 1.1.1 release

14 years agoFix failing and invalid tests
raggi [Mon, 20 Dec 2010 03:01:46 +0000 (19:01 -0800)]
Fix failing and invalid tests

14 years agoFixup development dependencies in gemspec, as newer versions now cause breakage
raggi [Mon, 20 Dec 2010 03:01:07 +0000 (19:01 -0800)]
Fixup development dependencies in gemspec, as newer versions now cause breakage

14 years agomark as rack-1.1.1.pre
raggi [Mon, 20 Dec 2010 01:47:24 +0000 (17:47 -0800)]
mark as rack-1.1.1.pre

14 years agoremoved parsing of quoted values
Simon Chiang [Fri, 14 May 2010 23:26:15 +0000 (07:26 +0800)]
removed parsing of quoted values

Signed-off-by: raggi <jftucker@gmail.com>
15 years agoSet 1.1 release date 1.1
Joshua Peek [Sun, 3 Jan 2010 19:20:07 +0000 (13:20 -0600)]
Set 1.1 release date

15 years agoUpdate copyright messages
Christian Neukirchen [Sun, 3 Jan 2010 18:45:57 +0000 (19:45 +0100)]
Update copyright messages

15 years agoRemove brittle spec that relies on unstable marshal format
Joshua Peek [Sun, 3 Jan 2010 18:36:04 +0000 (12:36 -0600)]
Remove brittle spec that relies on unstable marshal format

15 years agoRevert "Add --chdir option to rackup"
Joshua Peek [Sun, 27 Dec 2009 00:10:36 +0000 (18:10 -0600)]
Revert "Add --chdir option to rackup"

This reverts commit b5a47e25cf65ad2d87cf9e20474ca372ed91c1b0

15 years agoAdd --chdir option to rackup
Joshua Peek [Sat, 26 Dec 2009 23:50:26 +0000 (17:50 -0600)]
Add --chdir option to rackup

15 years agoUse "config" instead of "rack_file"
Joshua Peek [Sat, 26 Dec 2009 23:25:20 +0000 (17:25 -0600)]
Use "config" instead of "rack_file"

15 years agoAdd shebang back to rackup
Joshua Peek [Sat, 26 Dec 2009 22:42:00 +0000 (16:42 -0600)]
Add shebang back to rackup

15 years agoNote nosqueeze change
Joshua Peek [Sat, 26 Dec 2009 17:24:20 +0000 (11:24 -0600)]
Note nosqueeze change

15 years agoMerge remote branch 'origin/nosqueeze'
Joshua Peek [Sat, 26 Dec 2009 17:17:52 +0000 (11:17 -0600)]
Merge remote branch 'origin/nosqueeze'

15 years agoAdd previous change to changelog
Joshua Peek [Sat, 26 Dec 2009 17:15:47 +0000 (11:15 -0600)]
Add previous change to changelog

15 years agoTag not found responses from file servers with X-Cascade header
Joshua Peek [Sat, 26 Dec 2009 17:10:40 +0000 (11:10 -0600)]
Tag not found responses from file servers with X-Cascade header

Prepares internal file servers for revised Rack::Cascade that looks
for a magic header instead of discarding all 404 responses.

15 years agowhoops, bad restoration
Joshua Peek [Sat, 26 Dec 2009 17:07:21 +0000 (11:07 -0600)]
whoops, bad restoration

15 years agoRestore old school tar release tools
Joshua Peek [Sat, 26 Dec 2009 17:03:42 +0000 (11:03 -0600)]
Restore old school tar release tools

15 years agoBump version and release to 1.1
Joshua Peek [Sat, 26 Dec 2009 16:58:20 +0000 (10:58 -0600)]
Bump version and release to 1.1

15 years agoupdate README, Sunshowers is not a web server
Eric Wong [Sat, 26 Dec 2009 06:25:41 +0000 (06:25 +0000)]
update README, Sunshowers is not a web server

Sunshowers is a library that can enhance Rack::Request when
used with Rainbows! but is not a server itself.  Additionally,
the official name for Rainbows! is "Rainbows!" with a bang.

Signed-off-by: Christian Neukirchen <chneukirchen@gmail.com>
15 years agoUpdate web server list in README
Christian Neukirchen [Fri, 25 Dec 2009 13:12:52 +0000 (14:12 +0100)]
Update web server list in README

15 years agoUpdate README
Christian Neukirchen [Fri, 25 Dec 2009 12:30:35 +0000 (13:30 +0100)]
Update README

15 years agoModernize packaging and publishing tasks for gemcutter
Joshua Peek [Fri, 25 Dec 2009 03:04:40 +0000 (21:04 -0600)]
Modernize packaging and publishing tasks for gemcutter

15 years agoignore dist tmp files
Joshua Peek [Fri, 25 Dec 2009 03:01:27 +0000 (21:01 -0600)]
ignore dist tmp files

15 years agoPrepare release notes for 1.1
Joshua Peek [Fri, 25 Dec 2009 02:46:36 +0000 (20:46 -0600)]
Prepare release notes for 1.1

15 years agoTest case for matching mutliple /'s in URLMap
Ryan Tomayko [Thu, 24 Dec 2009 04:42:37 +0000 (20:42 -0800)]
Test case for matching mutliple /'s in URLMap

15 years agoURLMap matches multiple /'s but does not modify PATH_INFO
Ryan Tomayko [Thu, 24 Dec 2009 04:24:56 +0000 (20:24 -0800)]
URLMap matches multiple /'s but does not modify PATH_INFO

15 years agoDon't munge PATH_INFO in URLMap
Ricardo Chimal, Jr [Thu, 29 Oct 2009 02:16:29 +0000 (19:16 -0700)]
Don't munge PATH_INFO in URLMap

15 years agoFailing testcase for URLMap squeeze issue
Ryan Tomayko [Tue, 22 Dec 2009 23:19:22 +0000 (15:19 -0800)]
Failing testcase for URLMap squeeze issue

15 years agoUse Content-Type to determine POST params parsing [#20]
Ryan Tomayko [Thu, 15 Jan 2009 13:46:21 +0000 (05:46 -0800)]
Use Content-Type to determine POST params parsing [#20]

Reverts the hard test for a 'PUT' request method (8d01dc0) and
uses the Content-Type to determine whether to read into the
request body. The Request#POST method parses the request body
if (and only if) either of the following conditions are met:

1. The request's Content-Type is application/x-www-form-urlencoded
   or multipart/form-data. Note: the REQUEST_METHOD is ignored in
   this case.

2. The original REQUEST_METHOD is 'POST' and no Content-Type header
   was specified in the request. Note that we use the REQUEST_METHOD
   value before any modifications by the MethodOverride middleware.

This is very similar to how this worked prior to 8d01dc0 but
narrows the 'no Content-Type' special case to apply only to
POST requests. A PUT request with no Content-Type header would
trigger parsing before - with this change only POST requests
with no Content-Type trigger parsing.

15 years agoStatus code lookup utility
Joshua Peek [Mon, 21 Dec 2009 02:58:34 +0000 (20:58 -0600)]
Status code lookup utility

15 years agoExtract parse_query and parse_multipart in Request so subclasses
Joshua Peek [Mon, 21 Dec 2009 02:50:15 +0000 (20:50 -0600)]
Extract parse_query and parse_multipart in Request so subclasses
can change their behavior [#71 state:resolved]

15 years agoRequest#host knows about forwared host [#77 state:resolved]
Joshua Peek [Mon, 21 Dec 2009 02:39:11 +0000 (20:39 -0600)]
Request#host knows about forwared host [#77 state:resolved]

15 years agoRequest#user_agent
Joshua Peek [Mon, 21 Dec 2009 02:22:45 +0000 (20:22 -0600)]
Request#user_agent

15 years agoexclude rackup tests by default because they often stall
Joshua Peek [Mon, 21 Dec 2009 02:18:11 +0000 (20:18 -0600)]
exclude rackup tests by default because they often stall

15 years agoMention fix-root-scriptname in KNOWN-ISSUES
Christian Neukirchen [Sun, 20 Dec 2009 13:53:26 +0000 (14:53 +0100)]
Mention fix-root-scriptname in KNOWN-ISSUES

15 years agoMerge branch 'master' of github.com:rack/rack
Christian Neukirchen [Sun, 20 Dec 2009 13:49:02 +0000 (14:49 +0100)]
Merge branch 'master' of github.com:rack/rack

15 years agoignore rackup log output
Joshua Peek [Fri, 11 Dec 2009 22:44:07 +0000 (16:44 -0600)]
ignore rackup log output

15 years agoNullLogger should actually be a middleware
Joshua Peek [Fri, 11 Dec 2009 22:42:37 +0000 (16:42 -0600)]
NullLogger should actually be a middleware

15 years agoSimple rack logger middleware that wraps rack.errors
Joshua Peek [Fri, 11 Dec 2009 22:40:57 +0000 (16:40 -0600)]
Simple rack logger middleware that wraps rack.errors

15 years agoNop NullLogger
Joshua Peek [Fri, 11 Dec 2009 22:29:43 +0000 (16:29 -0600)]
Nop NullLogger

15 years agorack.logger specification
Joshua Peek [Fri, 11 Dec 2009 22:18:41 +0000 (16:18 -0600)]
rack.logger specification

15 years agoImport Ryan's Sendfile from contrib into core
Joshua Peek [Fri, 11 Dec 2009 22:03:39 +0000 (16:03 -0600)]
Import Ryan's Sendfile from contrib into core

15 years agoImport runtime middleware by paul (Paul Sadauskas) into core
Joshua Peek [Fri, 11 Dec 2009 22:00:57 +0000 (16:00 -0600)]
Import runtime middleware by paul (Paul Sadauskas) into core

15 years agoImport etag middleware from contrib into core
Joshua Peek [Fri, 11 Dec 2009 21:52:08 +0000 (15:52 -0600)]
Import etag middleware from contrib into core

15 years agoImport Config by jcrosby (Jon Crosby) into core
Joshua Peek [Fri, 11 Dec 2009 21:40:08 +0000 (15:40 -0600)]
Import Config by jcrosby (Jon Crosby) into core

15 years agoReverse hash for looking up status codes by symbol
Joshua Peek [Fri, 11 Dec 2009 03:52:38 +0000 (21:52 -0600)]
Reverse hash for looking up status codes by symbol

15 years agoHeaderHash#each yields Lint-OK multivalue headers
Eric Wong [Fri, 11 Dec 2009 03:35:12 +0000 (21:35 -0600)]
HeaderHash#each yields Lint-OK multivalue headers

Rack::Lint does not allow header values yielded by #each to be
non-String objects, so we join them like we do in #to_hash.
This finally allows HeaderHash to be passed in the Rack response
as a header without needing #to_hash.

Signed-off-by: Joshua Peek <josh@joshpeek.com>
15 years agoCommonLogger uses HeaderHash to lookup Content-Length
Eric Wong [Fri, 11 Dec 2009 03:34:50 +0000 (21:34 -0600)]
CommonLogger uses HeaderHash to lookup Content-Length

Since HeaderHash is cheaper to use now, encourage its usage
instead of reinventing a way to lookup header values with
an enforced O(n) overhead.

Under best conditions, this can now be done in O(1) time if the
rest of our middleware stack already uses (and passes)
HeaderHash.  This does make things slower if CommonLogger is the
only middleware in the stack, however that's probably not too
common.

Signed-off-by: Joshua Peek <josh@joshpeek.com>
15 years agoavoid HeaderHash#to_hash in middlewares
Eric Wong [Fri, 11 Dec 2009 03:34:17 +0000 (21:34 -0600)]
avoid HeaderHash#to_hash in middlewares

Since HeaderHash objects are valid header responses, avoid
converting the headers to Hash objects only to have it
reconverted back to HeaderHash in the next middleware.

Signed-off-by: Joshua Peek <josh@joshpeek.com>
15 years agoHeaderHash.new avoids unnecessary object creation
Eric Wong [Fri, 11 Dec 2009 03:33:53 +0000 (21:33 -0600)]
HeaderHash.new avoids unnecessary object creation

Creating a new HeaderHash is an O(n) operation in addition to
the cost of allocating a new object.  When using multiple pieces
of middleware, this can lead to unnecessary memory allocation
and iteration overhead.   We now explicitly define the
HeaderHash.new class method to return its original argument if
it is already a HeaderHash to avoid repeating work.

Signed-off-by: Joshua Peek <josh@joshpeek.com>
15 years agoFixed multipart parameter parsing for when a field's body ends at the same time as...
Derek and Matt [Mon, 16 Nov 2009 18:50:27 +0000 (13:50 -0500)]
Fixed multipart parameter parsing for when a field's body ends at the same time as a chunk (i.e. we've reached EOL and buffer is empty)

15 years agoIntroduce failing test case for multipart parser when it slices exactly on a boundary...
Bosko Milekic [Thu, 5 Nov 2009 21:00:10 +0000 (16:00 -0500)]
Introduce failing test case for multipart parser when it slices exactly on a boundary and patch multipart parser so it passes it - the failing test case comes with a sample payload specific to the fact that the default bufsize used by the multipart parser is exactly 16384.  should this default be changed, the test will no longer apply.

15 years agoTell people to report bugs to lighthouse
Joshua Peek [Fri, 11 Dec 2009 03:08:01 +0000 (21:08 -0600)]
Tell people to report bugs to lighthouse

15 years agoDon't delete PATH_INFO from env in fastcgi, mongrel, and webrick
Joshua Peek [Fri, 11 Dec 2009 03:03:32 +0000 (21:03 -0600)]
Don't delete PATH_INFO from env in fastcgi, mongrel, and webrick
handlers because PATH_INFO must not be nil according to SPEC
[#75 state:resolved]

15 years agoMerge branch 'memcache-session-bugfix'
Scytrin dai Kinthra [Thu, 3 Dec 2009 21:10:28 +0000 (13:10 -0800)]
Merge branch 'memcache-session-bugfix'

* memcache-session-bugfix:
  Test-fix for shallow copy change checks
  Added test for deep hash checks, prevent shallow copy check failure
  Session::Memcache fixes
  Updating Session::Memcache test
  Inlining of #merge_sessions

15 years agoTest-fix for shallow copy change checks
Scytrin dai Kinthra [Thu, 3 Dec 2009 21:07:46 +0000 (13:07 -0800)]
Test-fix for shallow copy change checks
Simplification of new/missing session keys

15 years agoAdded test for deep hash checks, prevent shallow copy check failure
Scytrin dai Kinthra [Thu, 3 Dec 2009 21:04:16 +0000 (13:04 -0800)]
Added test for deep hash checks, prevent shallow copy check failure
Rewording variables for clarity

15 years agoSession::Memcache fixes
Scytrin dai Kinthra [Mon, 23 Nov 2009 04:15:28 +0000 (20:15 -0800)]
Session::Memcache fixes

Restructing logical branches to be less inlince
Uniform naming of variables
Fix of of inline session merging

15 years agoUpdating Session::Memcache test
Scytrin dai Kinthra [Mon, 23 Nov 2009 04:12:04 +0000 (20:12 -0800)]
Updating Session::Memcache test

Pointless instantiation removed
Moved bad connection check above good connection check
A blank string for the server specification uses defaults, fixed

15 years agoInlining of #merge_sessions
Scytrin dai Kinthra [Mon, 23 Nov 2009 02:08:53 +0000 (18:08 -0800)]
Inlining of #merge_sessions

15 years agoMerge branch 'quoted-string-cookies'
Scytrin dai Kinthra [Thu, 3 Dec 2009 03:54:36 +0000 (19:54 -0800)]
Merge branch 'quoted-string-cookies'

* quoted-string-cookies:
  Test added to check to ensure that quoted values are properly parsed

15 years agoTest added to check to ensure that quoted values are properly parsed
Scytrin dai Kinthra [Thu, 3 Dec 2009 03:32:56 +0000 (19:32 -0800)]
Test added to check to ensure that quoted values are properly parsed
Using a regular expression to identify quoted string values, could be optimized

15 years agoFix typo on lib/rack/session/pool.rb
mig-hub [Tue, 24 Nov 2009 12:35:04 +0000 (20:35 +0800)]
Fix typo on lib/rack/session/pool.rb

15 years agoAdded mime type for .manifest (HTML5 offline storage)
Geoffrey Grosenbach [Tue, 1 Dec 2009 18:47:38 +0000 (02:47 +0800)]
Added mime type for .manifest (HTML5 offline storage)

15 years agoResponse should call #to_i on the status, as per the spec.
Chris Wanstrath [Tue, 17 Nov 2009 05:02:04 +0000 (13:02 +0800)]
Response should call #to_i on the status, as per the spec.

"The status, if parsed as integer (to_i), must be greater than or equal
to 100."

15 years agoExtract the option parser
Carl Lerche [Mon, 23 Nov 2009 23:06:30 +0000 (15:06 -0800)]
Extract the option parser

Signed-off-by: Joshua Peek <josh@joshpeek.com>
15 years agoInitial removal of OpenID related files
Scytrin dai Kinthra [Sun, 22 Nov 2009 23:45:20 +0000 (15:45 -0800)]
Initial removal of OpenID related files
Removal of references in Rakefile and the core include