[zorp-hu] 3.9.5 proxyLog probléma

Csányi Krisztián chris at eotvos19.hu
2014. Sze. 6., Szo, 16:21:43 CEST


Sziasztok!

Adott két tűzfal.

Az első paraméterei:
- Debian 6
- Zorp GPL 3.9.2
- Python 2.6

A második paraméterei:
- Debian 7
- Zorp GPL 3.9.5
- Python 2.7

A konfiguráció (policy.py, instances.conf) megegyezik, mégis a PlugProxy 
packetStats függvényének
hívásakor az alábbi hibát kapom a második tűzfalnál:

Sep  6 12:20:07 zfw395 zorp/iVpn[18571]: core.stderr(3): (stderr): 
Traceback (most recent call last):<0A>
Sep  6 12:20:07 zfw395 zorp/iVpn[18571]: core.stderr(3): (stderr):   
File "/etc/zorp/policy.py", line 237, in packetStats<0A>
Sep  6 12:20:07 zfw395 zorp/iVpn[18571]: core.stderr(3): (stderr):     
proxyLog(self, 'plug.debug', 3, "server->client: packet=%d, bytes=%d, 
bandwidth=%f" % (client_pkt, client_bytes, 
self.bandwidth_to_client))<0A>
Sep  6 12:20:07 zfw395 zorp/iVpn[18571]: core.stderr(3): (stderr):   
File "/usr/share/zorp/pylib/Zorp/Proxy.py", line 135, in proxyLog<0A>
Sep  6 12:20:07 zfw395 zorp/iVpn[18571]: core.stderr(3): (stderr):     
log(self.session.session_id, type, level, msg, args)<0A>
Sep  6 12:20:07 zfw395 zorp/iVpn[18571]: core.stderr(3): (stderr): 
TypeError: not all arguments converted during string formatting<0A>

A policy.py-ból a releváns rész:

###########################
class PlugProxyBase(PlugProxy):
def config(self):
PlugProxy.config(self)
self.packet_stats_interval_time = 60000

def packetStats(self, client_bytes, client_pkts, server_bytes, 
server_pkts):
proxyLog(self, 'plug.debug', 3, "server->client: packet=%d, bytes=%d, 
bandwidth=%f" % (client_pkts, client_bytes, self.bandwidth_to_client))
proxyLog(self, 'plug.debug', 3, "client->server: packet=%d, bytes=%d, 
bandwidth=%f" % (server_pkts, server_bytes, self.bandwidth_to_server))
return 1

def __destroy__(self):
log(self.session.session_id, CORE_DEBUG, 3, "Accounting data: 
client_address='%s', server_address='%s', client_stream_recvd='%s', 
client_stream_sent='%s'", (self.session.client_address, 
self.session.server_address, self.session.client_stream.bytes_recvd, 
self.session.client_stream.bytes_sent))
PlugProxy.__destroy__(self)

Lényeges, hogyha a proxyLog helyett a log függvényt használom, akkor nem 
jelentkezik a hiba:
log(self.session.session_id, 'plug.debug', 3, "server->client: 
packet=%d, bytes=%d, bandwidth=%f" % (client_pkts, client_bytes, 
self.bandwidth_to_client))
log(self.session.session_id, 'plug.debug', 3, "client->server: 
packet=%d, bytes=%d, bandwidth=%f" % (server_pkts, server_bytes, 
self.bandwidth_to_server))

A /usr/share/zorp/pylib/Zorp/Proxy.py megegyezik a két verzióban (itt 
található a proxyLog függvény).

Úgy gondolom, hogy a python verzióváltás kavart be. Viszont arra nincs 
lehetőség, hogy a 3.9.2-t kipróbáljam
2.7-es pythonnal vagy fordítva. Mi a véleményetek? Használja valaki más 
is a proxyLog függvényt a fenti konfigurációban?

A válaszokat előre is köszönöm.

Üdvözlettel: Csányi Krisztián


További információk a(z) zorp-hu levelezőlistáról