diff options
| author | Martin Willi <martin@revosec.ch> | 2015-02-27 13:59:23 +0100 |
|---|---|---|
| committer | Martin Willi <martin@revosec.ch> | 2015-03-18 13:59:14 +0100 |
| commit | 61fb10c8cf2fd432b1f154d8c5b1aaa2c5b4c7a1 (patch) | |
| tree | 16820b5fdcca624a1194e6d6dd04369906390f46 /src/libcharon/plugins/vici/python | |
| parent | 358793389a98d29887a6bb72f9b48166f6dcb197 (diff) | |
| download | strongswan-61fb10c8cf2fd432b1f154d8c5b1aaa2c5b4c7a1.tar.bz2 strongswan-61fb10c8cf2fd432b1f154d8c5b1aaa2c5b4c7a1.tar.xz | |
vici: Support non-Unix sockets for vici connections using Python
Diffstat (limited to 'src/libcharon/plugins/vici/python')
| -rw-r--r-- | src/libcharon/plugins/vici/python/vici/protocol.py | 8 | ||||
| -rw-r--r-- | src/libcharon/plugins/vici/python/vici/session.py | 8 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/libcharon/plugins/vici/python/vici/protocol.py b/src/libcharon/plugins/vici/python/vici/protocol.py index fe4e5d7b5..60b94ede9 100644 --- a/src/libcharon/plugins/vici/python/vici/protocol.py +++ b/src/libcharon/plugins/vici/python/vici/protocol.py @@ -11,10 +11,8 @@ class Transport(object): HEADER_LENGTH = 4 MAX_SEGMENT = 512 * 1024 - def __init__(self, address="/var/run/charon.vici"): - self.address = address - self.socket = socket.socket(socket.AF_UNIX) - self.socket.connect(address) + def __init__(self, sock): + self.socket = sock def send(self, packet): self.socket.sendall(struct.pack("!I", len(packet)) + packet) @@ -191,4 +189,4 @@ class FiniteStream(io.BytesIO): return len(self.getvalue()) def has_more(self): - return self.tell() < len(self)
\ No newline at end of file + return self.tell() < len(self) diff --git a/src/libcharon/plugins/vici/python/vici/session.py b/src/libcharon/plugins/vici/python/vici/session.py index dd0249318..cffac6a8d 100644 --- a/src/libcharon/plugins/vici/python/vici/session.py +++ b/src/libcharon/plugins/vici/python/vici/session.py @@ -1,4 +1,5 @@ import collections +import socket from .exception import SessionException from .protocol import Transport, Packet, Message @@ -11,8 +12,11 @@ CommandResult = collections.namedtuple( class Session(object): - def __init__(self, address="/var/run/charon.vici"): - self.handler = SessionHandler(Transport(address)) + def __init__(self, sock=None): + if sock is None: + sock = socket.socket(socket.AF_UNIX) + sock.connect("/var/run/charon.vici") + self.handler = SessionHandler(Transport(sock)) def version(self): """Retrieve daemon and system specific version information. |
