[zorp-hu] /private csak ssl-lel, http/1.1

Balazs Scheidler zorp-hu@lists.balabit.hu
Mon, 15 Sep 2003 12:42:52 +0200


On Sun, Sep 14, 2003 at 08:18:53PM +0200, Daniel VASARHELYI wrote:
> class VirtualHttp(HttpProxy):
>    def config(self):
>       HttpProxy.config(self)
>       self.request["GET"] = (HTTP_REQ_POLICY, self.filterURL)
>       self.request["POST"] = (HTTP_REQ_POLICY, self.filterURL)
> 
>    def filterURL(self, method, url, version):
>       log("http.info", 3, "GET: \"%s\" \"%s\"" % (self.session.session_id, url))
>       if re.search("http://[^/]+/private.*", url):
>          self.error_info  = "This page (/private/) is not accessible in non-secure mode."
>          log("http.info", 3, "GET: private")
>          return HTTP_REQ_REJECT;
>       return HTTP_REQ_ACCEPT;
> 
> 
> class VirtualHttpS(PsslProxy):
>    def config(self):
>       PsslProxy.config(self)
>       self.stack_proxy = VirtualHttp
> 
> 
> Az a bajom, hogy ennek felig-meddig ganyolas szaga van, trukkos esetben
> elofordulhat, hogy http keresnel is https van a "url" valtozoban. Van erre
> ennel jobb megoldas?  Pl valami valtozo beallitasa lehetne, de a
> VirtualHttpS.stack_proxy-ja egy memoriaban valo hivatkozas (ugysejtem), hogyan
> lehetne abban az objektumban egy valtozot (client_using_ssl, pl)
> beallitani, ha a VirtualHttp felett a VirtualHttpS van es nem a
> Listener...

probald esetleg a self.request_url_file-t hasznalni, ebben nem a teljes url
van benne, hanem csak a file resz. (a proxy feldarabolja az URL-t es
publikalja a request_url_* attributumokban, ezek le vannak irva a Http proxy
docstring-jeben)

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1