[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