Jean-Paul Calderone
48b8bd6eb0
pass config down and use it to make the client plugin
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
3c3ebc368a
note about some logging we should do
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
2e0e9f0cad
remove duplication of NativeStorageServer instantiation
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
bbd1c706e4
teach StorageConfigClient to load storage client plugins
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
b5a2c70a4a
create a StorageClientConfig object
...
Make it easier to pass more storage configuration down into StorageFarmBroker
and beyond
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
6e3cd2d91c
Reflect announcement changes from ticket:3119
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
f3218e6f62
basic positive path test
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
09acde41b9
refactor test_ignored_non_enabled_plugin to support more tests
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
7e9e380912
adjust to the changed parameter name
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
6b7e0dd700
add a test for the negative case
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
e8b38d8cd6
move some testing helpers into the common module
2019-08-03 06:39:27 -04:00
Jean-Paul Calderone
3b6e1e344b
Don't blow up the web status if we get an unrecognized announcement
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
895cf37a84
docstrings
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
53861e2a0f
Change the shape of the storage announcement(s)
...
Instead of generating a sequence of announcements like:
- anonymous storage server announcement
- plugin 1 storage server announcement
- ...
- plugin N storage server announcement
The client now generates a single announcement like:
- anonymous storage server details
- storage-options
- plugin 1 storage server details
- ...
- plugin N storage server details
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
07bf8a3b8c
Change this helper to reflect the fact that old announcements are irrelevant
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
624591e412
Change the tests to match against the announcement we need
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
9c240b61ac
Persist the furl ourselves rather than relying on Foolscap
...
Going via our config abstraction here will let us change how config is
persisted more easily, later.
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
6068b6c1b2
don't reach through the tahoe-lafs config object
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
d2e16df5cc
link to a ticket about implementing better missing-plugin behavior
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
251eda0b80
rename introducer_factory parameter to be private
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
8516459fa3
Python 3 syntax compatibility
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
58db131787
remove unused imports
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
e825e63590
This returned to being synchronous
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
deb3109f43
please report all errors
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
1c68157c1f
verify behavior if there is a poorly behaved plugin
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
fd9ae24149
fix indentation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
756c21c251
actually provide validating client-config-from-string function
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
23e1631259
switch from node to client for config loading
...
apparently clients are the things with storage
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
3719a107be
Stop putting a useless client section in here
...
[client] is not a valid common section so this fails if there's validation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
6cf48f7d4f
Separate async initialization from _Client.__init__
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
3bc21e1b72
Re-synchronize the fake with the real implementation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
a6959d111c
Log init_storage and its result (particularly failures)
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
7919cf205e
Test the actual interface
...
get_storage_server is supposed to return a Deferred
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
a45e2bebfe
Allow the new plugins item in the [storage] section
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
f606beb065
Test and support plugins without any configuration
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
e2982c0129
Support multiple plugins
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
646cd452b9
Add tests for announcements for plugins
...
And a basic implementation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
9608404b6e
Factor plugin helper behavior into its own fixture
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
25287870ee
Add a tool for matching the node key in the announcement
...
And use it in the recently added test
2019-08-03 06:18:55 -04:00
Jean-Paul Calderone
212f96dfe7
Baseline tests for anonymous storage server announcements
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
0f0ca5598a
at least minimally test the other implementation
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
87b37a7e27
be more data-type-y
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
1c6433b43b
Factor details of the storage announcement out of NativeStorageClient
...
A separate object can be responsible for the details of each kind of announcement.
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
f19b94a43d
remove unused import
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
b737c6f5c5
Use the client config helper to read/test client config
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
7e17ffb75d
Also update the introducer's use of read_config
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
fb4c5cf91f
Allow for dynamic configuration validation rules
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
2c49c97fcd
more unicode literals
2019-08-03 05:33:01 -04:00
Jean-Paul Calderone
8a22764fb1
Combine human_name and id
2019-08-03 05:33:01 -04:00
Jean-Paul Calderone
e10a032fc3
Add the basic plugin interfaces and some documentation
2019-08-03 05:33:01 -04:00
meejah
3f9f4537b9
Merge pull request #633 from meejah/ticket3228-remote-old-js
...
delete ancient jquery, d3 and the thing that depends on them
2019-07-24 17:11:41 +00:00
Chris Wood
b185ee5079
Add "autobahn" to "package_imports"
...
This fixes PyInstaller-generated "frozen" binaries which, without
this, fail to run with "allmydata.PackagingError: no version info
for autobahn"
fixes🎫 3229
2019-07-16 13:29:18 -04:00
meejah
f9d1c4b06d
delete ancient jquery, d3 and the thing that depends on them
2019-07-15 19:40:31 -06:00
meejah
4b7e26ee60
unused import
2019-07-09 09:11:57 -06:00
meejah
c6d41b310a
str -> bytes
2019-07-08 14:16:37 -06:00
meejah
c2c2eda52e
bytes
2019-07-08 14:16:28 -06:00
meejah
6c9a3cfea1
move import
2019-07-08 14:00:39 -06:00
meejah
4be5a767fd
bytes, prefixes
2019-07-08 14:00:11 -06:00
meejah
a4ed8f6372
its decryption not encryption
2019-07-08 13:59:59 -06:00
meejah
3730f1f01b
fix docstrings
2019-07-08 13:59:48 -06:00
meejah
8598d98ebe
better assert methods
2019-07-08 13:59:36 -06:00
meejah
ec02d47bcc
rename
2019-07-08 12:49:07 -06:00
meejah
0ab149248b
better docstrings
2019-07-08 12:46:30 -06:00
meejah
5644f421fe
get rid of ed25519.bytes_from_* methods
2019-07-08 12:46:22 -06:00
meejah
47633fb01e
unused import
2019-06-26 14:55:35 -06:00
meejah
dd55accec8
Merge branch 'master' into 3031-replace-pycryptopp
2019-06-26 14:42:43 -06:00
Jean-Paul Calderone
6d01b995d1
remove unused import
2019-06-26 12:42:53 -04:00
Jean-Paul Calderone
3c7ab91f07
Replace the monkey-patching with attributes on instances
2019-06-26 10:59:39 -04:00
Jean-Paul Calderone
23e360577f
Merge pull request #621 from tahoe-lafs/3051.handle-weird-announcements
...
Handle weird static server "announcements"
Fixes: ticket:3051
2019-06-26 07:57:33 -04:00
meejah
016413be46
unused import
2019-06-26 01:23:39 -06:00
meejah
56cf188c90
provide IEncryptor and IDecryptor interfaces
2019-06-26 01:21:05 -06:00
meejah
ac583ebc8d
unused import
2019-06-25 23:58:39 -06:00
meejah
a22d2d8bcf
constant for the padding, too
2019-06-25 22:43:33 -06:00
meejah
745805378c
typo
2019-06-25 16:59:41 -06:00
meejah
8b48b3e06e
better docs
2019-06-25 15:40:10 -06:00
meejah
3d2b43b688
FilePath not os.path
2019-06-25 14:35:41 -06:00
meejah
5633f3a8ff
bytes
2019-06-25 14:35:25 -06:00
meejah
5ce01ad9c1
metter docstrings
2019-06-25 14:35:19 -06:00
meejah
2b0d0d4072
don't need six.text_type
2019-06-24 22:02:16 -06:00
meejah
609d5f255d
more things are bytes
2019-06-24 17:00:03 -06:00
meejah
e2717245ce
use aliases
2019-06-24 16:57:59 -06:00
meejah
249abbdd1f
things are bytes
2019-06-24 16:57:12 -06:00
meejah
f52a6ce9bb
more bytes clarification
2019-06-24 16:57:12 -06:00
meejah
238f604bf5
use decrypt aliases
2019-06-24 16:57:12 -06:00
meejah
2c5cbbb095
raise instance, not class
2019-06-24 16:57:12 -06:00
meejah
29d2e32cb0
more bytes clarification
2019-06-24 16:57:12 -06:00
meejah
e670921f56
prefixes are bytes
2019-06-24 16:57:09 -06:00
meejah
05f6b7fea0
refactor ed25519 a little; only _string variants, not _bytes of deserializers and some imports
2019-06-24 15:31:46 -06:00
meejah
e5b892d700
raise instance, not class
2019-06-24 12:29:17 -06:00
meejah
de94a0fd3e
fix util, error crypto imports
2019-06-24 12:29:01 -06:00
meejah
74705ba2a5
correct remove_prefix imports
2019-06-24 12:27:31 -06:00
meejah
14a0481d71
string -> comment
2019-06-24 12:27:09 -06:00
meejah
5701bad548
a module for errors
2019-06-24 12:12:10 -06:00
meejah
58e0b27374
better docstring
2019-06-24 11:57:56 -06:00
meejah
fd2934cb79
returns bytes
2019-06-24 11:45:38 -06:00
meejah
f253235c96
the IV is bytes
2019-06-24 11:41:46 -06:00
meejah
b7990264e8
module docstring
2019-06-24 11:41:26 -06:00
meejah
d2ad803b5d
add a docstring for allmydata.crypto.
2019-06-24 11:29:34 -06:00
meejah
a88b53825c
move utility functions to their own module, better docs on remote_prefix
2019-06-24 11:27:15 -06:00
meejah
bf16cf4c03
fix url
2019-06-23 11:25:59 -06:00