[zorp-hu] Re: =?iso-8859-2?Q?=5Bzorp-hu=5D_Nem-transzparens_proxy_m=F3d?=

Balazs Scheidler bazsi@balabit.hu
Fri, 31 Aug 2001 15:24:52 +0200


On Fri, Aug 31, 2001 at 02:25:52PM +0200, Hegedus Ferenc wrote:
> On 2001 Aug 31 at 13:35, Zákány Gergely wrote:
> > ja igen, most talaltam az arhivumban egy http/s beagyazott izet, majd az
> > lesz inkabb.
> 
> Ha a PsslProxy-ra gondolsz es sikerul felrakni nem transparent, csak 
> InbandChainer-el legyszi ird meg hogyan. Koszi

Nem transzparens modban HTTPS-t atvinni egy kicsit maskepp kell, de ennek
oka a protokoll miatt van. Ha be van allitva HTTP proxy-d, es https-t akarsz
elerni, akkor a bongeszo a proxyt szolitja meg, kuld neki egy CONNECT
kerest, majd a beagyazott reszben beszelget a szerverrel de mar transzparens
modban. Tehat ezt valami ilyesmivel lehet leirni:

class HttpProxyNT(HttpProxy):

	class ConnectProxy(PsslProxy):

		class EmbeddedHttpProxy(HttpProxy):
			def config(self):
				HttpProxy.config(self)
				# alapbol transzparens...
				pass

		def config(self):
			PsslProxy.config(self)
			self.server_need_ssl = TRUE
			self.client_need_ssl = TRUE
			self.client_cert = '/etc/zorp/https.crt'
			self.client_key = '/etc/zorp/https.key'
			self.stack_proxy = self.EmbeddedHttpProxy

	def config(self):
		HttpProxy.config(self)
		self.transparent_mode = FALSE
		self.request["CONNECT"] = (HTTP_POLICY, self.checkConnect)
		self.connect_proxy = self.ConnectProxy

	def checkConnect(self, method, url, version):
		# itt ellenorzes
		return Z_ACCEPT

(persze a szimbolumok fuggnek attol, hogy hogyan importalsz, ha igy:
from Zorp.Http import *

akkor nem kell kiirni a modul nevet, ha igy:

import Zorp.Http

akkor ki kell)

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