Szia, On Fri, May 25, 2007 at 04:39:24PM +0200, Balazs Scheidler wrote:
Az altalad kuldott patch-csel az a problema, hogy csak akkor mukodik, ha a gyerek proxy nem valtoztatja meg a stream hosszat. Es ha megteszi, akkor a Content-Length fejlecben hibas hossz megy at, es a kommunikacio fennakad.
Ahh, az vilagos volt, hogy egy csunya hack a patch es csak abban az esetben mukodik, hiszen ekkor meg nem ismert a modositott stream es - gondolom - pont ezert enchunkol a zorp. Csak ilyen adatokra is teszteltem, mert a streamet nem modositjuk, csak a streambol gyujtott adatokkal dolgozunk.
A megoldas az, hogy a HTTP proxynak meg kell mondani, hogy mennyi _lesz_ a hossz, mielott a gyerek proxy elkezd felfele adatot kuldeni. Igy a HTTP rendes content-length fejlecet kuld.
Ebben az esetben igazabol az egesz postot be kell olvasni elore, ugye?
Ezt a 3.0-ban csak C-ben irt proxybol lehet elerni, valahogy igy: [...] A 3.1-ben ugyanezt az API-t kivittuk a kulso program stackelesehez egy egyszeru protokollal (ugyanaz, mint amit a Zorp-ZCV hasznal).
Tehat, 3.0-ban C-ben kell irni az gyerek proxyt ahhoz, hogy a HTTP ne chunked modban kuldjon, 3.1-ben pedig akar kulso programbol is meg lehet ugyanezt tenni. Csatolok egy shell scriptet, ami lekeri a beagyazo proxytol a hosszt, majd ugyanazt tovabbkuldi.
A process stackelessel kapcsolatban egyebkent az volt az aggaly, hogy a forkok nagyon megfogjak a zorpot.
a shell script max. tesztelesi celokat szolgal, nincs benne hibakezeles. latszik belole a protokoll, meg ki tudod probalni, hogy tenyleg megoldja-e a problemadat.
Az eredeti (chunkolt cookie ertelmezesevel kapcsolatos) problema egyebkent megoldodott, a zorp mogott levo szerverrel volt gond. Az archivum kedveert, hatha valakinek jol jon: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6494180 Az infokat es a segitseget koszonom, ezzel es a C-ben irt proxyval kivancsisagbol azert eljatszok egy kicsit. buga