summaryrefslogtreecommitdiff
path: root/leap/util
diff options
context:
space:
mode:
Diffstat (limited to 'leap/util')
-rw-r--r--leap/util/net.py109
-rw-r--r--leap/util/version.py69
2 files changed, 0 insertions, 178 deletions
diff --git a/leap/util/net.py b/leap/util/net.py
deleted file mode 100644
index 10e72a4..0000000
--- a/leap/util/net.py
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env python
-# -*- encoding: utf-8 -*-
-'''
-net.py
--------
-Utilities for networking.
-
-@authors: Isis Agora Lovecruft, <isis@leap.se> 0x2cdb8b35
-@license: see included LICENSE file
-@copyright: 2013 Isis Agora Lovecruft
-'''
-
-import ipaddr
-import sys
-import socket
-
-from random import randint
-
-from leap.mx.utils import log
-
-
-PLATFORMS = {'LINUX': sys.platform.startswith("linux"),
- 'OPENBSD': sys.platform.startswith("openbsd"),
- 'FREEBSD': sys.platform.startswith("freebsd"),
- 'NETBSD': sys.platform.startswith("netbsd"),
- 'DARWIN': sys.platform.startswith("darwin"),
- 'SOLARIS': sys.platform.startswith("sunos"),
- 'WINDOWS': sys.platform.startswith("win32")}
-
-
-class UnsupportedPlatform(Exception):
- """Support for this platform is not currently available."""
-
-class IfaceError(Exception):
- """Could not find default network interface."""
-
-class PermissionsError(SystemExit):
- """This test requires admin or root privileges to run. Exiting..."""
-
-
-def getClientPlatform(platform_name=None):
- for name, test in PLATFORMS.items():
- if not platform_name or platform_name.upper() == name:
- if test:
- return name, test
-
-def getPosixIfaces():
- from twisted.internet.test import _posixifaces
- log.msg("Attempting to discover network interfaces...")
- ifaces = _posixifaces._interfaces()
- return ifaces
-
-def getWindowsIfaces():
- from twisted.internet.test import _win32ifaces
- log.msg("Attempting to discover network interfaces...")
- ifaces = _win32ifaces._interfaces()
- return ifaces
-
-def getIfaces(platform_name=None):
- client, test = getClientPlatform(platform_name)
- if client:
- if client == ('LINUX' or 'DARWIN') or client[-3:] == 'BSD':
- return getPosixIfaces()
- elif client == 'WINDOWS':
- return getWindowsIfaces()
- ## XXX fixme figure out how to get iface for Solaris
- else:
- raise UnsupportedPlatform
- else:
- raise UnsupportedPlatform
-
-def getRandomUnusedPort(addr=None):
- free = False
- while not free:
- port = randint(1024, 65535)
- s = socket.socket()
- try:
- s.bind((addr, port))
- free = True
- except:
- pass
- s.close()
- return port
-
-def getNonLoopbackIfaces(platform_name=None):
- try:
- ifaces = getIfaces(platform_name)
- except UnsupportedPlatform, up:
- log.err(up)
-
- if not ifaces:
- log.msg("Unable to discover network interfaces...")
- return None
- else:
- found = [{i[0]: i[2]} for i in ifaces if i[0] != 'lo']
- log.debug("Found non-loopback interfaces: %s" % found)
- for iface in ifaces:
- try:
- interface = checkInterfaces(found)
- except IfaceError, ie:
- log.err(ie)
- return None
- else:
- return interfaces
-
-
-def getLocalAddress():
- default_iface = getDefaultIface()
- return default_iface.ipaddr
diff --git a/leap/util/version.py b/leap/util/version.py
deleted file mode 100644
index ecf8a22..0000000
--- a/leap/util/version.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-# -*- encoding: utf-8 -*-
-'''
-version.py
-----------
-Version information for leap_mx.
-
-@authors: Isis Agora Lovecruft, <isis@leap.se> 0x2cdb8b35
-@licence: see included LICENSE file
-@copyright: 2013 Isis Agora Lovecruft
-'''
-
-import os
-
-from twisted.python import versions
-
-name = 'leap_mx'
-version = versions.Version(name, 0, 0, 1, None)
-authors = [('Isis Agora Lovecruft', '<isis@leap.se>', '0x2cdb8b35'),]
-git_url = 'https://github.com/isislovecruft/leap_mx/'
-website = 'https://leap.se'
-
-def getVersion():
- version.authors = authors
- version.git_url = git_url
- version.website = website
- return version
-
-def getRepoDir():
- here = os.getcwd()
- base = here.rsplit(name, 1)[0]
- repo = os.path.join(base, name)
- return repo
-
-def __make_text__(extra_text=None):
- splitter = "-" * len(version.__str__())
- header = ["\n%s\n" % version.__str__(), "%s\n" % splitter]
- footer = ["Website: \t%s\n" % website, "Github: \t%s\n" % git_url, "\n"]
- contacts = ["\t%s, %s %s\n" % (a[0], a[1], a[2]) for a in authors]
- contacts.insert(0, "Authors: ")
-
- with_contacts = header + contacts
-
- if extra_text is not None:
- if isinstance(extra_text, iter):
- with_contacts.extend((e for e in extra_text))
- elif isinstance(extra_text, str):
- with_contacts.append(extra_text)
- else:
- print "Couldn't add extra text..."
-
- text = with_contacts + footer
- return text
-
-def __update_version__():
- repo = getRepoDir()
- version_file = os.path.join(repo, 'VERSION')
- version_text = __make_text__()
-
- with open(version_file, 'w+') as fh:
- fh.writelines((line for line in version_text))
- fh.flush()
- fh.truncate()
-
-
-if __name__ == "__main__":
- print "Generating new VERSION file..."
- __update_version__()
- print "Done."