summaryrefslogtreecommitdiffstats
path: root/src/lib/tlslite/utils/prngd.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/tlslite/utils/prngd.py')
-rw-r--r--src/lib/tlslite/utils/prngd.py62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/lib/tlslite/utils/prngd.py b/src/lib/tlslite/utils/prngd.py
deleted file mode 100644
index c86b7046a..000000000
--- a/src/lib/tlslite/utils/prngd.py
+++ /dev/null
@@ -1,62 +0,0 @@
-"""prngd module
-
-This module interfaces with PRNGD - Pseudo Random Number Generator
-Daemon for platforms without /dev/random or /dev/urandom.
-
-It is based on code from Stuart D. Gathman stuart at bmsi.com and is
-Public Domain. The original code is available from
-http://mail.python.org/pipermail/python-list/2002-November/170737.html"""
-
-import socket
-from struct import unpack,pack
-
-class PRNGD:
- "Provide access to the Portable Random Number Generator Daemon"
-
- def __init__(self,sockname="/var/run/egd-pool"):
- self.randfile = socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
- self.randfile.connect(sockname)
-
- def _readall(self,n):
- s = self.randfile.recv(n)
- while len(s) < n:
- s = s + self.randfile.recv(n - len(s))
- return s
-
- def get(self):
- "Return number of available bytes of entropy."
- self.randfile.sendall('\x00')
- return unpack(">i",self._readall(4))[0]
-
- def read(self,cnt):
- "Return available entropy, up to cnt bytes."
- if cnt > 255: cnt = 255
- self.randfile.sendall(pack("BB",0x01,cnt))
- buf = self._readall(1)
- assert len(buf) == 1
- count = unpack("B",buf)[0]
- buf = self._readall(count)
- assert len(buf) == count, "didn't get all the entropy"
- return buf
-
- def readall(self,cnt):
- "Return all entropy bytes requested"
- if cnt < 256:
- self.randfile.sendall(pack("BB",0x02,cnt))
- return self._readall(cnt)
- buf = readall(self,255)
- cnt -= len(buf)
- while cnt > 255:
- buf += readall(self,255)
- cnt -= len(buf)
- return buf + readall(self,cnt)
-
- def getpid(self):
- "Return the process id string of the prngd"
- self.randfile.sendall('\x04')
- buf = self._readall(1)
- assert len(buf) == 1
- count = unpack("B",buf)[0]
- buf = self._readall(count)
- assert len(buf) == count, "didn't get whole PID string"
- return buf