[PATCH] mod_proxy handling of chunked requests
am 11.03.2003 15:13:55 von Mathias HerbertsThis is a cryptographically signed message in MIME format.
--------------ms090303050900090200090901
Content-Type: multipart/mixed;
boundary="------------010006030903070703030508"
This is a multi-part message in MIME format.
--------------010006030903070703030508
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Here is my second shot of a patch solving the issue of requests sent
using 'Transfer-Encoding: chunked' and handled by mod_proxy in Apache
1.3.27. Basically it changes mod_proxy behavior from
REQUEST_CHUNKED_ERROR to REQUEST_CHUNKED_PASS, meaning requests sent
using chunked transfer encoding will be passed as is to the origin server.
This patch is minimal and does not modify the behavior of mod_proxy for
non chunked requests, it issues an additional 'Transfer-Encoding:
chunked' when the request used one.
Please provide any feedback.
Mathias.
--
-- Informatique du Credit Mutuel ---- Reseaux et Systemes Distribues
-- 32 rue Mirabeau -- Le Relecq-Kerhuon -- 29808 Brest Cedex 9, FRANCE
-- Tel +33298004653 - Fax +33298284005 - Mail Mathias.Herberts@gicm.fr
-- Key Fingerprint: 8778 D2FD 3B4A 6B33 10AB F503 63D0 ADAE 9112 03E4
--------------010006030903070703030508
Content-Type: text/plain;
name="GICMApache-mod_proxy-chunked-requests.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="GICMApache-mod_proxy-chunked-requests.patch"
LS0tIGFwYWNoZV8xLjMuMjcvc3JjL21vZHVsZXMvcHJveHkvcHJveHlfaHR0 cC5jLm9yaWcJ
TW9uIE1hciAxMCAxNTozNjo0MyAyMDAzCisrKyBhcGFjaGVfMS4zLjI3L3Ny Yy9tb2R1bGVz
L3Byb3h5L3Byb3h5X2h0dHAuYwlUdWUgTWFyIDExIDEwOjU2OjEzIDIwMDMK QEAgLTQwNCw2
ICs0MDQsMTQgQEAKICAgICAgICAgYXBfYnZwdXRzKGYsIHJlcWhkcnNfZWx0 c1tpXS5rZXks
ICI6ICIsIHJlcWhkcnNfZWx0c1tpXS52YWwsIENSTEYsIE5VTEwpOwogICAg IH0KIAorICAg
IC8qCisgICAgICogT3V0cHV0IGEgVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5r ZWQgaGVhZGVy
IGlmIHJlcXVlc3QgdXNlZCBpdC4KKyAgICAgKi8KKworICAgIGlmIChyLT5y ZWFkX2NodW5r
ZWQpIHsKKyAgICAgIGFwX2J2cHV0cyhmLCAiVHJhbnNmZXItRW5jb2Rpbmc6 IGNodW5rZWQi
LCBDUkxGLCBOVUxMKTsKKyAgICB9CisKICAgICAvKiB0aGUgb2JsaWdhdG9y eSBlbXB0eSBs
aW5lIHRvIG1hcmsgdGhlIGVuZCBvZiB0aGUgaGVhZGVycyAqLwogICAgIGFw X2JwdXRzKENS
TEYsIGYpOwogCi0tLSBhcGFjaGVfMS4zLjI3L3NyYy9tb2R1bGVzL3Byb3h5 L21vZF9wcm94
eS5jLm9yaWcJTW9uIE1hciAxMCAxNTozNjo0OCAyMDAzCisrKyBhcGFjaGVf MS4zLjI3L3Ny
Yy9tb2R1bGVzL3Byb3h5L21vZF9wcm94eS5jCU1vbiBNYXIgMTAgMTU6Mzk6 MTYgMjAwMwpA
QCAtMzE5LDcgKzMxOSw3IEBACiAgICAgICAgICAgICAgICAgYXBfcHNwcmlu dGYoci0+cG9v
bCwgIiVsZCIsIChtYXhmd2QgPiAwKSA/IG1heGZ3ZCAtIDEgOiAwKSk7CiAg ICAgfQogCi0g
ICAgaWYgKChyYyA9IGFwX3NldHVwX2NsaWVudF9ibG9jayhyLCBSRVFVRVNU X0NIVU5LRURf
RVJST1IpKSkKKyAgICBpZiAoKHJjID0gYXBfc2V0dXBfY2xpZW50X2Jsb2Nr KHIsIFJFUVVF
U1RfQ0hVTktFRF9QQVNTKSkpCiAgICAgICAgIHJldHVybiByYzsKIAogICAg IHVybCA9IHIt
PmZpbGVuYW1lICsgNjsK
--------------010006030903070703030508--
--------------ms090303050900090200090901
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEH AQAAoIIJ5DCC
AzgwggKhoAMCAQICEGZFcrfMdPXPY3ZFhNAukQEwDQYJKoZIhvcNAQEEBQAw gdExCzAJBgNV
BAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUg VG93bjEaMBgG
A1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp b24gU2Vydmlj
ZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFp bCBDQTErMCkG
CSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0w MDA4MzAwMDAw
MDBaFw0wNDA4MjcyMzU5NTlaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMM V2VzdGVybiBD
YXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsG A1UECxMUQ2Vy
dGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWls IFJTQSAyMDAw
LjguMzAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAN4zMqZjxwklRT7S bngnZ4HF2ogZ
gpcO40QpimM1Km1wPPrcrvfudG8wvDOQf/k0caCjbZjxw0+iZdsN+kvx1t1h pfmFzVWaNRqd
knWoJ67Ycvm6AvbXsJHeHOmr4BgDqHxDQlBRh4M88Dm0m1SKE4f/s5udSWYA LQmJ7JRr6aFp
AgMBAAGjTjBMMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFi ZWwxLTI5NzAS
BgNVHRMBAf8ECDAGAQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQQF AAOBgQAxsUtH
XfkBceX1U2xdedY9mMAmE2KBIqcS+CKV6BtJtyd7BDm6/ObyJOuR+r3sDSo4 91BVqGz3Da1M
G7wD9LXrokefbKIMWI0xQgkRbLAaadErErJAXWr5edDqLiXdiuT82w0fnQLz WtvKPPZE6iZp
h39Ins6ln+eE2MliYq0FxjCCA1AwggK5oAMCAQICAwhKdzANBgkqhkiG9w0B AQQFADCBkjEL
MAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ Q2FwZSBUb3du
MQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZp Y2VzMSgwJgYD
VQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwMB4XDTAyMDkx NzA5MzA1MVoX
DTAzMDkxNzA5MzA1MVowaTERMA8GA1UEBBMISGVyYmVydHMxEDAOBgNVBCoT B01hdGhpYXMx
GTAXBgNVBAMTEE1hdGhpYXMgSGVyYmVydHMxJzAlBgkqhkiG9w0BCQEWGE1h dGhpYXMuSGVy
YmVydHNAZ2ljbS5mcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ALOMVpaFTv4v
fZKOxPmOIUTMXZEBkN/wjAT8VujS7VXNjiHbBBLCBvq0hEH6K74wDK0UzUbq PmOSK9Gd3oa/
zmc4ac6XTaUjlBsAMO79OGqkzL1bWIKNlbqE5EcpzFPQB7plfym9Mwhq/B4g KB17GiYVYwUm
isHtemj/Ovs1GpBXu45y/GNV/ipSsbDuP0C0KHeQhRsohpdCBOvWFm3LylHU o/BLxMKeGY2z
PjizycjA1AkGJQebiipiz8JVHsRaED6wE+wNj77HDtX792nEBf+OfhTT9Xws jZWLEZEDtG4K
1iRwWmofCel9zjfqlx7NXISJax0dO78YM+xE0o9Y7YMCAwEAAaNYMFYwDgYD VR0PAQH/BAQD
AgP4MBEGCWCGSAGG+EIBAQQEAwIFoDAjBgNVHREEHDAagRhNYXRoaWFzLkhl cmJlcnRzQGdp
Y20uZnIwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQBpFVhPi0SZ pma4qXmNigvH
mujHDRB8SKQqmc0HbFJWA18m44RV3RMxGnQdNqOFoXt2T1azUIpQPAxObIpE Vw9+kzO7pQAo
I0HfgyBbrA6Sh1Y8lqpbsRQpP/AJAdFVCRQG2Y3egb2/NCVDD68q3c14xMw2 BQigmfcab55e
XAk9KDCCA1AwggK5oAMCAQICAwhKdzANBgkqhkiG9w0BAQQFADCBkjELMAkG A1UEBhMCWkEx
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMQ8w DQYDVQQKEwZU
aGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQD Ex9QZXJzb25h
bCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwMB4XDTAyMDkxNzA5MzA1MVoXDTAz MDkxNzA5MzA1
MVowaTERMA8GA1UEBBMISGVyYmVydHMxEDAOBgNVBCoTB01hdGhpYXMxGTAX BgNVBAMTEE1h
dGhpYXMgSGVyYmVydHMxJzAlBgkqhkiG9w0BCQEWGE1hdGhpYXMuSGVyYmVy dHNAZ2ljbS5m
cjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALOMVpaFTv4vfZKO xPmOIUTMXZEB
kN/wjAT8VujS7VXNjiHbBBLCBvq0hEH6K74wDK0UzUbqPmOSK9Gd3oa/zmc4 ac6XTaUjlBsA
MO79OGqkzL1bWIKNlbqE5EcpzFPQB7plfym9Mwhq/B4gKB17GiYVYwUmisHt emj/Ovs1GpBX
u45y/GNV/ipSsbDuP0C0KHeQhRsohpdCBOvWFm3LylHUo/BLxMKeGY2zPjiz ycjA1AkGJQeb
iipiz8JVHsRaED6wE+wNj77HDtX792nEBf+OfhTT9XwsjZWLEZEDtG4K1iRw WmofCel9zjfq
lx7NXISJax0dO78YM+xE0o9Y7YMCAwEAAaNYMFYwDgYDVR0PAQH/BAQDAgP4 MBEGCWCGSAGG
+EIBAQQEAwIFoDAjBgNVHREEHDAagRhNYXRoaWFzLkhlcmJlcnRzQGdpY20u ZnIwDAYDVR0T
AQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQBpFVhPi0SZpma4qXmNigvHmujH DRB8SKQqmc0H
bFJWA18m44RV3RMxGnQdNqOFoXt2T1azUIpQPAxObIpEVw9+kzO7pQAoI0Hf gyBbrA6Sh1Y8
lqpbsRQpP/AJAdFVCRQG2Y3egb2/NCVDD68q3c14xMw2BQigmfcab55eXAk9 KDGCA9UwggPR
AgEBMIGaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBl MRIwEAYDVQQH
EwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUQ2VydGlm aWNhdGUgU2Vy
dmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJTQSAyMDAwLjgu MzACAwhKdzAJ
BgUrDgMCGgUAoIICDzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqG SIb3DQEJBTEP
Fw0wMzAzMTExNDEzNTVaMCMGCSqGSIb3DQEJBDEWBBThsoyxZd9KoxwB6wvf V2kBaM5EpjBS
BgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAN BggqhkiG9w0D
AgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBqwYJKwYBBAGCNxAEMYGd MIGaMIGSMQsw
CQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlD YXBlIFRvd24x
DzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUQ2VydGlmaWNhdGUgU2Vydmlj ZXMxKDAmBgNV
BAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJTQSAyMDAwLjguMzACAwhKdzCBrQYL KoZIhvcNAQkQ
AgsxgZ2ggZowgZIxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh cGUxEjAQBgNV
BAcTCUNhcGUgVG93bjEPMA0GA1UEChMGVGhhd3RlMR0wGwYDVQQLExRDZXJ0 aWZpY2F0ZSBT
ZXJ2aWNlczEoMCYGA1UEAxMfUGVyc29uYWwgRnJlZW1haWwgUlNBIDIwMDAu OC4zMAIDCEp3
MA0GCSqGSIb3DQEBAQUABIIBAAWanEBBdEbWYX1FrlrsQBNVARRJ9EbA39UX 4PzY6jnKucKS
SzwLk9Td2O1/BFcgyHD84eIAeX41bo5/wywAK0kCwqt9RkJ5EdnfHdTFMnDB vPUdWdsSzJUS
0IP0CO0ZkYAQWv2ODt+6c7DmWvyXwnPNIwOt+Y42H8VfIuZFca/tSnDWNxSD WpQIrR06iT7+
myNann0mb6r0UbZtK4fQyUq6Jxx78DKGKpHNJgkX/4N8RgXKqd45osGr4jpo Em05Ss+xoD1e
FaHCUbM6lgIwRIYW9N2sXYPq9iVGyTVM9UEKz2N9aengxujmk5vQaIpi0+Wk 0NrqTKmNq5tr
HkysMNUAAAAAAAA=
--------------ms090303050900090200090901--