From mboxrd@z Thu Jan 1 00:00:00 1970 Delivered-To: chneukirchen@gmail.com Received: by 10.142.191.1 with SMTP id o1cs12715wff; Thu, 10 Dec 2009 16:03:13 -0800 (PST) Received: from mr.google.com ([10.91.41.14]) by 10.91.41.14 with SMTP id t14mr867598agj.17.1260489791266 (num_hops = 1); Thu, 10 Dec 2009 16:03:11 -0800 (PST) Received: by 10.91.41.14 with SMTP id t14mr129837agj.17.1260489789720; Thu, 10 Dec 2009 16:03:09 -0800 (PST) X-BeenThere: rack-devel@googlegroups.com Received: by 10.213.104.96 with SMTP id n32ls375396ebo.1.p; Thu, 10 Dec 2009 16:03:07 -0800 (PST) Received: by 10.213.75.202 with SMTP id z10mr76756ebj.7.1260489787229; Thu, 10 Dec 2009 16:03:07 -0800 (PST) Received: by 10.213.75.202 with SMTP id z10mr76755ebj.7.1260489787155; Thu, 10 Dec 2009 16:03:07 -0800 (PST) Return-Path: Received: from mail-ew0-f215.google.com (mail-ew0-f215.google.com [209.85.219.215]) by gmr-mx.google.com with ESMTP id 17si143017ewy.3.2009.12.10.16.03.06; Thu, 10 Dec 2009 16:03:06 -0800 (PST) Received-SPF: pass (google.com: domain of jftucker@gmail.com designates 209.85.219.215 as permitted sender) client-ip=209.85.219.215; Received: by mail-ew0-f215.google.com with SMTP id 7so478512ewy.38 for ; Thu, 10 Dec 2009 16:03:06 -0800 (PST) Received: by 10.213.96.207 with SMTP id i15mr3451005ebn.69.1260489785950; Thu, 10 Dec 2009 16:03:05 -0800 (PST) Return-Path: Received: from ?192.168.1.107? (bb-87-81-237-21.ukonline.co.uk [87.81.237.21]) by mx.google.com with ESMTPS id 14sm826061ewy.15.2009.12.10.16.03.03 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 10 Dec 2009 16:03:04 -0800 (PST) From: James Tucker Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: multipart/signed; boundary=Apple-Mail-1-862224818; protocol="application/pkcs7-signature"; micalg=sha1 Subject: Re: PATH_INFO spec (with regard to ";") Date: Fri, 11 Dec 2009 00:03:02 +0000 In-Reply-To: <20091210223037.GB22867@dcvr.yhbt.net> To: rack-devel@googlegroups.com References: <20091210223037.GB22867@dcvr.yhbt.net> Message-Id: <6C9FF58B-36A8-429F-85E1-3C34CF984DF9@gmail.com> X-Mailer: Apple Mail (2.1077) X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jftucker@gmail.com designates 209.85.219.215 as permitted sender) smtp.mail=jftucker@gmail.com; dkim=pass (test mode) header.i=@gmail.com X-Original-Sender: jftucker@gmail.com Reply-To: rack-devel@googlegroups.com Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: X-Thread-Url: http://groups.google.com/group/rack-devel/t/5984cfeef920f24d X-Message-Url: http://groups.google.com/group/rack-devel/msg/1472bb4f143965a8 Sender: rack-devel@googlegroups.com List-Unsubscribe: , List-Subscribe: , --Apple-Mail-1-862224818 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 10 Dec 2009, at 22:30, Eric Wong wrote: > Hi all, >=20 > I've been notified privately that my changes for PATH_INFO in Unicorn > 0.95.2 (which also got into Thin) may not be completely kosher, but = I'm > also asking for the Rack team to clarify PATH_INFO for HTTP parser > implementers. >=20 >=20 > Upon further reading (and also of the > related-but-not-necessarily-true-for-Rack RFC 3875 section 4.1.5), > I came across this: >=20 > Unlike a URI path, the PATH_INFO is not URL-encoded, and cannot > contain path-segment parameters. >=20 > First off, Rack already directly contradicts the "the PATH_INFO is not > URL-encoded" part, so Unicorn conforms to Rack specs over RFC 3875. >=20 > *But* Rack does not address the "cannot contain path-segment = parameters" > part at all. So I (and probably a few other people) would like > clarification on how to handle PATH_INFO when it comes to ";" >=20 >=20 > Things to keep in mind: >=20 > * URI.parse keeps ";" in URI::HTTP#path > This point may not be relevant to us, as PATH_INFO and > URI::HTTP#path should not necessarily be treated as equals >=20 > * WEBrick keeps ";" in PATH_INFO >=20 > * PEP333 (which Rack is based on) does not go into this level of > detail regarding PATH_INFO and path segments >=20 > * PATH_INFO in Rack appears to be based on CGI/1.1 (RFC 3875) >=20 > * Again, Rack already contradicts the URL encoding rules of RFC 3875 > for PATH_INFO, so there is precedence for Rack contradicting more > of RFC 3875... >=20 > * Rack::Request#full_path only looks at PATH_INFO + QUERY_STRING, > this means many Rack applications may never see the ";" parts > if Thin and Unicorn revert to old behavior. >=20 > * Rack does not require REQUEST_URI, this is an extension Unicorn > and Thin both carried over from Mongrel. >=20 > * None of the official rack/rack-contrib middleware use REQUEST_URI * http://twistedmatrix.com/trac/ticket/1361 * http://jira.codehaus.org/browse/JETTY-980 (although not directly = relevant, may be food for thought) * = http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1994q1.messages/3.h= tml (ancient history) * http://code.google.com/p/googleappengine/issues/detail?id=3D1340 > Of course, in the grand scheme of things, hardly anybody uses ";" in > paths. Yay for rare corner cases making our lives difficult. Amen, because I feel like I want to say "be configurable", given all of = the above. >=20 > --=20 > Eric Wong --Apple-Mail-1-862224818 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJljCCBEYw ggOvoAMCAQICEGb9R+PCGeToms2Z3fU6yyQwDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA1MTAyODAwMDAwMFoXDTE1MTAyNzIzNTk1OVow gd0xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp Z24gVHJ1c3QgTmV0d29yazE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZl cmlzaWduLmNvbS9ycGEgKGMpMDUxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUG A1UEAxMuVmVyaVNpZ24gQ2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHMjCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnfrOfq+PgDFMQAktXBfjbCPO98chXLwKuMPRyV zm8eECw/AO2XJua2x+atQx0/pIdHR0w+VPhs+Mf8sZ69MHC8l7EDBeqV8a1AxUR6SwWi8mD81zpl Yu//EHuiVrvFTnAt1qIfPO2wQuhejVchrKaZ2RHp0hoHwHRHQgv8xTTq/ea6JNEdCBU3otdzzwFB L2OyOj++pRpu9MlKWz2VphW7NQIZ+dTvvI8OcXZZu0u2Ptb8Whb01g6J8kn+bAztFenZiHWcec5g J925rXXOL3OVekA6hXVJsLjfaLyrzROChRFQo+A8C67AClPN1zBvhTJGG+RJEMJs4q8fef/btLUC AwEAAaOB/zCB/DASBgNVHRMBAf8ECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHFwEw KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYTALBgNVHQ8EBAMCAQYw EQYJYIZIAYb4QgEBBAQDAgEGMC4GA1UdEQQnMCWkIzAhMR8wHQYDVQQDExZQcml2YXRlTGFiZWwz LTIwNDgtMTU1MB0GA1UdDgQWBBQRfV4ZfTwE32ps1qKKGj8x2DuUUjAxBgNVHR8EKjAoMCagJKAi hiBodHRwOi8vY3JsLnZlcmlzaWduLmNvbS9wY2ExLmNybDANBgkqhkiG9w0BAQUFAAOBgQA8o9oC YzrEk6qrctPcrVA4HgyeFkqIt+7r2f8PjZWg1rv6aguuYYTYaEeJ70+ssh9JQZtJM3aTi55uuUMc YL3C3Ioth8FFwBFyBBprJCpsb+f8BxMp0Hc6I+f1wYVoGb/GAVQgGa41gsxiPGEJxvTV67APpp8z hZrTcY5Qj5ndYjCCBUgwggQwoAMCAQICECeMlak0fpR8Io4+aS7PnaswDQYJKoZIhvcNAQEFBQAw gd0xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp Z24gVHJ1c3QgTmV0d29yazE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZl cmlzaWduLmNvbS9ycGEgKGMpMDUxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUG A1UEAxMuVmVyaVNpZ24gQ2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHMjAeFw0w OTExMjAwMDAwMDBaFw0xMDExMjAyMzU5NTlaMIIBETEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4x HzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5j b20vcmVwb3NpdG9yeS9SUEEgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMpOTgxHjAcBgNVBAsT FVBlcnNvbmEgTm90IFZhbGlkYXRlZDEzMDEGA1UECxMqRGlnaXRhbCBJRCBDbGFzcyAxIC0gTmV0 c2NhcGUgRnVsbCBTZXJ2aWNlMRUwEwYDVQQDFAxKYW1lcyBUdWNrZXIxITAfBgkqhkiG9w0BCQEW EmpmdHVja2VyQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOAB6yX/ 8ziknn0eW8pEvxNyz16y+pkpvHXtm09QNWS9UpWuyq2j1HDDW91sLqcla79IxYDGjRuuerfVLuFw 16lvZyENeb+NoajnA1Paow+taYqKuSQMNVjVFiy2ZPcZREKFOUUB+GkYLz6ErZ/2CB8esdB11Xya r/S2/8Qm3VM4xwaAf0Thq5zKimnkM+yXZEicYV8Ny+IxnxDMEvzolqJVdfMGnlbhcv1LFj96Rt9v kuV/J4lpmDTP1SXlIqprPFD4rC8Q54ktnhBjZt4jQkQ/RRE3f4GhnACpomSzjmw99Com6gT1/YaL tT00yCMwCxrGxgYT8em2XZ79HaIpW20CAwEAAaOBzDCByTAJBgNVHRMEAjAAMEQGA1UdIAQ9MDsw OQYLYIZIAYb4RQEHFwEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3Jw YTALBgNVHQ8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMEoGA1UdHwRDMEEw P6A9oDuGOWh0dHA6Ly9JbmRDMURpZ2l0YWxJRC1jcmwudmVyaXNpZ24uY29tL0luZEMxRGlnaXRh bElELmNybDANBgkqhkiG9w0BAQUFAAOCAQEALH+Csg+lKzykCtckS9T/1M/b2LYbn1egArQeg1WN cj2xWet7/4eM+nnswKcQNYgDOI8hb6dwkB/aPPR/D9buUyQZzSeCoXFEpnAMFGcp5q2mxELBjHiu toKCBAKYjV9X8kcJYnW6ypJG+9UOL8JXEYU42i16UAQCizljT+lubYefVudNKNzpcTPbGJ0lF0zh q/HN5lEPBAhJsj8P79zMy96YQdLNli0ulVDwdv761+kyCtZlV3bBtQM9YHXBArUDC0Dr3ByzkrBG rKvVf+VmRXf82ytatHKNGantVZ51jhKTBylmm0OqVI/ZIS/IzGtKcTlakp91R5EuLI4NY6RKgjGC BIswggSHAgEBMIHyMIHdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAd BgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBo dHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTA1MR4wHAYDVQQLExVQZXJzb25hIE5vdCBW YWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWduIENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVy IENBIC0gRzICECeMlak0fpR8Io4+aS7PnaswCQYFKw4DAhoFAKCCAm0wGAYJKoZIhvcNAQkDMQsG CSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDkxMjExMDAwMzAzWjAjBgkqhkiG9w0BCQQxFgQU vgMXJlUG1mpmysGnVkszR7OVv+QwggEDBgkrBgEEAYI3EAQxgfUwgfIwgd0xCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y azE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEg KGMpMDUxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3MDUGA1UEAxMuVmVyaVNpZ24g Q2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBHMgIQJ4yVqTR+lHwijj5pLs+dqzCC AQUGCyqGSIb3DQEJEAILMYH1oIHyMIHdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24s IEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9m IHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTA1MR4wHAYDVQQLExVQZXJz b25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlZlcmlTaWduIENsYXNzIDEgSW5kaXZpZHVhbCBT dWJzY3JpYmVyIENBIC0gRzICECeMlak0fpR8Io4+aS7PnaswDQYJKoZIhvcNAQEBBQAEggEAGsW4 dkq+QLqgB9eS++ZeKt9xv75HjlUfo7fSzyqTkrleksmudHNVMYfT2hp4rqJaEDa+vJBxBuxhFlcM 2D3F/xIehQHCciPmlbr4IZKcZaBnvI1eRifs5roLNyfAMtibl9omN2pDCjRzy4eX4dTPwPQXw63c F2UR6s1/dZz8xy3C/xdRn+GlegY3vvjVTi+xR64JchvIZm8j1jhOWlbOSZ4Ac2qvqtdCoBAyeV4/ FOXXck9XzrpcdATCkduxfmg51iy17lumm7Voseis/lihyTy9d/txZ6rgHepflppxvDrkSXVURz+O 37vNt3qlXNU+a6WnlBv/vypI5QYjWvNJpgAAAAAAAA== --Apple-Mail-1-862224818--