[PATCH] mod_proxy handling of chunked requests

[PATCH] mod_proxy handling of chunked requests

am 10.03.2003 15:43:54 von Mathias Herberts

This is a cryptographically signed message in MIME format.

--------------ms070103050703030001070706
Content-Type: multipart/mixed;
boundary="------------070607060805090106090806"

This is a multi-part message in MIME format.
--------------070607060805090106090806
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

The included quick patch should allow mod_proxy to pass chunked requests
as-is to origin servers.

The modification in proxy_http.c checks read_chunked to decide whether
or not to strip the Transfer-Encoding header.

Feedback appreciated,

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

--------------070607060805090106090806
Content-Type: text/plain;
name="mod_proxy-chunked.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="mod_proxy-chunked.patch"

LS0tIGFwYWNoZV8xLjMuMjcvc3JjL21vZHVsZXMvcHJveHkvbW9kX3Byb3h5 LmMub3JpZwlN
b24gTWFyIDEwIDE1OjM2OjQ4IDIwMDMKKysrIGFwYWNoZV8xLjMuMjcvc3Jj L21vZHVsZXMv
cHJveHkvbW9kX3Byb3h5LmMJTW9uIE1hciAxMCAxNTozOToxNiAyMDAzCkBA IC0zMTksNyAr
MzE5LDcgQEAKICAgICAgICAgICAgICAgICBhcF9wc3ByaW50ZihyLT5wb29s LCAiJWxkIiwg
KG1heGZ3ZCA+IDApID8gbWF4ZndkIC0gMSA6IDApKTsKICAgICB9CiAKLSAg ICBpZiAoKHJj
ID0gYXBfc2V0dXBfY2xpZW50X2Jsb2NrKHIsIFJFUVVFU1RfQ0hVTktFRF9F UlJPUikpKQor
ICAgIGlmICgocmMgPSBhcF9zZXR1cF9jbGllbnRfYmxvY2sociwgUkVRVUVT VF9DSFVOS0VE
X1BBU1MpKSkKICAgICAgICAgcmV0dXJuIHJjOwogCiAgICAgdXJsID0gci0+ ZmlsZW5hbWUg
KyA2OwotLS0gYXBhY2hlXzEuMy4yNy9zcmMvbW9kdWxlcy9wcm94eS9wcm94 eV9odHRwLmMu
b3JpZwlNb24gTWFyIDEwIDE1OjM2OjQzIDIwMDMKKysrIGFwYWNoZV8xLjMu Mjcvc3JjL21v
ZHVsZXMvcHJveHkvcHJveHlfaHR0cC5jCU1vbiBNYXIgMTAgMTU6Mzg6NTQg MjAwMwpAQCAt
Mzg3LDcgKzM4Nyw4IEBACiAgICAgICAgICAgICB8fCAhc3RyY2FzZWNtcChy ZXFoZHJzX2Vs
dHNbaV0ua2V5LCAiS2VlcC1BbGl2ZSIpCiAgICAgICAgICAgICB8fCAhc3Ry Y2FzZWNtcChy
ZXFoZHJzX2VsdHNbaV0ua2V5LCAiVEUiKQogICAgICAgICAgICAgfHwgIXN0 cmNhc2VjbXAo
cmVxaGRyc19lbHRzW2ldLmtleSwgIlRyYWlsZXIiKQotICAgICAgICAgICAg fHwgIXN0cmNh
c2VjbXAocmVxaGRyc19lbHRzW2ldLmtleSwgIlRyYW5zZmVyLUVuY29kaW5n IikKKwkgICAg
LyogT25seSBzdHJpcCBUcmFuc2Zlci1FbmNvZGluZyBpZiB3ZSBkbyBub3Qg cmVhZCBjaHVu
a3MsIGRlcGVuZHMgb24gY2FsbCB0byBhcF9zZXR1cF9jbGllbnRfYmxvY2sg Ki8KKyAgICAg
ICAgICAgIHx8ICghc3RyY2FzZWNtcChyZXFoZHJzX2VsdHNbaV0ua2V5LCAi VHJhbnNmZXIt
RW5jb2RpbmciKSAmJiAhci0+cmVhZF9jaHVua2VkKQogICAgICAgICAgICAg fHwgIXN0cmNh
c2VjbXAocmVxaGRyc19lbHRzW2ldLmtleSwgIlVwZ3JhZGUiKQogICAgICAg ICAvKgogICAg
ICAgICAgKiBYWFg6IEBAQCBGSVhNRTogIlByb3h5LUF1dGhvcml6YXRpb24i IHNob3VsZCAq
b25seSogYmUgc3VwcHJlc3NlZAo=
--------------070607060805090106090806--

--------------ms070103050703030001070706
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
Fw0wMzAzMTAxNDQzNTRaMCMGCSqGSIb3DQEJBDEWBBQSfH5YsbQTHqn0Myze V0Xma98xTTBS
BgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAN BggqhkiG9w0D
AgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBqwYJKwYBBAGCNxAEMYGd MIGaMIGSMQsw
CQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlD YXBlIFRvd24x
DzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUQ2VydGlmaWNhdGUgU2Vydmlj ZXMxKDAmBgNV
BAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJTQSAyMDAwLjguMzACAwhKdzCBrQYL KoZIhvcNAQkQ
AgsxgZ2ggZowgZIxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh cGUxEjAQBgNV
BAcTCUNhcGUgVG93bjEPMA0GA1UEChMGVGhhd3RlMR0wGwYDVQQLExRDZXJ0 aWZpY2F0ZSBT
ZXJ2aWNlczEoMCYGA1UEAxMfUGVyc29uYWwgRnJlZW1haWwgUlNBIDIwMDAu OC4zMAIDCEp3
MA0GCSqGSIb3DQEBAQUABIIBAAqimkBmReS+Rmr4CIfw/z60WewLEuztqHaZ 5EOqKEgUbu/c
Bqi/E3CuQlKRCu9RB219AeX29o7S0dvPglO0eVPlE7nHPm0x7GhStVq9IWCq F6C+mOcme9Fc
Z+MYFFIAmoMOH0En+lBmhFUaWYBQN4LRdctOMF5AoEwgIS+oxmt5VorKskZi SvK8r9fHJ+zo
QQ8sYaA9NqI3qQiKRvtnOTKHl5i0+EzWgnNEYlVUMlrepq98M6u5EJClGtJ1 K30xGpaGipos
B+OteYH4Wp4BNDKXxus+JRPsxln9/ykZJGeDnL1Wb/O6RrI/P3MMvK+LyrcG wV0kdIVga8Le
q2nDo8EAAAAAAAA=
--------------ms070103050703030001070706--