[zorp-hu] SSLProxy
Balazs Scheidler
zorp-hu@lists.balabit.hu
Fri, 08 Apr 2005 11:15:37 +0200
On Fri, 2005-04-08 at 06:58 +0200, Tuska Viktor wrote:
> Balazs Scheidler wrote:
>
> >mintha el lenne rontva a Service() definiciod. meg tudod azt is mutatni
> >
> Ime:
>
> def https():
> Service("office_443-http", MyHttpsProxy, router=TransparentRouter())
> Listener(SockAddrInet("1.2.3.4", 50443), "office_443-http")
>
osszeraktam a configodat es nalam mukodik. a hibauzenet alapjan olyan,
mintha ez az ertekadas nem sikerulne:
session.client_stream.name = session.session_id + '/' + self.proxy_class.name + '/client'
Mivel vagy a session.session_id, vagy a self.proxy_class.name erteke None. Elvileg egyik
sem fordulhat elo, normalis esetben. Nekem a proxy_class.name gyanusabb, a Python ugyanis
az elso esetben mas hibauzenetet adna:
Python 2.3.5 (#2, Feb 9 2005, 00:38:15)
[GCC 3.3.5 (Debian 1:3.3.5-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=None + 'abc'
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
>>> a='abc' + None
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: cannot concatenate 'str' and 'NoneType' objects
Tehat olyan, mintha a proxy osztalyodbol valamiert rossz erteke van a "name" attributumnak.
Ez az attributum adja meg a Python proxy osztalyhoz tartozo C-ben irt modult (azaz a
PsslProxy-bol szarmazott osztalyok eseten az erteke "pssl" kellene, hogy legyen)
Biztosan jo konfigreszletet kuldtel? Nem irja valami felul azt az
attributumot?
ez a policy.py file, amivel kiprobaltam:
from Zorp.Core import *
from Zorp.Plug import *
from Zorp.Http import *
from Zorp.Pssl import *
InetZone('all', '0.0.0.0/0',
inbound_services=['*'],
outbound_services=['*'])
class MyHttpProxy(HttpProxy):
def config(self):
HttpProxy.config(self)
class MyHttpsProxy(PsslProxy):
def config(self):
PsslProxy.config(self)
self.server_need_ssl = TRUE
self.client_need_ssl = TRUE
self.client_cert = 'proba.crt'
self.client_key = 'proba.key'
self.client_verify_type = SSL_VERIFY_NONE
self.server_verify_type = SSL_VERIFY_NONE
self.shutdown_soft = TRUE
self.stack_proxy = MyHttpProxy
def zorp():
Service("office_443-http", MyHttpsProxy, router=TransparentRouter())
Listener(SockAddrInet("1.2.3.4", 50443), "office_443-http")
--
Bazsi