summaryrefslogtreecommitdiff
path: root/third_party/dnspython/dns/hash.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/dnspython/dns/hash.py')
-rw-r--r--third_party/dnspython/dns/hash.py67
1 files changed, 0 insertions, 67 deletions
diff --git a/third_party/dnspython/dns/hash.py b/third_party/dnspython/dns/hash.py
deleted file mode 100644
index 0c708036b1c..00000000000
--- a/third_party/dnspython/dns/hash.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright (C) 2011 Nominum, Inc.
-#
-# Permission to use, copy, modify, and distribute this software and its
-# documentation for any purpose with or without fee is hereby granted,
-# provided that the above copyright notice and this permission notice
-# appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-"""Hashing backwards compatibility wrapper"""
-
-import sys
-
-_hashes = None
-
-def _need_later_python(alg):
- def func(*args, **kwargs):
- raise NotImplementedError("TSIG algorithm " + alg +
- " requires Python 2.5.2 or later")
- return func
-
-def _setup():
- global _hashes
- _hashes = {}
- try:
- import hashlib
- _hashes['MD5'] = hashlib.md5
- _hashes['SHA1'] = hashlib.sha1
- _hashes['SHA224'] = hashlib.sha224
- _hashes['SHA256'] = hashlib.sha256
- if sys.hexversion >= 0x02050200:
- _hashes['SHA384'] = hashlib.sha384
- _hashes['SHA512'] = hashlib.sha512
- else:
- _hashes['SHA384'] = _need_later_python('SHA384')
- _hashes['SHA512'] = _need_later_python('SHA512')
-
- if sys.hexversion < 0x02050000:
- # hashlib doesn't conform to PEP 247: API for
- # Cryptographic Hash Functions, which hmac before python
- # 2.5 requires, so add the necessary items.
- class HashlibWrapper:
- def __init__(self, basehash):
- self.basehash = basehash
- self.digest_size = self.basehash().digest_size
-
- def new(self, *args, **kwargs):
- return self.basehash(*args, **kwargs)
-
- for name in _hashes:
- _hashes[name] = HashlibWrapper(_hashes[name])
-
- except ImportError:
- import md5, sha
- _hashes['MD5'] = md5
- _hashes['SHA1'] = sha
-
-def get(algorithm):
- if _hashes is None:
- _setup()
- return _hashes[algorithm.upper()]