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

Daniel VASARHELYI zorp-hu@lists.balabit.hu
Sun, 14 Sep 2003 20:18:53 +0200


Hello mindenki,

valtozatos feladatokat szereztem, es kis segitsege kellene...
azt kene megcsinalni, hogy minden domain /private konyvtarat csak
ssl-lel lehessen elerni. Fel is huztam egy zorpot, megcsinaltam az
ssl-t, az ide vonatkozo konfig reszek:

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...


asd
-- 
Daniel VASARHELYI