[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