blob: c9ea33bf647249f9a101c9d2eeb0f90f9f57c700 [file] [log] [blame]
Jean-Paul Calderone8671c852011-03-02 19:26:20 -05001# Copyright (C) AB Strakt
2# See LICENSE for details.
3
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05004"""
5pyOpenSSL - A simple wrapper around the OpenSSL library
6"""
Jean-Paul Calderone297294e2010-08-11 22:41:49 -04007
8import sys
Jean-Paul Calderone08e72bc2010-10-12 21:14:51 -04009
Jean-Paul Calderoneb8597782010-09-19 10:12:50 -040010try:
11 orig = sys.getdlopenflags()
12except AttributeError:
Jean-Paul Calderone08e72bc2010-10-12 21:14:51 -040013 from OpenSSL import crypto
Jean-Paul Calderoneb8597782010-09-19 10:12:50 -040014else:
Jean-Paul Calderone08e72bc2010-10-12 21:14:51 -040015 try:
16 import DLFCN
17 except ImportError:
18 try:
19 import dl
20 except ImportError:
21 try:
22 import ctypes
23 except ImportError:
24 flags = 2 | 256
25 else:
26 flags = 2 | ctypes.RTLD_GLOBAL
27 del ctypes
28 else:
29 flags = dl.RTLD_NOW | dl.RTLD_GLOBAL
30 del dl
31 else:
32 flags = DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL
33 del DLFCN
34
35 sys.setdlopenflags(flags)
Jean-Paul Calderoneb8597782010-09-19 10:12:50 -040036 from OpenSSL import crypto
37 sys.setdlopenflags(orig)
Jean-Paul Calderone08e72bc2010-10-12 21:14:51 -040038 del orig, flags
Jean-Paul Calderone02ea2682010-09-19 10:15:08 -040039del sys
Jean-Paul Calderone297294e2010-08-11 22:41:49 -040040
Jean-Paul Calderone08e72bc2010-10-12 21:14:51 -040041from OpenSSL import rand, SSL
Jean-Paul Calderone297294e2010-08-11 22:41:49 -040042from OpenSSL.version import __version__
43
44__all__ = [
45 'rand', 'crypto', 'SSL', 'tsafe', '__version__']