[zorp-hu] HTTP POST DATA elemzes (AnyPyProxy)
Balazs Scheidler
bazsi at balabit.hu
2007. Május. 25., P, 16:25:47 CEST
On Wed, 2007-05-23 at 23:00 +0200, Viktor Tuska wrote:
> Szia,
>
> koszontem szepen.
> > ... gondolom a beagyazott proxy meg el is indul.
> > Ezt a logokbol tudod kideriteni, tenyleg elindult?
> >
> Ugy nez ki elindult.
> > Az AnyPy proxy meglehetosen fapados (pl. blocking I/O-t hasznal, tehat
> > full-duplex csatornakat nem lehet vele lekezelni), de alapvetoen jonak
> > tunik.
> >
> Ez azt jelentene, hogy van olyan proxy is, ami nem ilyen "fapados"
> es hasonloan config-olhato?
Mivel latom, hogy kereskedelmit hasznaltok, ezert lehetosegetek van
"programot" stackelni, ez joval kenyelmesebb, mert egyreszt akar
non-blocking I/O is hasznalhato, masreszt pedig nem muszaj python-ban
irni a beagyazott proxy-t.
Ennek modja annyi, hogy a stackelesnel nem egy proxy osztalyt, hanem egy
stringet adtok meg, amit a Zorp elindit, a 0-as fd-n megkapja a kliens
fele, az 1-esen pedig a szerver fele meno streamet.
Tehat pl:
self.request_stack["POST"] = (HTTP_STK_DATA, "/usr/local/bin/check_post")
Ez a GPL-ben nem, csak a kereskedelmiben elerheto.
A 3.1 pedig meg tovabb bovitette ezt a lehetoseget, lehetoseg van
"tavolra" stackelni, akar egy masik gepen futtatva a proxy egy reszet.
Ennek szintaxisa:
self.request_stack["POST"] = (HTTP_STK_DATA, (Z_STACK_REMOTE, SockAddrInet('127.0.0.1', 1318), "virus"))
Az itt hasznalt protokoll egyenlore nem publikus, de valoszinuleg
publikalhato. Mi ezt hasznaljuk a Zorp->ZCV kommunikaciohoz,
virusellenorzeshez.
A fentieknel persze lehet hasznalni SockAddrUnix-ot is, az valamivel
gyorsabb.
>
> Magam sem ertem miert, de nem emlekeztem erre:
> self.getRequestHeader("Content-Length")
> Ezzel egyszerubb-e valt a helyzetem es kicsit aktualitasat veszitette a
> fejlec feldolgozas es stack-eles sorrendje. ;)
ok.
> Hosszas debug-olas utan Burjan Gabor kollegammal(koszi Gabor ;) ) oda
> jutottunk, hogy valoszinuleg a bajunk, hogy a request_stack-bol a server
> fele elmeno adatfolyam mar "chunked" modban (Transfer-Endcoding:
> chunked) tovabbitodik es a server ezt nem nagyon szereti.
>
> Valoszinuleg mar megvan a patch ehhez a "hires" webserver-hez, de most
> mar keso van, hogy kiprobaljam... remelhetoleg holnap kiderul...
>
>
> Van lehetoseg nem "chunked" modban kuldeni a stream-et?
Van, mindjart valaszolok Gabor levelere is.
--
Bazsi
További információk a(z) zorp-hu levelezőlistáról