diff --git a/docs/dev/blockio-keys.txt b/docs/dev/blockio-keys.txt
index 46dd0a5e..86ea16de 100644
--- a/docs/dev/blockio-keys.txt
+++ b/docs/dev/blockio-keys.txt
@@ -2,5 +2,5 @@ Blockio wraps safedb, the new key value database module
This is how the keys are setup and what they are for:
-bl-{type}: list of hashes for blocks for every stored block type
+bl-{type}: bytes of hashes for each block type
{block hash}: block data
diff --git a/scripts/block-spammer.py b/scripts/block-spammer.py
index 51ae6b37..629b3805 100755
--- a/scripts/block-spammer.py
+++ b/scripts/block-spammer.py
@@ -11,7 +11,7 @@ import os
if not os.path.exists('onionr.sh'):
os.chdir('../')
sys.path.append("src/")
-import onionrblocks
+import oldblocks
amount = int(input("Number of blocks:"))
@@ -24,8 +24,8 @@ else:
for i in range(amount):
if expire:
- print(onionrblocks.insert(data=os.urandom(32), expire=expire))
+ print(oldblocks.insert(data=os.urandom(32), expire=expire))
else:
- print(onionrblocks.insert(data=os.urandom(32)))
+ print(oldblocks.insert(data=os.urandom(32)))
print(i, "done")
diff --git a/scripts/show-blocks.py b/scripts/show-blocks.py
index cfb3f5e3..e93ce2d4 100644
--- a/scripts/show-blocks.py
+++ b/scripts/show-blocks.py
@@ -6,7 +6,7 @@ if not os.path.exists('onionr.sh'):
os.chdir('../')
sys.path.append("src/")
from coredb.blockmetadb import get_block_list
-from onionrblocks.onionrblockapi import Block
+from oldblocks.onionrblockapi import Block
for bl in get_block_list():
bl_obj = Block(bl, decrypt=False)
diff --git a/scripts/testblock.py b/scripts/testblock.py
index f0085641..9967409b 100755
--- a/scripts/testblock.py
+++ b/scripts/testblock.py
@@ -5,8 +5,8 @@ import os
if not os.path.exists('onionr.sh'):
os.chdir('../')
sys.path.append("src/")
-import onionrblocks
+import oldblocks
expire = 600
-print(onionrblocks.insert(data=os.urandom(32), expire=expire))
+print(oldblocks.insert(data=os.urandom(32), expire=expire))
diff --git a/src/__init__.py b/src/__init__.py
index 7ee2fd0e..c78a7478 100755
--- a/src/__init__.py
+++ b/src/__init__.py
@@ -70,7 +70,7 @@ createdirs.create_dirs()
import bigbrother # noqa
from onionrcommands import parser # noqa
from onionrplugins import onionrevents as events # noqa
-from onionrblocks.deleteplaintext import delete_plaintext_no_blacklist # noqa
+from oldblocks.deleteplaintext import delete_plaintext_no_blacklist # noqa
setup.setup_config()
diff --git a/src/blockio/store/__init__.py b/src/blockio/store/__init__.py
index 101a8bc9..251b361e 100644
--- a/src/blockio/store/__init__.py
+++ b/src/blockio/store/__init__.py
@@ -2,7 +2,13 @@
Store blocks and cache meta info such as block type
"""
-import safedb
+from typing import TYPE_CHECKING, Union, NewType
+
+from safedb import DBProtectionOpeningModeError
+
+if TYPE_CHECKING:
+ from kasten import Kasten
+ from safedb import SafeDB
"""
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
@@ -18,9 +24,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
"""
+RawBlock = NewType('RawBlock', bytes)
-def store_block(block_data):
- # If Onionr daemon is running, we should use the client
- # API server to store blocks, if not we can
+def store_block(block: Kasten, safe_db: SafeDB):
+
+ safe_db.put(block.id, block.get_packed())
diff --git a/src/communicatorutils/deniableinserts.py b/src/communicatorutils/deniableinserts.py
index 26c34163..aff6e2b2 100755
--- a/src/communicatorutils/deniableinserts.py
+++ b/src/communicatorutils/deniableinserts.py
@@ -5,7 +5,7 @@ Use the communicator to insert fake mail messages
import secrets
from etc import onionrvalues
-import onionrblocks
+import oldblocks
"""
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
@@ -30,6 +30,6 @@ def insert_deniable_block():
# This assumes on the libsodium primitives to have key-privacy
fakePeer = onionrvalues.DENIABLE_PEER_ADDRESS
data = secrets.token_hex(secrets.randbelow(5120) + 1)
- onionrblocks.insert(data, header='pm', encryptType='asym',
+ oldblocks.insert(data, header='pm', encryptType='asym',
asymPeer=fakePeer, disableForward=True,
meta={'subject': 'foo'})
diff --git a/src/communicatorutils/downloadblocks/__init__.py b/src/communicatorutils/downloadblocks/__init__.py
index 08cf9a1e..9be16770 100755
--- a/src/communicatorutils/downloadblocks/__init__.py
+++ b/src/communicatorutils/downloadblocks/__init__.py
@@ -17,14 +17,14 @@ import onionrpeers
from communicator import peeraction
from communicator import onlinepeers
-from onionrblocks import blockmetadata
+from oldblocks import blockmetadata
from onionrutils import validatemetadata
from coredb import blockmetadb
from onionrutils.localcommand import local_command
import onionrcrypto
import onionrstorage
-from onionrblocks import onionrblacklist
-from onionrblocks import storagecounter
+from oldblocks import onionrblacklist
+from oldblocks import storagecounter
from . import shoulddownload
"""
This program is free software: you can redistribute it and/or modify
diff --git a/src/communicatorutils/downloadblocks/shoulddownload.py b/src/communicatorutils/downloadblocks/shoulddownload.py
index ddf11624..cd1282de 100644
--- a/src/communicatorutils/downloadblocks/shoulddownload.py
+++ b/src/communicatorutils/downloadblocks/shoulddownload.py
@@ -4,7 +4,7 @@ Check if a block should be downloaded
(if we already have it or its blacklisted or not)
"""
from coredb import blockmetadb
-from onionrblocks import onionrblacklist
+from oldblocks import onionrblacklist
"""
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
diff --git a/src/communicatorutils/housekeeping.py b/src/communicatorutils/housekeeping.py
index a36f8556..212ca259 100755
--- a/src/communicatorutils/housekeeping.py
+++ b/src/communicatorutils/housekeeping.py
@@ -15,8 +15,8 @@ from onionrutils import epoch
from coredb import blockmetadb, dbfiles
import onionrstorage
from onionrstorage import removeblock
-from onionrblocks import onionrblacklist
-from onionrblocks.storagecounter import StorageCounter
+from oldblocks import onionrblacklist
+from oldblocks.storagecounter import StorageCounter
from etc.onionrvalues import DATABASE_LOCK_TIMEOUT
from onionrproofs import hashMeetsDifficulty
"""
@@ -103,6 +103,6 @@ def clean_blocks_not_meeting_pow(shared_state):
for block in block_list:
if not hashMeetsDifficulty(block):
logger.warn(
- f"Deleting block {block} because it was stored" +
+ f"Deleting block {block} because it was stored" +
"with a POW level smaller than current.", terminal=True)
__purge_block(shared_state, block)
diff --git a/src/communicatorutils/lookupblocks.py b/src/communicatorutils/lookupblocks.py
index 99574b89..d8f73635 100755
--- a/src/communicatorutils/lookupblocks.py
+++ b/src/communicatorutils/lookupblocks.py
@@ -15,11 +15,11 @@ from onionrutils import stringvalidators, epoch
from communicator import peeraction, onlinepeers
from coredb.blockmetadb import get_block_list
from utils import reconstructhash
-from onionrblocks import onionrblacklist
+from oldblocks import onionrblacklist
import onionrexceptions
import config
from etc import onionrvalues
-from onionrblocks.storagecounter import StorageCounter
+from oldblocks.storagecounter import StorageCounter
"""
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
diff --git a/src/communicatorutils/uploadblocks/__init__.py b/src/communicatorutils/uploadblocks/__init__.py
index 8bf23be6..31db2955 100755
--- a/src/communicatorutils/uploadblocks/__init__.py
+++ b/src/communicatorutils/uploadblocks/__init__.py
@@ -13,8 +13,8 @@ from onionrtypes import UserID
import logger
from communicatorutils import proxypicker
import onionrexceptions
-from onionrblocks import onionrblockapi as block
-from onionrblocks.blockmetadata.fromdata import get_block_metadata_from_data
+from oldblocks import onionrblockapi as block
+from oldblocks.blockmetadata.fromdata import get_block_metadata_from_data
from onionrutils import stringvalidators, basicrequests
from onionrutils.validatemetadata import validate_metadata
from communicator import onlinepeers
diff --git a/src/communicatorutils/uploadblocks/mixmate/__init__.py b/src/communicatorutils/uploadblocks/mixmate/__init__.py
index 3e63ea99..9b235455 100644
--- a/src/communicatorutils/uploadblocks/mixmate/__init__.py
+++ b/src/communicatorutils/uploadblocks/mixmate/__init__.py
@@ -6,7 +6,7 @@ import time
from typing import List
import onionrtypes
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
from .pool import UploadPool
from .pool import PoolFullException
diff --git a/src/coredb/blockmetadb/add.py b/src/coredb/blockmetadb/add.py
index ec1ab861..71194b4b 100644
--- a/src/coredb/blockmetadb/add.py
+++ b/src/coredb/blockmetadb/add.py
@@ -5,7 +5,7 @@ Add an entry to the block metadata database
import sqlite3
import secrets
from onionrutils import epoch
-from onionrblocks import blockmetadata
+from oldblocks import blockmetadata
from etc import onionrvalues
from .. import dbfiles
from onionrexceptions import BlockMetaEntryExists
diff --git a/src/httpapi/apiutils/getblockdata.py b/src/httpapi/apiutils/getblockdata.py
index 9da1ee59..74988138 100644
--- a/src/httpapi/apiutils/getblockdata.py
+++ b/src/httpapi/apiutils/getblockdata.py
@@ -1,6 +1,6 @@
import ujson as json
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
from onionrutils import bytesconverter, stringvalidators
import onionrexceptions
class GetBlockData:
diff --git a/src/httpapi/insertblock.py b/src/httpapi/insertblock.py
index bafe41e1..db12d6ee 100644
--- a/src/httpapi/insertblock.py
+++ b/src/httpapi/insertblock.py
@@ -11,7 +11,7 @@ from flask import Blueprint, Response, request, g
if TYPE_CHECKING:
from deadsimplekv import DeadSimpleKV
-import onionrblocks
+import oldblocks
from onionrcrypto import hashers
from onionrutils import bytesconverter
from onionrutils import mnemonickeys
@@ -84,7 +84,7 @@ def client_api_insert_block():
disable_forward_secrecy = False
threading.Thread(
- target=onionrblocks.insert, args=(message,),
+ target=oldblocks.insert, args=(message,),
kwargs={'header': bType, 'encryptType': encrypt_type,
'sign': sign, 'asymPeer': to, 'meta': meta,
'disableForward': disable_forward_secrecy}).start()
diff --git a/src/httpapi/miscclientapi/getblocks.py b/src/httpapi/miscclientapi/getblocks.py
index 4e7fd58e..18f4fc9f 100644
--- a/src/httpapi/miscclientapi/getblocks.py
+++ b/src/httpapi/miscclientapi/getblocks.py
@@ -18,7 +18,7 @@
along with this program. If not, see .
'''
from flask import Blueprint, Response, abort
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
from .. import apiutils
from onionrutils import stringvalidators
from coredb import blockmetadb
diff --git a/src/httpapi/miscclientapi/motd/__init__.py b/src/httpapi/miscclientapi/motd/__init__.py
index ad57b91a..c467d097 100644
--- a/src/httpapi/miscclientapi/motd/__init__.py
+++ b/src/httpapi/miscclientapi/motd/__init__.py
@@ -3,7 +3,7 @@ from flask import Response
import unpaddedbase32
from coredb import blockmetadb
-import onionrblocks
+import oldblocks
from etc import onionrvalues
import config
from onionrutils import bytesconverter
@@ -18,7 +18,7 @@ def get_motd()->Response:
newest_time = 0
message = "No MOTD currently present."
for x in motds:
- bl = onionrblocks.onionrblockapi.Block(x)
+ bl = oldblocks.onionrblockapi.Block(x)
if not bl.verifySig() or bl.signer != bytesconverter.bytes_to_str(unpaddedbase32.repad(bytesconverter.str_to_bytes(signer))): continue
if not bl.isSigner(signer): continue
if bl.claimedTime > newest_time:
diff --git a/src/httpapi/miscpublicapi/getblocks.py b/src/httpapi/miscpublicapi/getblocks.py
index cc64e6c9..95efc34f 100755
--- a/src/httpapi/miscpublicapi/getblocks.py
+++ b/src/httpapi/miscpublicapi/getblocks.py
@@ -8,8 +8,8 @@ import config
from onionrutils import bytesconverter, stringvalidators
from coredb import blockmetadb
from utils import reconstructhash
-from onionrblocks import BlockList
-from onionrblocks.onionrblockapi import Block
+from oldblocks import BlockList
+from oldblocks.onionrblockapi import Block
from .. import apiutils
"""
This program is free software: you can redistribute it and/or modify
diff --git a/src/httpapi/miscpublicapi/upload.py b/src/httpapi/miscpublicapi/upload.py
index 9e57f1e4..6535d624 100755
--- a/src/httpapi/miscpublicapi/upload.py
+++ b/src/httpapi/miscpublicapi/upload.py
@@ -10,7 +10,7 @@ from flask import abort
from flask import g
from onionrutils import localcommand
-from onionrblocks import blockimporter
+from oldblocks import blockimporter
import onionrexceptions
import logger
import config
diff --git a/src/httpapi/onionrsitesapi/__init__.py b/src/httpapi/onionrsitesapi/__init__.py
index 9526aa76..2b431ce6 100644
--- a/src/httpapi/onionrsitesapi/__init__.py
+++ b/src/httpapi/onionrsitesapi/__init__.py
@@ -10,7 +10,7 @@ import unpaddedbase32
from flask import Blueprint, Response, request, abort
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
import onionrexceptions
from onionrutils import stringvalidators
from onionrutils import mnemonickeys
diff --git a/src/httpapi/onionrsitesapi/findsite.py b/src/httpapi/onionrsitesapi/findsite.py
index 6811ae4c..454d0131 100644
--- a/src/httpapi/onionrsitesapi/findsite.py
+++ b/src/httpapi/onionrsitesapi/findsite.py
@@ -10,7 +10,7 @@ import onionrexceptions
from onionrutils import mnemonickeys
from onionrutils import stringvalidators
from coredb import blockmetadb
-from onionrblocks.onionrblockapi import Block
+from oldblocks.onionrblockapi import Block
from onionrtypes import BlockHash
"""
diff --git a/src/httpapi/onionrsitesapi/sitefiles.py b/src/httpapi/onionrsitesapi/sitefiles.py
index f9171926..c43fd897 100644
--- a/src/httpapi/onionrsitesapi/sitefiles.py
+++ b/src/httpapi/onionrsitesapi/sitefiles.py
@@ -10,8 +10,8 @@ import os
import unpaddedbase32
from coredb import blockmetadb
-from onionrblocks import onionrblockapi
-from onionrblocks import insert
+from oldblocks import onionrblockapi
+from oldblocks import insert
# Import types. Just for type hiting
from onionrtypes import UserID, DeterministicKeyPassphrase, BlockHash
diff --git a/src/httpapi/sse/private/__init__.py b/src/httpapi/sse/private/__init__.py
index 4213fd4f..625ec89f 100644
--- a/src/httpapi/sse/private/__init__.py
+++ b/src/httpapi/sse/private/__init__.py
@@ -9,7 +9,7 @@ from gevent import sleep
import gevent
import ujson
-from onionrblocks.onionrblockapi import Block
+from oldblocks.onionrblockapi import Block
from coredb.dbfiles import block_meta_db
from coredb.blockmetadb import get_block_list
from onionrutils.epoch import get_epoch
diff --git a/src/lan/client/__init__.py b/src/lan/client/__init__.py
index 6b1dab66..48bc8609 100644
--- a/src/lan/client/__init__.py
+++ b/src/lan/client/__init__.py
@@ -9,7 +9,7 @@ from typing import Set
from onionrtypes import LANIP
import logger
from coredb.blockmetadb import get_block_list
-from onionrblocks.blockimporter import import_block_from_data
+from oldblocks.blockimporter import import_block_from_data
import onionrexceptions
from ..server import ports
from onionrproofs import hashMeetsDifficulty
diff --git a/src/lan/server/__init__.py b/src/lan/server/__init__.py
index ce52a8c2..acbb183c 100644
--- a/src/lan/server/__init__.py
+++ b/src/lan/server/__init__.py
@@ -12,7 +12,7 @@ from flask import Response
from flask import request
from flask import abort
-from onionrblocks.onionrblockapi import Block
+from oldblocks.onionrblockapi import Block
from httpapi.fdsafehandler import FDSafeHandler
from netcontroller import get_open_port
import config
diff --git a/src/onionrblocks/__init__.py b/src/oldblocks/__init__.py
similarity index 100%
rename from src/onionrblocks/__init__.py
rename to src/oldblocks/__init__.py
diff --git a/src/onionrblocks/blockdecrypt.py b/src/oldblocks/blockdecrypt.py
similarity index 100%
rename from src/onionrblocks/blockdecrypt.py
rename to src/oldblocks/blockdecrypt.py
diff --git a/src/onionrblocks/blockimporter.py b/src/oldblocks/blockimporter.py
similarity index 98%
rename from src/onionrblocks/blockimporter.py
rename to src/oldblocks/blockimporter.py
index 29fde84f..9c8b3b74 100755
--- a/src/onionrblocks/blockimporter.py
+++ b/src/oldblocks/blockimporter.py
@@ -10,7 +10,7 @@ import logger
from onionrutils import validatemetadata
from onionrutils import bytesconverter
from coredb import blockmetadb
-from onionrblocks import blockmetadata
+from oldblocks import blockmetadata
import onionrstorage
import onionrcrypto as crypto
from . import onionrblacklist
diff --git a/src/onionrblocks/blocklist.py b/src/oldblocks/blocklist.py
similarity index 100%
rename from src/onionrblocks/blocklist.py
rename to src/oldblocks/blocklist.py
diff --git a/src/onionrblocks/blockmetadata/__init__.py b/src/oldblocks/blockmetadata/__init__.py
similarity index 100%
rename from src/onionrblocks/blockmetadata/__init__.py
rename to src/oldblocks/blockmetadata/__init__.py
diff --git a/src/onionrblocks/blockmetadata/fromdata.py b/src/oldblocks/blockmetadata/fromdata.py
similarity index 100%
rename from src/onionrblocks/blockmetadata/fromdata.py
rename to src/oldblocks/blockmetadata/fromdata.py
diff --git a/src/onionrblocks/blockmetadata/hasblock.py b/src/oldblocks/blockmetadata/hasblock.py
similarity index 100%
rename from src/onionrblocks/blockmetadata/hasblock.py
rename to src/oldblocks/blockmetadata/hasblock.py
diff --git a/src/onionrblocks/blockmetadata/process.py b/src/oldblocks/blockmetadata/process.py
similarity index 98%
rename from src/onionrblocks/blockmetadata/process.py
rename to src/oldblocks/blockmetadata/process.py
index fe094977..8018f099 100644
--- a/src/onionrblocks/blockmetadata/process.py
+++ b/src/oldblocks/blockmetadata/process.py
@@ -3,7 +3,7 @@
Process block metadata with relevant actions
"""
from etc import onionrvalues
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
from onionrutils import epoch, bytesconverter
from coredb import blockmetadb
import logger
diff --git a/src/onionrblocks/deleteplaintext.py b/src/oldblocks/deleteplaintext.py
similarity index 100%
rename from src/onionrblocks/deleteplaintext.py
rename to src/oldblocks/deleteplaintext.py
diff --git a/src/onionrblocks/insert/__init__.py b/src/oldblocks/insert/__init__.py
similarity index 100%
rename from src/onionrblocks/insert/__init__.py
rename to src/oldblocks/insert/__init__.py
diff --git a/src/onionrblocks/insert/main.py b/src/oldblocks/insert/main.py
similarity index 100%
rename from src/onionrblocks/insert/main.py
rename to src/oldblocks/insert/main.py
diff --git a/src/onionrblocks/insert/timeinsert.py b/src/oldblocks/insert/timeinsert.py
similarity index 100%
rename from src/onionrblocks/insert/timeinsert.py
rename to src/oldblocks/insert/timeinsert.py
diff --git a/src/onionrblocks/onionrblacklist.py b/src/oldblocks/onionrblacklist.py
similarity index 100%
rename from src/onionrblocks/onionrblacklist.py
rename to src/oldblocks/onionrblacklist.py
diff --git a/src/onionrblocks/onionrblockapi.py b/src/oldblocks/onionrblockapi.py
similarity index 99%
rename from src/onionrblocks/onionrblockapi.py
rename to src/oldblocks/onionrblockapi.py
index 875d8faf..741347ad 100755
--- a/src/onionrblocks/onionrblockapi.py
+++ b/src/oldblocks/onionrblockapi.py
@@ -1,6 +1,6 @@
"""Onionr - P2P Anonymous Storage Network.
-OnionrBlocks class for abstraction of blocks
+oldblocks class for abstraction of blocks
"""
import datetime
import onionrstorage
@@ -15,7 +15,7 @@ from onionrusers import onionrusers
from onionrutils import stringvalidators, epoch
from coredb import blockmetadb
from onionrutils import bytesconverter
-import onionrblocks
+import oldblocks
from onionrcrypto import encryption, cryptoutils as cryptoutils, signing
"""
This program is free software: you can redistribute it and/or modify
diff --git a/src/onionrblocks/storagecounter.py b/src/oldblocks/storagecounter.py
similarity index 100%
rename from src/onionrblocks/storagecounter.py
rename to src/oldblocks/storagecounter.py
diff --git a/src/onionrcommands/banblocks.py b/src/onionrcommands/banblocks.py
index 49fa21f8..0a91bdb5 100755
--- a/src/onionrcommands/banblocks.py
+++ b/src/onionrcommands/banblocks.py
@@ -7,7 +7,7 @@ import logger
from onionrutils import stringvalidators
from onionrstorage import removeblock
from onionrstorage import deleteBlock
-from onionrblocks import onionrblacklist
+from oldblocks import onionrblacklist
from utils import reconstructhash
"""
This program is free software: you can redistribute it and/or modify
diff --git a/src/onionrcommands/daemonlaunch/spawndaemonthreads.py b/src/onionrcommands/daemonlaunch/spawndaemonthreads.py
index 09b6213d..a19f2542 100644
--- a/src/onionrcommands/daemonlaunch/spawndaemonthreads.py
+++ b/src/onionrcommands/daemonlaunch/spawndaemonthreads.py
@@ -12,6 +12,7 @@ from communicatorutils import uploadblocks
from communicatorutils import announcenode, deniableinserts
from communicatorutils import netcheck
import onionrpeers
+
import config
if TYPE_CHECKING:
diff --git a/src/onionrcommands/filecommands.py b/src/onionrcommands/filecommands.py
index 315441df..131de0a9 100755
--- a/src/onionrcommands/filecommands.py
+++ b/src/onionrcommands/filecommands.py
@@ -6,11 +6,11 @@ and getting files from the Onionr network
import sys
import os
import logger
-from onionrblocks.onionrblockapi import Block
+from oldblocks.onionrblockapi import Block
import onionrexceptions
from onionrutils import stringvalidators
from etc import onionrvalues
-from onionrblocks import insert
+from oldblocks import insert
"""
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
diff --git a/src/onionrcommands/listsites.py b/src/onionrcommands/listsites.py
index 3f874cfe..0e67235a 100644
--- a/src/onionrcommands/listsites.py
+++ b/src/onionrcommands/listsites.py
@@ -3,7 +3,7 @@
Dumb listing of Onionr sites
"""
from coredb.blockmetadb import get_blocks_by_type
-from onionrblocks.onionrblockapi import Block
+from oldblocks.onionrblockapi import Block
import logger
"""
This program is free software: you can redistribute it and/or modify
diff --git a/src/onionrcommands/motdcreator.py b/src/onionrcommands/motdcreator.py
index 85e69e8c..47cb1e07 100644
--- a/src/onionrcommands/motdcreator.py
+++ b/src/onionrcommands/motdcreator.py
@@ -3,7 +3,7 @@
Command to make new network-wide MOTD message. Only network admin can do this
The key is set in onionrvalues
"""
-import onionrblocks
+import oldblocks
"""
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
@@ -29,7 +29,7 @@ def motd_creator():
new = input() # nosec B323
if new != 'quit':
motd += new
- bl = onionrblocks.insert(motd, header='motd', sign=True)
+ bl = oldblocks.insert(motd, header='motd', sign=True)
print(f"inserted in {bl}")
diff --git a/src/onionrcommands/onionrstatistics.py b/src/onionrcommands/onionrstatistics.py
index 78ad638d..09bd2480 100755
--- a/src/onionrcommands/onionrstatistics.py
+++ b/src/onionrcommands/onionrstatistics.py
@@ -4,7 +4,7 @@ This module defines commands to show stats/details about the local node
"""
import os
import logger
-from onionrblocks import onionrblacklist
+from oldblocks import onionrblacklist
from onionrutils import mnemonickeys
from utils import sizeutils, gethostname, getconsolewidth, identifyhome
from coredb import blockmetadb, keydb
diff --git a/src/onionrpeers/peercleanup.py b/src/onionrpeers/peercleanup.py
index 6173a041..8c61e732 100644
--- a/src/onionrpeers/peercleanup.py
+++ b/src/onionrpeers/peercleanup.py
@@ -21,7 +21,7 @@ import sqlite3
import logger
from onionrutils import epoch
from . import scoresortedpeerlist, peerprofiles
-from onionrblocks import onionrblacklist
+from oldblocks import onionrblacklist
import config
from coredb import keydb
def peer_cleanup():
@@ -30,7 +30,7 @@ def peer_cleanup():
blacklist = onionrblacklist.OnionrBlackList()
adders = scoresortedpeerlist.get_score_sorted_peer_list()
adders.reverse()
-
+
if len(adders) > 1:
min_score = int(config.get('peers.minimum_score', -100))
diff --git a/src/onionrpeers/peerprofiles.py b/src/onionrpeers/peerprofiles.py
index 000e9c4d..d18f0776 100644
--- a/src/onionrpeers/peerprofiles.py
+++ b/src/onionrpeers/peerprofiles.py
@@ -20,7 +20,7 @@
from coredb import keydb
from onionrutils import epoch
from onionrutils import stringvalidators
-from onionrblocks import onionrblacklist
+from oldblocks import onionrblacklist
import onionrexceptions
UPDATE_DELAY = 300
@@ -42,7 +42,7 @@ class PeerProfiles:
self.getConnectTime()
self.last_updated = {'connect_time': UPDATE_DELAY, 'score': UPDATE_DELAY} # Last time a given value was updated
-
+
if not address in keydb.listkeys.list_adders() and not onionrblacklist.OnionrBlackList().inBlacklist(address):
keydb.addkeys.add_address(address)
@@ -53,7 +53,7 @@ class PeerProfiles:
except (TypeError, ValueError) as e:
self.success = 0
self.score = self.success
-
+
def getConnectTime(self):
"""set the connectTime variable for when we last connected to them, using the db value"""
try:
@@ -62,12 +62,12 @@ class PeerProfiles:
pass
else:
return self.connectTime
-
+
def update_connect_time(self):
if epoch.get_epoch() - self.last_updated['connect_time'] >= UPDATE_DELAY:
self.last_updated['connect_time'] = epoch.get_epoch()
keydb.transportinfo.set_address_info(self.address, 'lastConnect', epoch.get_epoch())
-
+
def saveScore(self):
'''Save the node's score to the database'''
if epoch.get_epoch() - self.last_updated['score'] >= UPDATE_DELAY:
diff --git a/src/onionrproofs/__init__.py b/src/onionrproofs/__init__.py
index e0f4a956..b02be8c5 100755
--- a/src/onionrproofs/__init__.py
+++ b/src/onionrproofs/__init__.py
@@ -7,7 +7,7 @@ import nacl.encoding, nacl.hash, nacl.utils
import config
import logger
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
from onionrutils import bytesconverter
from onionrcrypto import hashers
diff --git a/src/onionrstorage/removeblock.py b/src/onionrstorage/removeblock.py
index 6b9452ea..32dc5d5a 100644
--- a/src/onionrstorage/removeblock.py
+++ b/src/onionrstorage/removeblock.py
@@ -9,7 +9,7 @@ import onionrexceptions
import onionrstorage
from onionrutils import stringvalidators
from coredb import dbfiles
-from onionrblocks import storagecounter
+from oldblocks import storagecounter
from etc.onionrvalues import DATABASE_LOCK_TIMEOUT
"""
This program is free software: you can redistribute it and/or modify
diff --git a/src/onionrstorage/setdata.py b/src/onionrstorage/setdata.py
index 456276f5..c471ad7e 100644
--- a/src/onionrstorage/setdata.py
+++ b/src/onionrstorage/setdata.py
@@ -9,7 +9,7 @@ import onionrstorage
import onionrexceptions
import onionrcrypto as crypto
import filepaths
-from onionrblocks import storagecounter, blockmetadata
+from oldblocks import storagecounter, blockmetadata
from coredb import dbfiles
from onionrutils import bytesconverter
from etc.onionrvalues import DATABASE_LOCK_TIMEOUT
diff --git a/src/onionrutils/importnewblocks.py b/src/onionrutils/importnewblocks.py
index 11ae89c5..e45e3528 100644
--- a/src/onionrutils/importnewblocks.py
+++ b/src/onionrutils/importnewblocks.py
@@ -5,7 +5,7 @@ import new blocks from disk, providing transport agnosticism
import glob
import logger
-from onionrblocks import blockmetadata
+from oldblocks import blockmetadata
from coredb import blockmetadb
import filepaths
import onionrcrypto as crypto
diff --git a/src/runtests/housekeeping.py b/src/runtests/housekeeping.py
index ccc46b9f..94b9076c 100644
--- a/src/runtests/housekeeping.py
+++ b/src/runtests/housekeeping.py
@@ -2,7 +2,7 @@ import os
from gevent import sleep
-from onionrblocks import insert
+from oldblocks import insert
import logger
from coredb.blockmetadb import get_block_list
from onionrutils import epoch
diff --git a/src/runtests/inserttest.py b/src/runtests/inserttest.py
index ea43fd44..c800cc30 100644
--- a/src/runtests/inserttest.py
+++ b/src/runtests/inserttest.py
@@ -1,7 +1,7 @@
import os
import time
-import onionrblocks
+import oldblocks
import logger
import coredb
from communicator import peeraction
@@ -11,7 +11,7 @@ def _check_remote_node(testmanager):
def insert_bin_test(testmanager):
data = os.urandom(32)
- b_hash = onionrblocks.insert(data)
+ b_hash = oldblocks.insert(data)
time.sleep(0.3)
if b_hash not in testmanager._too_many.get_by_string("PublicAPI").hideBlocks:
raise ValueError("Block not hidden")
diff --git a/src/runtests/lanservertest.py b/src/runtests/lanservertest.py
index 42f71861..66fdd305 100644
--- a/src/runtests/lanservertest.py
+++ b/src/runtests/lanservertest.py
@@ -2,7 +2,7 @@ import requests
from lan.getip import best_ip
-from onionrblocks import insert, onionrblockapi
+from oldblocks import insert, onionrblockapi
from gevent import sleep
from coredb import blockmetadb
from onionrutils.epoch import get_epoch
diff --git a/src/runtests/sneakernettest.py b/src/runtests/sneakernettest.py
index ac48ad30..4af036fa 100644
--- a/src/runtests/sneakernettest.py
+++ b/src/runtests/sneakernettest.py
@@ -1,7 +1,7 @@
import os
from shutil import move
-from onionrblocks import insert
+from oldblocks import insert
from onionrstorage import deleteBlock
from onionrcommands.exportblocks import export_block
from filepaths import export_location, block_data_location, data_nonce_file
diff --git a/src/runtests/stresstest.py b/src/runtests/stresstest.py
index 35a9967c..92ef1dff 100644
--- a/src/runtests/stresstest.py
+++ b/src/runtests/stresstest.py
@@ -1,6 +1,6 @@
import os
-import onionrblocks
+import oldblocks
import logger
import coredb
from onionrutils import epoch
@@ -10,7 +10,7 @@ def stress_test_block_insert(testmanager):
start = epoch.get_epoch()
count = 100
max_insert_speed = 120
- for x in range(count): onionrblocks.insert(os.urandom(32))
+ for x in range(count): oldblocks.insert(os.urandom(32))
speed = epoch.get_epoch() - start
if speed < max_insert_speed:
raise ValueError(f'{count} blocks inserted too fast, {max_insert_speed}, got {speed}')
diff --git a/src/safedb/__init__.py b/src/safedb/__init__.py
index ed23e126..f1cea2f0 100644
--- a/src/safedb/__init__.py
+++ b/src/safedb/__init__.py
@@ -22,6 +22,10 @@ along with this program. If not, see .
"""
+class DBProtectionOpeningModeError(Exception):
+ pass
+
+
class SafeDB:
"""Wrapper around dbm to optionally encrypt db values."""
@@ -31,7 +35,8 @@ class SafeDB:
return unprotect_string(self.db_conn[key])
def put(
- self, key: [str, bytes, bytearray], value: [bytes, bytearray]):
+ self,
+ key: Union[str, bytes, bytearray], value: Union[bytes, bytearray]):
if self.protected:
self.db_conn[key] = protect_string(value)
else:
@@ -47,10 +52,10 @@ class SafeDB:
try:
existing_protected_mode = self.db_conn['enc']
if protected and existing_protected_mode != b'1':
- raise ValueError(
+ raise DBProtectionOpeningModeError(
"Cannot open unencrypted database with protected=True")
elif not protected and existing_protected_mode != b'0':
- raise ValueError(
+ raise DBProtectionOpeningModeError(
"Cannot open encrypted database in protected=False")
except KeyError:
if protected:
diff --git a/src/sneakernet/__init__.py b/src/sneakernet/__init__.py
index 6b4002a8..8f6c7787 100644
--- a/src/sneakernet/__init__.py
+++ b/src/sneakernet/__init__.py
@@ -10,7 +10,7 @@ from watchdog.events import FileSystemEventHandler
import config
from filepaths import block_data_location
from etc.onionrvalues import BLOCK_EXPORT_FILE_EXT
-from onionrblocks.blockimporter import import_block_from_data
+from oldblocks.blockimporter import import_block_from_data
import onionrexceptions
"""
This program is free software: you can redistribute it and/or modify
diff --git a/src/utils/networkmerger.py b/src/utils/networkmerger.py
index 8e7293a9..0e80ee04 100755
--- a/src/utils/networkmerger.py
+++ b/src/utils/networkmerger.py
@@ -20,7 +20,7 @@
import logger
from coredb import keydb
import config
-from onionrblocks import onionrblacklist
+from oldblocks import onionrblacklist
from utils import gettransports
def mergeAdders(newAdderList):
'''
diff --git a/static-data/default-plugins/circles/main.py b/static-data/default-plugins/circles/main.py
index 51e7815a..7515173f 100755
--- a/static-data/default-plugins/circles/main.py
+++ b/static-data/default-plugins/circles/main.py
@@ -11,9 +11,9 @@ from coredb import blockmetadb
import threading
import time
import locale
-from onionrblocks.onionrblockapi import Block
+from oldblocks.onionrblockapi import Block
import logger
-import onionrblocks
+import oldblocks
from onionrutils import escapeansi, epoch, bytesconverter
locale.setlocale(locale.LC_ALL, '')
@@ -79,7 +79,7 @@ class OnionrFlow:
expireTime = epoch.get_epoch() + EXPIRE_TIME
if len(message) > 0:
logger.info('Inserting message as block...', terminal=True)
- onionrblocks.insert(message, header='brd',
+ oldblocks.insert(message, header='brd',
expire=expireTime,
meta = {
'ch': self.channel})
@@ -132,7 +132,7 @@ def on_circlesend_cmd(api, data=None):
except IndexError:
logger.error(err_msg, terminal=True)
- bl = onionrblocks.insert(sys.argv[3], header='brd',
+ bl = oldblocks.insert(sys.argv[3], header='brd',
expire=(EXPIRE_TIME + epoch.get_epoch()),
meta={'ch': sys.argv[2]})
print(bl)
diff --git a/static-data/default-plugins/pms/loadinbox.py b/static-data/default-plugins/pms/loadinbox.py
index 6a215f71..4b31c1b6 100755
--- a/static-data/default-plugins/pms/loadinbox.py
+++ b/static-data/default-plugins/pms/loadinbox.py
@@ -2,7 +2,7 @@
Load the user's inbox and return it as a list
"""
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
from coredb import blockmetadb
from utils import reconstructhash, identifyhome
import deadsimplekv as simplekv
diff --git a/static-data/www/onboarding/onboarding.js b/static-data/www/onboarding/onboarding.js
index f431d13a..b4375fcc 100644
--- a/static-data/www/onboarding/onboarding.js
+++ b/static-data/www/onboarding/onboarding.js
@@ -56,6 +56,7 @@ document.getElementById('onboardingForm').onsubmit = function(e){
submitInfo.mail = getCheckValue('useMail')
submitInfo.circles = getCheckValue('useCircles')
submitInfo.useDark = getCheckValue('useDarkTheme')
+ submitInfo.optimize = getCheckValue('optimize')
if (submitInfo.donate){
openDonateModal(submitInfo)
diff --git a/tests/test_blocklist_class.py b/tests/test_blocklist_class.py
index 5f591b77..52c00950 100644
--- a/tests/test_blocklist_class.py
+++ b/tests/test_blocklist_class.py
@@ -19,7 +19,7 @@ import config
config.set("general.minimum_block_pow", 2)
config.set('general.minimum_send_pow', 2)
config.save()
-from onionrblocks import BlockList, insert
+from oldblocks import BlockList, insert
class TestBlockList(unittest.TestCase):
diff --git a/tests/test_blocks.py b/tests/test_blocks.py
index c8a4d7aa..3e0e925b 100644
--- a/tests/test_blocks.py
+++ b/tests/test_blocks.py
@@ -14,7 +14,7 @@ createdirs.create_dirs()
import onionrstorage
from onionrutils import bytesconverter
import onionrcrypto
-from onionrblocks import onionrblockapi
+from oldblocks import onionrblockapi
from onionrsetup import setup_config, setup_default_plugins
@@ -25,20 +25,20 @@ import config
config.set("general.minimum_block_pow", 2)
config.set('general.minimum_send_pow', 2)
config.save()
-import onionrblocks
+import oldblocks
class OnionrBlockTests(unittest.TestCase):
def test_plaintext_insert(self):
message = 'hello world'
- bl = onionrblocks.insert(message)
+ bl = oldblocks.insert(message)
self.assertTrue(bl.startswith('0'))
self.assertIn(bytesconverter.str_to_bytes(message), onionrstorage.getData(bl))
def test_encrypted_insert(self):
message = 'hello world2'
- bl = onionrblocks.insert(message, asymPeer=onionrcrypto.pub_key)
+ bl = oldblocks.insert(message, asymPeer=onionrcrypto.pub_key)
self.assertIn(bytesconverter.str_to_bytes(message), onionrblockapi.Block(bl, decrypt=True).bcontent)
unittest.main()
diff --git a/tests/test_default_config_json.py b/tests/test_default_config_json.py
index 76ec3e65..e2c8f9a2 100644
--- a/tests/test_default_config_json.py
+++ b/tests/test_default_config_json.py
@@ -10,7 +10,7 @@ createdirs.create_dirs()
from onionrcrypto import getourkeypair
getourkeypair.get_keypair()
from utils import readstatic
-import onionrblocks
+import oldblocks
class OnionrConfig(unittest.TestCase):
def test_default_file(self):
json.loads(readstatic.read_static('default_config.json'))
diff --git a/tests/test_safedb.py b/tests/test_safedb.py
index b54b867a..1e709bdf 100644
--- a/tests/test_safedb.py
+++ b/tests/test_safedb.py
@@ -31,7 +31,7 @@ class TestSafeDB(unittest.TestCase):
with dbm.open(db_path) as db:
self.assertEqual(db['enc'], b'0')
- def test_db_create_proteced(self):
+ def test_db_create_protected(self):
_remove_db()
db = safedb.SafeDB(db_path, protected=True)
db.close()
@@ -46,7 +46,7 @@ class TestSafeDB(unittest.TestCase):
db.close()
self.assertRaises(ValueError, safedb.SafeDB, db_path, protected=False)
- def test_db_open_unproteced(self):
+ def test_db_open_unprotected(self):
_remove_db()
with dbm.open(db_path, 'c') as db:
db['enc'] = b'0'
@@ -54,6 +54,14 @@ class TestSafeDB(unittest.TestCase):
db.close()
self.assertRaises(ValueError, safedb.SafeDB, db_path, protected=True)
+ def test_db_put_unprotected(self):
+ _remove_db()
+ db = safedb.SafeDB(db_path, protected=False)
+ db.put("test", b"Test")
+ db.close()
+ with dbm.open(db_path, 'c') as db:
+ self.assertEqual(db['test', b"Test"])
+
unittest.main()
diff --git a/tests/test_storagecounter.py b/tests/test_storagecounter.py
index 4b720018..e37389f1 100644
--- a/tests/test_storagecounter.py
+++ b/tests/test_storagecounter.py
@@ -25,9 +25,9 @@ import config
config.set("general.minimum_block_pow", 2)
config.set('general.minimum_send_pow', 2)
config.save()
-import onionrblocks
+import oldblocks
-from onionrblocks import storagecounter
+from oldblocks import storagecounter
import onionrstorage
def _test_setup():
@@ -47,13 +47,13 @@ class TestStorageCounter(unittest.TestCase):
def test_insert_too_much(self):
_test_setup()
config.set('allocations.disk', 1000)
- self.assertRaises(onionrexceptions.DiskAllocationReached, onionrblocks.insert, "test")
+ self.assertRaises(onionrexceptions.DiskAllocationReached, oldblocks.insert, "test")
def test_count(self):
_test_setup()
counter = storagecounter.StorageCounter()
start_value = counter.amount
- b_hash = onionrblocks.insert("test")
+ b_hash = oldblocks.insert("test")
sleep(0.1)
self.assertGreater(counter.amount, start_value)
onionrstorage.removeblock.remove_block(b_hash)
diff --git a/tests/test_timeinsert.py b/tests/test_timeinsert.py
index a3adef75..9eab20ec 100644
--- a/tests/test_timeinsert.py
+++ b/tests/test_timeinsert.py
@@ -10,8 +10,8 @@ from utils import createdirs
createdirs.create_dirs()
from onionrcrypto import getourkeypair
getourkeypair.get_keypair()
-from onionrblocks import time_insert
-from onionrblocks import onionrblockapi
+from oldblocks import time_insert
+from oldblocks import onionrblockapi
from onionrsetup import setup_config, setup_default_plugins
setup_config()