diff --git a/README.md b/README.md
index 6be34104..7cc1a597 100755
--- a/README.md
+++ b/README.md
@@ -11,6 +11,7 @@
(***pre-alpha & experimental, not well tested or easy to use yet***)
[![Open Source Love](https://badges.frapsoft.com/os/v3/open-source.png?v=103)](https://github.com/ellerbrock/open-source-badges/)
+
diff --git a/onionr/cryptotests.py b/onionr/cryptotests.py
deleted file mode 100755
index f7927fb8..00000000
--- a/onionr/cryptotests.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python3
-'''
- Onionr - P2P Microblogging Platform & Social network
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-'''
-import unittest, sys, os, core, onionrcrypto, logger
-
-class OnionrCryptoTests(unittest.TestCase):
- def testSymmetric(self):
- dataString = "this is a secret message"
- dataBytes = dataString.encode()
- myCore = core.Core()
- crypto = onionrcrypto.OnionrCrypto(myCore)
- key = key = b"tttttttttttttttttttttttttttttttt"
-
- logger.info("Encrypting: " + dataString, timestamp=True)
- encrypted = crypto.symmetricEncrypt(dataString, key, returnEncoded=True)
- logger.info(encrypted, timestamp=True)
- logger.info('Decrypting encrypted string:', timestamp=True)
- decrypted = crypto.symmetricDecrypt(encrypted, key, encodedMessage=True)
- logger.info(decrypted, timestamp=True)
- self.assertTrue(True)
-if __name__ == "__main__":
- unittest.main()
diff --git a/onionr/onionrcrypto.py b/onionr/onionrcrypto.py
index 074c8aa1..883098a3 100755
--- a/onionr/onionrcrypto.py
+++ b/onionr/onionrcrypto.py
@@ -18,7 +18,7 @@
along with this program. If not, see .
'''
import nacl.signing, nacl.encoding, nacl.public, nacl.hash, nacl.pwhash, nacl.utils, nacl.secret, os, binascii, base64, hashlib, logger, onionrproofs, time, math, sys, hmac
-import onionrexceptions, keymanager
+import onionrexceptions, keymanager, core
# secrets module was added into standard lib in 3.6+
if sys.version_info[0] == 3 and sys.version_info[1] < 6:
from dependencies import secrets
@@ -180,12 +180,6 @@ class OnionrCrypto:
decrypted = base64.b64encode(decrypted)
return decrypted
- def generateSymmetricPeer(self, peer):
- '''Generate symmetric key for a peer and save it to the peer database'''
- key = self.generateSymmetric()
- self._core.setPeerInfo(peer, 'forwardKey', key)
- return
-
def generateSymmetric(self):
'''Generate a symmetric key (bytes) and return it'''
return binascii.hexlify(nacl.utils.random(nacl.secret.SecretBox.KEY_SIZE))
@@ -283,6 +277,15 @@ class OnionrCrypto:
@staticmethod
def safeCompare(one, two):
+ # Do encode here to avoid spawning core
+ try:
+ one = one.encode()
+ except AttributeError:
+ pass
+ try:
+ two = two.encode()
+ except AttributeError:
+ pass
return hmac.compare_digest(one, two)
@staticmethod
diff --git a/onionr/tests/test_stringvalidations.py b/onionr/tests/test_stringvalidations.py
index 9616c412..0cc45eae 100644
--- a/onionr/tests/test_stringvalidations.py
+++ b/onionr/tests/test_stringvalidations.py
@@ -1,11 +1,10 @@
#!/usr/bin/env python3
import sys, os
sys.path.append(".")
-import unittest, uuid, sqlite3
+import unittest, uuid
TEST_DIR = 'testdata/%s-%s' % (uuid.uuid4(), os.path.basename(__file__)) + '/'
print("Test directory:", TEST_DIR)
os.environ["ONIONR_HOME"] = TEST_DIR
-from urllib.request import pathname2url
import core, onionr
core.Core()
@@ -37,7 +36,7 @@ class OnionrValidations(unittest.TestCase):
self.assertTrue(c._utils.validatePubKey(valid))
for x in invalid:
- print('testing', x)
+ #print('testing', x)
self.assertFalse(c._utils.validatePubKey(x))
def test_integer_string(self):
@@ -46,13 +45,11 @@ class OnionrValidations(unittest.TestCase):
c = core.Core()
for x in valid:
- print('testing', x)
+ #print('testing', x)
self.assertTrue(c._utils.isIntegerString(x))
for x in invalid:
- print('testing', x)
+ #print('testing', x)
self.assertFalse(c._utils.isIntegerString(x))
-
-
unittest.main()
\ No newline at end of file