[zorp-hu] HTTP POST DATA elemzes (AnyPyProxy)

Balazs Scheidler bazsi at balabit.hu
2007. Május. 25., P, 16:39:24 CEST


On Thu, 2007-05-24 at 10:23 +0200, Gabor Burjan wrote:
> Szia,
> 
> On Wed, May 23, 2007 at 11:00:01PM +0200, Viktor Tuska wrote:
> 
> > Van lehetoseg nem "chunked" modban kuldeni a stream-et?
> 
> A forrast bogaraszva nem igazan talaltunk ilyen lehetoseget, egy
> tesztrendszeren a csatolt patch es policy segitsegevel sikerul
> lebeszelni a zorpot az enchunkingrol.  Kerdeznem, hogy mennyire nyultam
> melle a patch-csel :), illetve hogy terveztek-e ilyen feature-t a
> kereskedelmi valtozatba.

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.

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.

Ezt a 3.0-ban csak C-ben irt proxybol lehet elerni, valahogy igy:

      ZProxyResultIface *iface;
      
      iface = z_proxy_find_iface(self->super.parent_proxy, Z_CLASS(ZProxyResultIface));
      if (iface)
        {
          z_proxy_result_set_content_length(iface, content_length);
          z_object_unref(&iface->super);
        }


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 shell script max. tesztelesi celokat szolgal, nincs benne hibakezeles.
latszik belole a protokoll, meg ki tudod probalni, hogy tenyleg
megoldja-e a problemadat.

-- 
Bazsi
--------- következő rész ---------
Egy nem text típusú csatolt állomány át lett konvertálva...
Név: stackprog.sh
Típus: application/x-shellscript
Méret: 822 bytes
Leírás: nem elérhető
Url : http://lists.balabit.hu/pipermail/zorp-hu/attachments/20070525/224ac6a3/stackprog.bin


További információk a(z) zorp-hu levelezőlistáról