From 67694889da8083435a8dc5ce2ba1e16bef50c3e3 Mon Sep 17 00:00:00 2001 From: Itamar Turner-Trauring Date: Mon, 30 Nov 2020 17:20:39 -0500 Subject: [PATCH] Some progress towards ripping out furls-as-bytes. --- src/allmydata/storage_client.py | 5 ++--- src/allmydata/test/mutable/util.py | 2 +- src/allmydata/test/test_checker.py | 2 +- src/allmydata/test/test_client.py | 2 +- src/allmydata/test/test_introducer.py | 22 +++++++++++----------- src/allmydata/test/test_storage_client.py | 4 ++-- src/allmydata/test/test_upload.py | 2 +- 7 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/allmydata/storage_client.py b/src/allmydata/storage_client.py index 2b0ec5af1..0cb186c2b 100644 --- a/src/allmydata/storage_client.py +++ b/src/allmydata/storage_client.py @@ -559,6 +559,7 @@ class _FoolscapStorage(object): *nickname* is optional. """ + furl = furl.encode("utf-8") m = re.match(br'pb://(\w+)@', furl) assert m, furl tubid_s = m.group(1).lower() @@ -755,7 +756,7 @@ class NativeStorageServer(service.MultiService): else: return _FoolscapStorage.from_announcement( self._server_id, - furl.encode("utf-8"), + furl, ann, storage_server, ) @@ -767,8 +768,6 @@ class NativeStorageServer(service.MultiService): # Nope pass else: - if isinstance(furl, str): - furl = furl.encode("utf-8") # See comment above for the _storage_from_foolscap_plugin case # about passing in get_rref. storage_server = _StorageServer(get_rref=self.get_rref) diff --git a/src/allmydata/test/mutable/util.py b/src/allmydata/test/mutable/util.py index 2d14994f4..62e8d7295 100644 --- a/src/allmydata/test/mutable/util.py +++ b/src/allmydata/test/mutable/util.py @@ -239,7 +239,7 @@ def make_peer(s, i): peerid = base32.b2a(tagged_hash(b"peerid", b"%d" % i)[:20]) fss = FakeStorageServer(peerid, s) ann = { - "anonymous-storage-FURL": b"pb://%s@nowhere/fake" % (peerid,), + "anonymous-storage-FURL": "pb://%s@nowhere/fake" % (str(peerid, "utf-8"),), "permutation-seed-base32": peerid, } return Peer(peerid=peerid, storage_server=fss, announcement=ann) diff --git a/src/allmydata/test/test_checker.py b/src/allmydata/test/test_checker.py index 85b894b1f..20135688d 100644 --- a/src/allmydata/test/test_checker.py +++ b/src/allmydata/test/test_checker.py @@ -156,7 +156,7 @@ class WebResultsRendering(unittest.TestCase): for (key_s, binary_tubid, nickname) in servers: server_id = key_s tubid_b32 = base32.b2a(binary_tubid) - furl = b"pb://%s@nowhere/fake" % tubid_b32 + furl = "pb://%s@nowhere/fake" % str(tubid_b32, "utf-8") ann = { "version": 0, "service-name": "storage", "anonymous-storage-FURL": furl, diff --git a/src/allmydata/test/test_client.py b/src/allmydata/test/test_client.py index 54c5be8e5..45b9c4b14 100644 --- a/src/allmydata/test/test_client.py +++ b/src/allmydata/test/test_client.py @@ -70,7 +70,7 @@ from .matchers import ( matches_furl, ) -SOME_FURL = b"pb://abcde@nowhere/fake" +SOME_FURL = "pb://abcde@nowhere/fake" BASECONFIG = ("[client]\n" "introducer.furl = \n" diff --git a/src/allmydata/test/test_introducer.py b/src/allmydata/test/test_introducer.py index 0b2f82f62..5138318c5 100644 --- a/src/allmydata/test/test_introducer.py +++ b/src/allmydata/test/test_introducer.py @@ -213,9 +213,9 @@ class Client(AsyncTestCase): def _received(key_s, ann): announcements.append( (key_s, ann) ) ic1.subscribe_to("storage", _received) - furl1 = b"pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:36106/gydnp" - furl1a = b"pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:7777/gydnp" - furl2 = b"pb://ttwwooyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:36106/ttwwoo" + furl1 = "pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:36106/gydnp" + furl1a = "pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:7777/gydnp" + furl2 = "pb://ttwwooyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:36106/ttwwoo" private_key, public_key = ed25519.create_signing_keypair() public_key_str = ed25519.string_from_verifying_key(public_key) @@ -313,7 +313,7 @@ class Server(AsyncTestCase): "introducer.furl", u"my_nickname", "ver23", "oldest_version", realseq, FilePath(self.mktemp())) - furl1 = b"pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:36106/gydnp" + furl1 = "pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:36106/gydnp" private_key, _ = ed25519.create_signing_keypair() @@ -411,7 +411,7 @@ class Queue(SystemTestMixin, AsyncTestCase): c = IntroducerClient(tub2, ifurl, u"nickname", "version", "oldest", fakeseq, FilePath(self.mktemp())) - furl1 = b"pb://onug64tu@127.0.0.1:123/short" # base32("short") + furl1 = "pb://onug64tu@127.0.0.1:123/short" # base32("short") private_key, _ = ed25519.create_signing_keypair() d = introducer.disownServiceParent() @@ -753,7 +753,7 @@ class ClientInfo(AsyncTestCase): client_v2 = IntroducerClient(tub, introducer_furl, NICKNAME % u"v2", "my_version", "oldest", fakeseq, FilePath(self.mktemp())) - #furl1 = b"pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:0/swissnum" + #furl1 = "pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:0/swissnum" #ann_s = make_ann_t(client_v2, furl1, None, 10) #introducer.remote_publish_v2(ann_s, Referenceable()) subscriber = FakeRemoteReference() @@ -774,7 +774,7 @@ class Announcements(AsyncTestCase): client_v2 = IntroducerClient(tub, introducer_furl, u"nick-v2", "my_version", "oldest", fakeseq, FilePath(self.mktemp())) - furl1 = b"pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:0/swissnum" + furl1 = "pb://62ubehyunnyhzs7r6vdonnm2hpi52w6y@127.0.0.1:0/swissnum" private_key, public_key = ed25519.create_signing_keypair() public_key_str = remove_prefix(ed25519.string_from_verifying_key(public_key), b"pub-") @@ -816,7 +816,7 @@ class Announcements(AsyncTestCase): ic = c.introducer_clients[0] private_key, public_key = ed25519.create_signing_keypair() public_key_str = remove_prefix(ed25519.string_from_verifying_key(public_key), b"pub-") - furl1 = b"pb://onug64tu@127.0.0.1:123/short" # base32("short") + furl1 = "pb://onug64tu@127.0.0.1:123/short" # base32("short") ann_t = make_ann_t(ic, furl1, private_key, 1) ic.got_announcements([ann_t]) @@ -847,7 +847,7 @@ class Announcements(AsyncTestCase): # cache private_key2, public_key2 = ed25519.create_signing_keypair() public_key_str2 = remove_prefix(ed25519.string_from_verifying_key(public_key2), b"pub-") - furl3 = b"pb://onug64tu@127.0.0.1:456/short" + furl3 = "pb://onug64tu@127.0.0.1:456/short" ann_t3 = make_ann_t(ic, furl3, private_key2, 1) ic.got_announcements([ann_t3]) yield flushEventualQueue() @@ -993,7 +993,7 @@ class DecodeFurl(SyncTestCase): def test_decode(self): # make sure we have a working base64.b32decode. The one in # python2.4.[01] was broken. - furl = b'pb://t5g7egomnnktbpydbuijt6zgtmw4oqi5@127.0.0.1:51857/hfzv36i' + furl = 'pb://t5g7egomnnktbpydbuijt6zgtmw4oqi5@127.0.0.1:51857/hfzv36i' m = re.match(br'pb://(\w+)@', furl) assert m nodeid = b32decode(m.group(1).upper()) @@ -1037,7 +1037,7 @@ class Signatures(SyncTestCase): mock_tub = Mock() ic = IntroducerClient( mock_tub, - b"pb://", + "pb://", u"fake_nick", "0.0.0", "1.2.3", diff --git a/src/allmydata/test/test_storage_client.py b/src/allmydata/test/test_storage_client.py index fa3a34b15..f6bae28a7 100644 --- a/src/allmydata/test/test_storage_client.py +++ b/src/allmydata/test/test_storage_client.py @@ -88,7 +88,7 @@ from allmydata.interfaces import ( IStorageServer, ) -SOME_FURL = b"pb://abcde@nowhere/fake" +SOME_FURL = "pb://abcde@nowhere/fake" class NativeStorageServerWithVersion(NativeStorageServer): def __init__(self, version): @@ -605,7 +605,7 @@ storage: } def add_one_server(x): - data["anonymous-storage-FURL"] = b"pb://%s@nowhere/fake" % (base32.b2a(b"%d" % x),) + data["anonymous-storage-FURL"] = "pb://%s@nowhere/fake" % (base32.b2a(b"%d" % x),) tub = Mock() new_tubs.append(tub) got_announcement(b'v0-1234-%d' % x, data) diff --git a/src/allmydata/test/test_upload.py b/src/allmydata/test/test_upload.py index a6438c1fc..4817caf32 100644 --- a/src/allmydata/test/test_upload.py +++ b/src/allmydata/test/test_upload.py @@ -239,7 +239,7 @@ class FakeClient(object): node_config=EMPTY_CLIENT_CONFIG, ) for (serverid, rref) in servers: - ann = {"anonymous-storage-FURL": b"pb://%s@nowhere/fake" % base32.b2a(serverid), + ann = {"anonymous-storage-FURL": "pb://%s@nowhere/fake" % base32.b2a(serverid), "permutation-seed-base32": base32.b2a(serverid) } self.storage_broker.test_add_rref(serverid, rref, ann) self.last_servers = [s[1] for s in servers]