diff --git a/i2plib/sam.py b/i2plib/sam.py index 3a09076..224086a 100644 --- a/i2plib/sam.py +++ b/i2plib/sam.py @@ -1,8 +1,6 @@ from base64 import b64decode, b64encode, b32encode from hashlib import sha256 import struct -import random -import string import re @@ -50,13 +48,6 @@ class Message(object): return self._reply_string -def generate_session_id(length=6): - """Generate random session id""" - rand = random.SystemRandom() - sid = [rand.choice(string.ascii_letters) for _ in range(length)] - return "i2plib-" + "".join(sid) - - # SAM request messages def hello(min_version, max_version): diff --git a/i2plib/tunnel.py b/i2plib/tunnel.py index 2fdaeba..bd93044 100644 --- a/i2plib/tunnel.py +++ b/i2plib/tunnel.py @@ -45,7 +45,7 @@ class I2PTunnel(object): options={}, loop=None, sam_address=i2plib.sam.DEFAULT_ADDRESS): self.local_address = local_address self.destination = destination - self.session_name = session_name or i2plib.sam.generate_session_id() + self.session_name = session_name or i2plib.utils.generate_session_id() self.options = options self.loop = loop self.sam_address = sam_address diff --git a/i2plib/utils.py b/i2plib/utils.py index a5f86f8..117bee6 100644 --- a/i2plib/utils.py +++ b/i2plib/utils.py @@ -1,5 +1,8 @@ import socket import os +import random +import string + import i2plib.sam def get_free_port(): @@ -31,3 +34,9 @@ def get_sam_address(): value = os.getenv("I2P_SAM_ADDRESS") return address_from_string(value) if value else i2plib.sam.DEFAULT_ADDRESS +def generate_session_id(length=6): + """Generate random session id""" + rand = random.SystemRandom() + sid = [rand.choice(string.ascii_letters) for _ in range(length)] + return "i2plib-" + "".join(sid) +