소스 검색

Finish lazy-importing of py-bcrypt and pycrypto in config.__init__

tags/v0.2
Ben Kurtovic 12 년 전
부모
커밋
1b999a1206
2개의 변경된 파일10개의 추가작업 그리고 4개의 파일을 삭제
  1. +0
    -2
      earwigbot/commands/crypt.py
  2. +10
    -2
      earwigbot/config/__init__.py

+ 0
- 2
earwigbot/commands/crypt.py 파일 보기

@@ -22,8 +22,6 @@

import hashlib

from Crypto.Cipher import Blowfish

from earwigbot import importer
from earwigbot.commands import Command



+ 10
- 2
earwigbot/config/__init__.py 파일 보기

@@ -282,10 +282,18 @@ class BotConfig(object):
self._setup_logging()
if self.is_encrypted():
if not self._decryption_cipher:
try:
blowfish_new = Blowfish.new
hashpw = bcrypt.hashpw
except ImportError:
url1 = "http://www.mindrot.org/projects/py-bcrypt"
url2 = "https://www.dlitz.net/software/pycrypto/"
e = "Encryption requires the 'py-bcrypt' and 'pycrypto' packages: {0}, {1}"
raise NoConfigError(e.format(url1, url2))
key = getpass("Enter key to decrypt bot passwords: ")
self._decryption_cipher = Blowfish.new(sha256(key).digest())
self._decryption_cipher = blowfish_new(sha256(key).digest())
signature = self.metadata["signature"]
if bcrypt.hashpw(key, signature) != signature:
if hashpw(key, signature) != signature:
raise RuntimeError("Incorrect password.")
for node, nodes in self._decryptable_nodes:
self._decrypt(node, nodes)


불러오는 중...
취소
저장