meejah
642b604753
use stdin-closing for pidfile cleanup too
2022-09-17 16:36:55 -06:00
meejah
6048d1d9a9
in case hypothesis finds the magic
2022-09-17 16:36:26 -06:00
meejah
0e0ebf6687
more testing
2022-09-17 16:36:26 -06:00
meejah
cad162bb8f
should have pid-file on windows too, now
2022-09-17 16:36:26 -06:00
meejah
3bfb60c6f4
back to context-manager, simplify
2022-09-17 16:36:25 -06:00
meejah
fb532a71ef
own pid-file checks
2022-09-17 16:31:49 -06:00
Itamar Turner-Trauring
444bc724c5
A better approach to MAX_UEB_SIZE: just delete the code since it's not used in practice.
2022-09-16 10:38:29 -04:00
Itamar Turner-Trauring
4a573ede34
Download the actual data we need, instead of relying on bad reading-beyond-the-end semantics.
2022-09-15 11:29:32 -04:00
Itamar Turner-Trauring
b1aa93e022
Switch prefix.
2022-09-15 10:34:59 -04:00
Itamar Turner-Trauring
8d5f08771a
Minimal check on parameters' contents.
2022-09-15 09:45:46 -04:00
Itamar Turner-Trauring
373a532829
Detect corrupted UEB length more consistently.
2022-09-15 09:36:56 -04:00
Fon E. Noel NFEBE
fbc8baa238
Refactor Server class in test_storage.py
...
As a follow up to commit: 48283ea6f8
this refactor adds better methods and cleans up the test to be
consistent with methods that used in classes that extend the `AsyncTestCase`.
Signed-off-by: Fon E. Noel NFEBE <fenn25.fn@gmail.com>
2022-09-14 22:55:34 +01:00
meejah
1058e50c50
close properly
2022-09-08 16:30:30 -06:00
Itamar Turner-Trauring
c82bb5f21c
Use a more meaningful constant.
2022-09-08 13:44:22 -04:00
Itamar Turner-Trauring
9975fddd88
Get rid of garbage.
2022-09-08 13:42:19 -04:00
Itamar Turner-Trauring
b72b51d22d
Merge remote-tracking branch 'origin/master' into 3915-immutable-size
2022-09-08 13:41:46 -04:00
Fon E. Noel NFEBE
48283ea6f8
Refactor test_storage.py
...
There are base test classes namely `SyncTestCase` and
`AsyncTestCase` which we would like all test classes in
this code base to extend.
This commit extends the listed classes in test_storage.py
to extend the above mentioned base classes:
* UtilTests
* BucketProxy
* Server
Signed-off-by: Fon E. Noel NFEBE <fenn25.fn@gmail.com>
2022-09-07 22:36:01 +01:00
meejah
711f6d39e7
missing proto
2022-09-01 22:29:19 -06:00
meejah
decb36a8f6
refactor for Windows testing
2022-09-01 22:20:07 -06:00
meejah
00c785ec76
debug windows
2022-09-01 21:47:28 -06:00
meejah
768829e993
more robust
2022-09-01 21:22:45 -06:00
meejah
488a04cb9b
exit when stdin closes
2022-09-01 17:42:06 -06:00
Itamar Turner-Trauring
bdb4aac0de
Pass in the missing argument.
2022-08-17 13:15:27 -04:00
Itamar Turner-Trauring
92662d802c
Don't drop a Deferred on the ground.
2022-08-17 13:15:13 -04:00
Itamar Turner-Trauring
cd81e5a01c
Hint for future debugging.
2022-08-17 13:13:22 -04:00
Itamar Turner-Trauring
3464637bbb
Fix unit tests.
2022-08-17 12:54:26 -04:00
Itamar Turner-Trauring
9d03c476d1
Make sure we write all the bytes we say we're sending.
2022-08-17 12:49:45 -04:00
Itamar Turner-Trauring
c9084a2a45
Disable assertion we can't, sadly, enable.
2022-08-17 12:49:26 -04:00
Fon E. Noel NFEBE
7aa97336a0
Refactor FakeWebTest & MemoryConsumerTest classes
...
There are base test classes namely `SyncTestCase` and
`AsyncTestCase` which we would like all test classes in
this code base to extend.
This commit refactors two test classes to use the `SyncTestCase`
with the newer assert methods.
Signed-off-by: Fon E. Noel NFEBE <fenn25.fn@gmail.com>
2022-08-17 16:03:06 +01:00
Itamar Turner-Trauring
d50c98a1e9
Calculate URI extension size upfront, instead of hand-waving with a larger value.
2022-08-16 14:34:40 -04:00
Itamar Turner-Trauring
2e5662aa91
Temporarily enforce requirement that allocated size matches actual size of an immutable.
2022-08-16 13:11:06 -04:00
Itamar Turner-Trauring
c1bcfab7f8
Repeatedly poll status of server.
2022-08-15 11:38:02 -04:00
Itamar Turner-Trauring
6d48c1ca34
Merge branch '3902-listen-storage-http' into 3783-storage-client-http
2022-08-15 10:09:31 -04:00
Itamar Turner-Trauring
555fa6e942
Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http
2022-08-15 10:09:21 -04:00
Itamar Turner-Trauring
71b7e9b643
Support comma-separated multi-location hints.
2022-08-15 10:09:04 -04:00
Itamar Turner-Trauring
78b421462d
Merge remote-tracking branch 'origin/master' into 3783-storage-client-http
2022-08-15 09:51:45 -04:00
Itamar Turner-Trauring
b9ac10293a
Merge remote-tracking branch 'origin/master' into 2916.grid-manager-proposal.6
2022-08-15 09:51:08 -04:00
Itamar Turner-Trauring
42e818f0a7
Refer to appropriate attributes, hopefully.
2022-08-12 11:47:08 -04:00
Itamar Turner-Trauring
3fbc4d7eea
Let's make this a little clearer
2022-08-12 11:45:37 -04:00
Itamar Turner-Trauring
636b8a9e2d
Fix a bytes-vs-str bug.
2022-08-12 11:28:08 -04:00
Itamar Turner-Trauring
e8609ac2df
test_istorageserver passes with both Foolscap and HTTP again.
2022-08-12 11:24:41 -04:00
Itamar Turner-Trauring
09d778c2cf
Allow nodes to disable the HTTPS storage protocol.
2022-08-12 11:13:09 -04:00
Itamar Turner-Trauring
f671fb04a1
A lot closer to working end-to-end.
2022-08-11 16:24:33 -04:00
Itamar Turner-Trauring
9ad4e844e8
Do status change notification.
2022-08-11 16:16:17 -04:00
Itamar Turner-Trauring
94be227aaa
Hopefully don't actually need that.
2022-08-11 16:15:21 -04:00
Itamar Turner-Trauring
c3b159a3fd
Continue simplified sketch of HTTPNativeStorageServer.
2022-08-11 16:12:57 -04:00
Itamar Turner-Trauring
c3e4158813
Remove duplication.
2022-08-11 15:55:14 -04:00
Itamar Turner-Trauring
709f139c85
Start refactoring to enable HTTP storage client.
2022-08-11 15:51:30 -04:00
Itamar Turner-Trauring
8b3280bf31
Simplify more.
2022-07-29 10:51:17 -04:00
Itamar Turner-Trauring
d4c73f19fe
A unittest for the metaclass.
2022-07-29 10:42:56 -04:00
Itamar Turner-Trauring
533d2a7ac9
Note Tor and I2P support.
2022-07-29 10:15:23 -04:00
Itamar Turner-Trauring
1cd2185be7
More cleanups.
2022-07-29 10:12:24 -04:00
Itamar Turner-Trauring
34518f9d0d
Fix lints.
2022-07-29 10:01:09 -04:00
Itamar Turner-Trauring
822b652d99
Improve factoring.
2022-07-29 09:57:18 -04:00
Itamar Turner-Trauring
21bb9e50f6
Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http
2022-07-29 09:45:17 -04:00
Itamar Turner-Trauring
4cc5c4d55d
Merge remote-tracking branch 'origin/master' into 2916.grid-manager-proposal.6
2022-07-25 11:55:47 -04:00
Itamar Turner-Trauring
94e0568653
Actually we do need it.
2022-07-22 11:57:32 -04:00
Itamar Turner-Trauring
83f9c0788b
Use more direct API.
2022-07-22 11:56:18 -04:00
Itamar Turner-Trauring
be963e2324
Docstrings.
2022-07-22 11:55:33 -04:00
Itamar Turner-Trauring
2b3a8ddeec
Docstring.
2022-07-22 11:55:00 -04:00
Itamar Turner-Trauring
36b96a8776
Fix typo.
2022-07-22 11:53:28 -04:00
Itamar Turner-Trauring
f671b47a6d
Fix typo.
2022-07-22 11:53:12 -04:00
Itamar Turner-Trauring
5cd9ccfc6a
Slightly nicer handling for bad edge cases.
2022-07-22 11:52:56 -04:00
Itamar Turner-Trauring
981b693402
Make HTTPS protocols work with the protocol switcher magic.
2022-07-20 15:25:22 -04:00
Itamar Turner-Trauring
11f4ebc0d9
Hook up NURL generation to the new Foolscap/HTTPS protocol switch.
2022-07-20 15:12:29 -04:00
Itamar Turner-Trauring
5e0c32708b
Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http
2022-07-20 14:48:26 -04:00
Itamar Turner-Trauring
d85b20b62d
Fix lint.
2022-07-20 12:47:18 -04:00
Itamar Turner-Trauring
da8a36fac9
Improve test coverage.
2022-07-20 12:07:46 -04:00
Itamar Turner-Trauring
69739f5f9b
Handle case where requested range results in empty response.
2022-07-20 11:42:01 -04:00
Itamar Turner-Trauring
43c6af6fde
More error handling for edge cases.
2022-07-20 11:28:14 -04:00
Itamar Turner-Trauring
1b8b71b306
Content-Range headers are now checked (somewhat) and the server now sends
...
correct headers when reading beyond the end.
2022-07-19 16:10:22 -04:00
Itamar Turner-Trauring
b3aff5c43b
More efficient implementations.
2022-07-19 14:37:46 -04:00
Itamar Turner-Trauring
49dfc8445c
Implementation of getting length of shares (albeit inefficiently for now).
2022-07-18 14:12:12 -04:00
Itamar Turner-Trauring
1bcca7f630
Python 3 tweaks.
2022-07-18 11:29:20 -04:00
Itamar Turner-Trauring
011b942372
Python 3 tweaks.
2022-07-18 11:26:33 -04:00
Itamar Turner-Trauring
8b0941acd2
Python 3 tweaks.
2022-07-18 11:20:46 -04:00
Itamar Turner-Trauring
07a3d1ecd6
Python 3 tweaks.
2022-07-18 11:15:03 -04:00
Itamar Turner-Trauring
6cf3bc75b6
Some Python 3 cleanups.
2022-07-18 11:09:19 -04:00
Itamar Turner-Trauring
90188ce4d1
More Python 3 tweaks.
2022-07-18 11:05:03 -04:00
Itamar Turner-Trauring
d84d366c72
Some tweaks for Python 3 and modern attrs.
2022-07-18 10:50:04 -04:00
Itamar Turner-Trauring
b4703ace93
Some tweaks for Python 3.
2022-07-18 10:35:28 -04:00
Itamar Turner-Trauring
b3ab2fdb81
Fix grid manager CLI tests.
2022-07-15 15:12:31 -04:00
Itamar Turner-Trauring
1ede0e7786
Merge remote-tracking branch 'meejah/2916.grid-manager-proposal.5' into 2916.grid-manager-proposal.6
2022-07-15 14:06:10 -04:00
Itamar Turner-Trauring
a24aefaebf
There can be up to 256 shares.
2022-07-15 11:35:28 -04:00
Itamar Turner-Trauring
87932e3444
Correct type.
2022-07-06 09:50:16 -04:00
Itamar Turner-Trauring
0b5132745d
A nicer interface.
2022-07-06 09:47:08 -04:00
Itamar Turner-Trauring
fd8a385d1d
Reformat with black.
2022-07-06 09:46:59 -04:00
Itamar Turner-Trauring
dac0080ea2
Make sure we update remaining length, and update test to catch the edge case
...
this fixes.
2022-07-06 09:40:46 -04:00
Itamar Turner-Trauring
5c5556d915
More robust usage.
2022-07-06 09:38:31 -04:00
Itamar Turner-Trauring
69c4dbf2b5
Fix tests and point to future work.
2022-07-05 17:17:38 -04:00
Itamar Turner-Trauring
6e3ca256b9
Some refactoring to handle edge cases better, in progress.
2022-07-05 15:36:21 -04:00
Itamar Turner-Trauring
3270d24c45
Slight simplification.
2022-07-05 11:30:48 -04:00
Itamar Turner-Trauring
1e6864ac01
Typo.
2022-07-05 11:30:01 -04:00
Itamar Turner-Trauring
97d0ba23eb
Switch to hypothesis-based test.
2022-07-05 11:21:46 -04:00
Itamar Turner-Trauring
249f431849
Use MonkeyPatch instead of MockPatch, since we're not mocking.
2022-07-05 11:14:52 -04:00
Itamar Turner-Trauring
f2acf71998
Document next steps: NURL generation.
2022-06-30 15:58:52 -04:00
Itamar Turner-Trauring
70dfc44841
Fix for 3905.
2022-06-30 15:45:30 -04:00
Itamar Turner-Trauring
3db6080f6d
Make the factories a class-level attribute.
2022-06-30 15:18:22 -04:00
Itamar Turner-Trauring
1798966f03
Store the tub on the subclass, since we'll want it (or rather its Listeners) for
...
NURL construction.
2022-06-30 14:53:37 -04:00
Itamar Turner-Trauring
d1bdce9682
A nicer API.
2022-06-30 14:26:36 -04:00
Itamar Turner-Trauring
03c515191e
Better docs.
2022-06-30 14:21:43 -04:00
Itamar Turner-Trauring
451e68795c
Lints, better explanation.
2022-06-30 13:54:58 -04:00
Itamar Turner-Trauring
bee46fae93
Resource limits on the client side.
2022-06-30 13:48:33 -04:00
Itamar Turner-Trauring
ab80c0f0a1
Set some length limits on various queries lengths.
2022-06-30 13:35:30 -04:00
Itamar Turner-Trauring
0e8f2aa702
More memory usage reductions.
2022-06-29 13:58:05 -04:00
Itamar Turner-Trauring
520456bdc0
Add streaming to CBOR results.
2022-06-29 11:26:25 -04:00
Itamar Turner-Trauring
efe9575d28
Nicer testing infrastructure so you don't have to switch back and forth between
...
sync and async test APIs.
2022-06-29 11:25:28 -04:00
Itamar Turner-Trauring
6dd2b2d583
More streaming, with tests passing again.
2022-06-27 17:00:24 -04:00
Itamar Turner-Trauring
06eca79263
Minimal streaming implementation.
2022-06-27 14:12:17 -04:00
Itamar Turner-Trauring
bfd54dc6ea
Switch to newer attrs API, for consistency across the module.
2022-06-27 11:30:49 -04:00
Itamar Turner-Trauring
1154371d22
Clarifying comments.
2022-06-23 12:51:07 -04:00
Itamar Turner-Trauring
01d8cc7ab6
Put the attribute on the correct object.
2022-06-23 12:49:07 -04:00
Itamar Turner-Trauring
eb1e48bcc3
Add a timeout.
2022-06-23 12:47:33 -04:00
Itamar Turner-Trauring
0c99a9f7b0
Make it more accurate.
2022-06-23 12:44:17 -04:00
Itamar Turner-Trauring
d70f583172
More cleanups.
2022-06-23 12:43:46 -04:00
Itamar Turner-Trauring
026d63cd6a
Fix some mypy warnings.
2022-06-23 12:41:47 -04:00
Itamar Turner-Trauring
d86f8519dc
Simplify implementation.
2022-06-23 12:41:01 -04:00
Itamar Turner-Trauring
04156db74e
Delay Negotiation.connectionMade so we don't create unnecessary timeouts.
2022-06-23 12:32:43 -04:00
Itamar Turner-Trauring
1579530895
Add working HTTP support.
2022-06-23 07:59:43 -04:00
Itamar Turner-Trauring
c5724c1d0a
Clarify.
2022-06-22 14:20:42 -04:00
Itamar Turner-Trauring
7577d1e24c
Sketch of HTTP support, still untested WIP.
2022-06-22 14:19:29 -04:00
Itamar Turner-Trauring
7910867be6
It actually works(?!) now.
2022-06-22 10:23:23 -04:00
Itamar Turner-Trauring
e1daa192fb
Sketch of protocol switcher experiment.
2022-06-21 17:20:08 -04:00
Itamar Turner-Trauring
d37f187c07
Lint fix.
2022-06-08 13:56:23 -04:00
Itamar Turner-Trauring
db42651355
Be more consistent and just always write to the request in read_range
.
2022-06-08 13:55:47 -04:00
Itamar Turner-Trauring
00381bc24f
Correction now that it does more than what it did before.
2022-06-08 13:52:45 -04:00
Itamar Turner-Trauring
c3a304e1cc
Lint and mypy fixes.
2022-06-06 11:04:34 -04:00
Itamar Turner-Trauring
85774ced95
Run shared tests on mutables too, with appropriate fixes to the tests and the server.
2022-06-06 10:57:19 -04:00
Itamar Turner-Trauring
e6efb62fd1
Refactor immutable tests so they can shared with mutables.
2022-06-06 10:25:06 -04:00
Itamar Turner-Trauring
797f34aec3
More tests.
2022-06-06 09:59:12 -04:00
Itamar Turner-Trauring
3e67d2d789
More tests.
2022-06-06 09:50:36 -04:00
Itamar Turner-Trauring
f1384096fa
First unit test for mutables.
2022-06-03 13:46:23 -04:00
Itamar Turner-Trauring
fd306b9a61
Share more code across mutable and immutable reads.
2022-06-01 13:54:54 -04:00
Itamar Turner-Trauring
2313195c2b
Reduce duplication.
2022-05-20 11:43:42 -04:00
Itamar Turner-Trauring
63624eedec
Reduce code duplication.
2022-05-20 11:33:02 -04:00
Itamar Turner-Trauring
12927d50ba
Type annotation improvements.
2022-05-20 11:10:18 -04:00
Itamar Turner-Trauring
8c8ea4927f
Switch to public API.
2022-05-20 11:07:55 -04:00
Itamar Turner-Trauring
d209065a6e
Fix type issue, and modernize slightly.
2022-05-16 11:22:44 -04:00
Itamar Turner-Trauring
a54b443f9d
It's not an immutable client anymore.
2022-05-12 09:44:30 -04:00
Itamar Turner-Trauring
f3cf13154d
Setup HTTP lease APIs for immutables too.
2022-05-11 12:00:27 -04:00
Itamar Turner-Trauring
b8735c79da
Fix docstring.
2022-05-11 11:50:29 -04:00
Itamar Turner-Trauring
821bac3ddf
Test another lease edge case.
2022-05-11 11:50:01 -04:00
Itamar Turner-Trauring
17fc9d0064
Merge branch '3891-mutable-http-protocol-part-2' into 3893-mutable-http-protocol-part-3
2022-05-11 11:22:03 -04:00
Itamar Turner-Trauring
457db8f992
Get rid of the "no such storage index" edge case, since it's not really necessary.
2022-05-11 11:17:57 -04:00
Itamar Turner-Trauring
4b62ec082b
Match Foolscap behavior for slot_readv of unknown storage index.
2022-05-11 11:11:24 -04:00
Itamar Turner-Trauring
6d412a017c
Type annotation.
2022-05-11 11:00:46 -04:00
Itamar Turner-Trauring
07e16b80b5
Better name.
2022-05-11 11:00:05 -04:00
Itamar Turner-Trauring
6f5a0e43eb
Implement advise_corrupt_share for mutables.
2022-05-11 10:41:36 -04:00
Itamar Turner-Trauring
b3fed56c00
Move Foolscap compatibility to a better place.
2022-05-05 12:11:09 -04:00
Itamar Turner-Trauring
2833bec80e
Unit test the new storage server backend API.
2022-05-05 12:04:45 -04:00
Itamar Turner-Trauring
06029d2878
Another end-to-end test passing (albeit with ugly implementation).
2022-05-04 11:25:13 -04:00
Itamar Turner-Trauring
852162ba06
More accurate docs.
2022-05-04 11:03:35 -04:00
Itamar Turner-Trauring
c1ce74f88d
Ability to list shares, enabling more of IStorageClient to run over HTTP.
2022-05-04 11:03:14 -04:00
Itamar Turner-Trauring
5ce204ed8d
Make queries run in parallel.
2022-04-28 12:18:58 -04:00
Itamar Turner-Trauring
b8b1d7515a
We can at least be efficient when possible.
2022-04-28 11:59:50 -04:00
Itamar Turner-Trauring
76d0cfb770
Correct comment.
2022-04-28 11:49:21 -04:00
Itamar Turner-Trauring
e16eb6dddf
Better type definitions.
2022-04-28 11:48:59 -04:00
Itamar Turner-Trauring
72c59b5f1a
Unused import.
2022-04-19 15:09:02 -04:00
Itamar Turner-Trauring
f03feb0595
TODOs for later.
2022-04-19 15:08:07 -04:00
Itamar Turner-Trauring
21c3c50e37
Basic mutable read support.
2022-04-19 15:07:57 -04:00
Itamar Turner-Trauring
f5c4513cd3
A little closer to serialization and deserialization working correctly, with
...
some tests passing.
2022-04-19 14:46:13 -04:00
Itamar Turner-Trauring
898fe0bc0e
Closer to running end-to-end mutable tests.
2022-04-19 13:18:31 -04:00
Itamar Turner-Trauring
b0d547ee53
Progress on implementing client side of mutable writes.
2022-04-18 14:56:20 -04:00
Itamar Turner-Trauring
24548dee0b
Sketch of read/write APIs interface for mutables on client side.
2022-04-15 09:56:06 -04:00
Itamar Turner-Trauring
186aa9abc4
Make the utility reusable.
2022-04-15 09:32:15 -04:00
Itamar Turner-Trauring
58bd381202
Switch to newer attrs API.
2022-04-15 09:19:30 -04:00
Itamar Turner-Trauring
fc2807cccc
Sketch of server-side read-test-write endpoint.
2022-04-15 09:08:16 -04:00
Jean-Paul Calderone
c0a84ececa
Merge pull request #1191 from tahoe-lafs/3526.test_invite-no-mock
...
Remove mock usage from test_invite
Fixes: ticket:3526
2022-04-14 12:50:17 -04:00
Itamar Turner-Trauring
4e0f912a10
Comply with license.
2022-04-14 11:52:20 -04:00
Itamar Turner-Trauring
9db5a397e1
Minor type annotation improvements.
2022-04-14 11:45:47 -04:00
Itamar Turner-Trauring
2bc8cdf852
Drop Python 2.
2022-04-14 11:40:19 -04:00
Itamar Turner-Trauring
5349f35a0b
Merge remote-tracking branch 'origin/master' into 3875-http-storage-furls
2022-04-14 11:39:21 -04:00
Jean-Paul Calderone
f34e01649d
some more fixes for mypy
2022-04-13 18:35:18 -04:00
Jean-Paul Calderone
03674bd452
use Tuple for type alias
...
__future__.annotations only fixes py37/generic builtins in annotations syntax,
not arbitrary expressions
2022-04-13 16:01:32 -04:00
Jean-Paul Calderone
38e1e93a75
factor the duplicate client logic out
2022-04-13 15:42:10 -04:00
Jean-Paul Calderone
ec5be01f38
more completely annotate types in the wormholetesting module
2022-04-13 14:50:38 -04:00
Jean-Paul Calderone
10f79ce8aa
Use __future__.annotations in test_invite for generic builtins too
2022-04-13 14:39:52 -04:00
Jean-Paul Calderone
0f61a1dab9
Factor some duplication out of the test methods
2022-04-12 14:33:11 -04:00
Jean-Paul Calderone
71b5cd9e0d
rewrite comment annotations with syntax
2022-04-12 14:13:48 -04:00
Jean-Paul Calderone
b0fffabed0
remove unnecessary module-scope wormhole
...
used this during testing so the other mock() calls wouldn't explode in a
boring way
2022-04-12 14:10:02 -04:00
Itamar Turner-Trauring
1634f137be
Use sets more widely in the schema.
2022-04-12 12:54:16 -04:00
Jean-Paul Calderone
bc6dafa999
Replace monkey-patching of wormhole with a parameter to run_cli
2022-04-12 11:01:04 -04:00
Jean-Paul Calderone
dffcdf2854
Clean up the Py2/Py3 boilerplate
2022-04-11 15:05:32 -04:00
Jean-Paul Calderone
f19bf8cf86
Parameterize the options object to the run_cli
helper
2022-04-11 15:04:55 -04:00
Itamar Turner-Trauring
4b20b67ce6
Client-side schema validation.
2022-04-11 14:03:48 -04:00
Itamar Turner-Trauring
dfad50b1c2
Better error.
2022-04-11 14:03:30 -04:00
Itamar Turner-Trauring
e5b0e51f72
Server-side schema validation of CBOR.
2022-04-11 13:11:45 -04:00
Itamar Turner-Trauring
bdcf054de6
Switch to generating certs on the fly since Python packaging was being a pain.
2022-04-08 13:37:18 -04:00
Itamar Turner-Trauring
423512ad00
Wait harder.
2022-04-06 11:48:17 -04:00
Itamar Turner-Trauring
22ebbba5ac
Extend testing.
2022-04-06 11:35:05 -04:00
Itamar Turner-Trauring
5a82ea880b
More specific methods.
2022-04-06 11:31:26 -04:00
Itamar Turner-Trauring
ab1297cdd6
Link to ticket.
2022-04-06 11:27:42 -04:00
Itamar Turner-Trauring
eda5925548
Get rid of another place where listen on port 0, and switch to FilePath only for now.
2022-04-06 11:25:37 -04:00
Itamar Turner-Trauring
710fad4f8a
Support broader range of server endpoints, and switch to more robust random port
...
assignment.
2022-04-06 11:10:42 -04:00
Itamar Turner-Trauring
2e934574f0
Switch to URL-safe base64 for SPKI hash, for nicer usage in NURLs.
2022-04-06 09:37:18 -04:00
Itamar Turner-Trauring
5972a13457
Add reactor argument.
2022-04-06 09:34:17 -04:00
Itamar Turner-Trauring
30a3b006a0
Include self-signed cert in package install.
2022-03-30 10:26:26 -04:00
Itamar Turner-Trauring
da6838d6f9
Stop talking about furl, it's a NURL.
2022-03-28 11:35:45 -04:00
Itamar Turner-Trauring
119ba9468e
Not needed.
2022-03-28 11:28:38 -04:00
Itamar Turner-Trauring
4e58748c4a
Get constants from OpenSSL directly.
2022-03-28 11:27:32 -04:00
Itamar Turner-Trauring
ae8a7eff43
Make mypy happy.
2022-03-25 15:52:31 -04:00
Itamar Turner-Trauring
638154b2ad
Cleanups.
2022-03-25 15:46:42 -04:00
Itamar Turner-Trauring
23ce581405
More tests; some still failing.
2022-03-25 14:01:06 -04:00
Itamar Turner-Trauring
bd6e537891
Hacky fix.
2022-03-25 13:52:25 -04:00
Itamar Turner-Trauring
712f4f1385
Sketch of first HTTPS client logic test.
2022-03-25 13:49:11 -04:00
Itamar Turner-Trauring
6f86675766
Split into its own file.
2022-03-25 10:59:16 -04:00
Itamar Turner-Trauring
9240d9d657
Expand the comment.
2022-03-25 10:46:14 -04:00
Itamar Turner-Trauring
e50d88f46d
Technically this doesn't matter, because it's client-side, but it's good habit.
2022-03-25 10:45:54 -04:00
meejah
cc682d0413
Merge branch 'master' into 3828.key-length
2022-03-24 11:40:52 -06:00
Itamar Turner-Trauring
be0ff08275
Possibly correct, but communicating, end-to-end TLS with some amount of
...
validation logic.
Still untested!
2022-03-24 12:12:11 -04:00
Jean-Paul Calderone
f48055179f
Merge pull request #1186 from tahoe-lafs/3883.drop-cpuusagemonitor-foolscap-dep
...
Drop the Foolscap dependency in allmydata.stats
Fixes: ticket:3883
2022-03-24 08:09:42 -04:00
Jean-Paul Calderone
c737bcdb6f
use the generic version of the correct types for samples
2022-03-23 18:40:12 -04:00
Itamar Turner-Trauring
5310747eaa
Start hooking up end-to-end tests with TLS, fixing bugs along the way.
...
At this point the issue is that the client fails certificate validation (which
is expected lacking the pinning validation logic, which should be added next).
2022-03-23 16:33:29 -04:00
Itamar Turner-Trauring
eef99c1f22
Merge remote-tracking branch 'origin/master' into 3875-http-storage-furls
2022-03-23 15:59:07 -04:00
Jean-Paul Calderone
98634ae5cb
allow the correct number of samples in
...
also speed up the test with some shorter intervals
2022-03-18 12:36:48 -04:00
Jean-Paul Calderone
b56f79c7ad
read initial cpu usage value at service start time
...
This removes the Foolscap dependency.
2022-03-18 10:43:17 -04:00
Jean-Paul Calderone
ce381f3e39
pull the default initial_cpu value out to class scope
...
also add python 3 syntax type annotations
2022-03-18 10:42:40 -04:00
Jean-Paul Calderone
32e88e580b
switch to a deque
...
this makes more of the data structure someone else's responsibility and
probably improves performance too (but I didn't measure)
2022-03-18 10:41:33 -04:00
Jean-Paul Calderone
b83b6adfbc
remove py2 compat boilerplate
2022-03-18 10:41:07 -04:00
Itamar Turner-Trauring
7de3d93b0e
Switch to TypeError.
2022-03-18 10:12:51 -04:00
Itamar Turner-Trauring
fae9556e3d
Centralize client serialization logic too.
2022-03-14 11:28:54 -04:00
Itamar Turner-Trauring
0aa8089d81
Explicitly tell the server that the client accepts CBOR.
2022-03-14 11:20:23 -04:00
Itamar Turner-Trauring
106cc708a0
Use a constant.
2022-03-14 11:18:53 -04:00
Itamar Turner-Trauring
722f8e9598
Expand docs.
2022-03-14 11:17:06 -04:00
Itamar Turner-Trauring
b6073b11c2
Refactor to check HTTP content-type of request body.
2022-03-14 11:16:09 -04:00
Itamar Turner-Trauring
fef332754b
Switch to shared utility so server can use it too.
2022-03-14 11:09:40 -04:00
Itamar Turner-Trauring
13fd3b3685
Get rid of Python 2 crud.
2022-03-14 11:01:20 -04:00
Itamar Turner-Trauring
1e108f8445
Don't use a custom parser.
2022-03-14 11:01:09 -04:00
Itamar Turner-Trauring
b8ab3dd6a7
Server handles Accept headers.
2022-03-14 10:53:22 -04:00
Itamar Turner-Trauring
e55c3e8acf
Check for CBOR content-encoding header in client.
2022-03-14 10:35:39 -04:00
Itamar Turner-Trauring
5baf63219d
Always use UTF-8 for corruption reports.
2022-03-10 17:41:28 -05:00
Itamar Turner-Trauring
7e25b43dba
Direct unit tests for advising share is corrupt.
2022-03-10 11:28:48 -05:00
Itamar Turner-Trauring
922ee4feb1
Sketch of advise_corrupt_share support for immutables.
2022-03-10 11:09:45 -05:00
Itamar Turner-Trauring
f736683347
Finish testing and implementing lease renewal.
2022-03-09 13:35:50 -05:00
Itamar Turner-Trauring
aee0f7dc69
Sketch of lease renewal implementation.
2022-03-09 13:10:13 -05:00
Itamar Turner-Trauring
636ab017d4
Disconnection is purely a Foolscap concern.
2022-03-09 12:47:14 -05:00
Itamar Turner-Trauring
e598fbbc85
Get rid of redundant code.
2022-03-09 12:42:24 -05:00
Itamar Turner-Trauring
5d51aac0d3
Clarify.
2022-03-09 12:41:40 -05:00
Itamar Turner-Trauring
edb9eda53b
Clarify.
2022-03-09 12:41:10 -05:00
Itamar Turner-Trauring
ac271cfb3d
Merge remote-tracking branch 'origin/master' into 3877-immutable-storage-apis-continued
2022-03-09 11:23:02 -05:00
Itamar Turner-Trauring
86769c19bf
Finish abort logic and tests.
2022-03-09 11:19:23 -05:00
Itamar Turner-Trauring
ef4f912a68
Less error-prone testing assertion, and fix a testing bug.
2022-03-09 11:11:39 -05:00
Itamar Turner-Trauring
4fc7ef7528
Basic HTTP test for aborts.
2022-03-09 10:57:05 -05:00
Itamar Turner-Trauring
f47741afb1
Correct behavior on timed out immutable uploads.
2022-03-09 10:45:21 -05:00
Itamar Turner-Trauring
92b952a5fe
Authenticate writes!
2022-03-09 10:45:08 -05:00
Itamar Turner-Trauring
c642218173
Sketch of aborting uploads.
2022-03-08 10:41:56 -05:00
Itamar Turner-Trauring
5203873995
Refactor to unify data structure logic.
2022-03-08 10:13:37 -05:00
Itamar Turner-Trauring
5be7cbc171
Merge pull request #1182 from tahoe-lafs/3876-per-bucket-upload-secret
...
Allow per-bucket upload secret
Fixes ticket:3876
2022-03-08 10:10:48 -05:00
Itamar Turner-Trauring
7721c134f2
Change the semantics of HTTP bucket creation so that it's possible to have a
...
different upload secret per upload.
2022-03-07 09:28:21 -05:00
Itamar Turner-Trauring
40e5ab1661
Merge pull request #1178 from tahoe-lafs/3860-http-more-immutables
...
More immutable support for HTTP storage API
Fixes ticket:3860
2022-03-07 09:12:56 -05:00
Itamar Turner-Trauring
87ab56426a
Validate another edge case of bad storage index.
2022-03-07 08:46:05 -05:00
Itamar Turner-Trauring
4efa65d3db
Typo.
2022-03-07 08:29:26 -05:00
Itamar Turner-Trauring
60bcd5fe9f
Address review comments.
2022-03-07 08:25:12 -05:00
Itamar Turner-Trauring
9f4f6668c0
Tweaks.
2022-03-07 08:21:58 -05:00
Itamar Turner-Trauring
7146cff227
Sketch of TLS listening and furl construction for the HTTP storage server.
2022-03-02 10:40:39 -05:00
Itamar Turner-Trauring
32cbc7b9df
Function for getting SPKI hash.
2022-03-02 10:35:41 -05:00
Itamar Turner-Trauring
f81cd6e595
Use an option also available on PyPy3.
2022-02-23 10:57:36 -05:00
meejah
2928a480ff
RSA key-size is not configurable, it's 2048bits
2022-02-16 21:46:24 -07:00
meejah
5cd95920b6
Merge branch 'master' into 3828.key-length.1
2022-02-16 21:18:50 -07:00
Itamar Turner-Trauring
5aa00abc3d
Use the correct API (since direct returns break Python 2 imports)
2022-02-11 15:02:14 -05:00
Itamar Turner-Trauring
abf3048ab3
More passing HTTP IStorageServer tests.
2022-02-10 17:07:21 -05:00
Itamar Turner-Trauring
7466ee25a8
Don't send header if it makes no sense to do so.
2022-02-10 13:57:57 -05:00
Itamar Turner-Trauring
b049d4a792
Fix get_version with new API.
2022-02-10 13:52:47 -05:00
Itamar Turner-Trauring
fa2f142bc9
Another ticket.
2022-02-10 13:50:09 -05:00
Itamar Turner-Trauring
aa68be645f
Return Content-Range in responses.
2022-02-10 13:48:33 -05:00
Itamar Turner-Trauring
416af7328c
Support lack of Range header.
2022-02-10 13:31:09 -05:00
Itamar Turner-Trauring
7db1ddd875
Implement Range header validation.
2022-02-10 13:15:48 -05:00
Itamar Turner-Trauring
5d9e0c9bca
Not found tests and implementation.
2022-02-09 13:14:27 -05:00
Itamar Turner-Trauring
45ee5e3346
Done elsewhere.
2022-02-09 13:08:34 -05:00
Itamar Turner-Trauring
bae5d58ab9
Another test.
2022-02-09 13:07:34 -05:00
Itamar Turner-Trauring
faacde4e32
Conflicting writes.
2022-02-09 12:41:32 -05:00
Itamar Turner-Trauring
8c739343f3
Reduce duplication.
2022-02-09 12:38:32 -05:00
Itamar Turner-Trauring
95d7548629
Upload to non-existent place.
2022-02-09 12:30:38 -05:00
Itamar Turner-Trauring
72bac785ee
Done elsewhere.
2022-02-09 12:27:08 -05:00
Itamar Turner-Trauring
ecb1a3c5a0
Just require content-range for simplicity.
2022-02-09 12:25:47 -05:00
Itamar Turner-Trauring
d38183335e
Handle bad Content-Range headers.
2022-02-08 10:46:55 -05:00
Itamar Turner-Trauring
7107a85fba
Refactor client, separating low-level and high-level concerns.
2022-02-08 10:19:37 -05:00
Itamar Turner-Trauring
ce2468cdff
Validate inputs automatically as part of parsing.
2022-02-04 10:35:38 -05:00
Itamar Turner-Trauring
e6f32e33bc
Merge branch '3871-http-list-storage-index-shares' into 3860-http-more-immutables
2022-02-04 09:30:17 -05:00
Itamar Turner-Trauring
5e3a31166d
Better explanation.
2022-02-04 09:26:58 -05:00
Itamar Turner-Trauring
7454929be0
Less code duplication.
2022-02-04 09:26:25 -05:00
Itamar Turner-Trauring
52322c25d3
Merge remote-tracking branch 'origin/master' into 3871-http-list-storage-index-shares
2022-02-04 09:19:51 -05:00
Itamar Turner-Trauring
6b3722d3f6
Avoid using possibly-private API.
2022-02-03 12:50:29 -05:00
Itamar Turner-Trauring
23c8bde9d5
Nicer cleanup.
2022-02-03 12:44:55 -05:00
Itamar Turner-Trauring
1dfc0bde36
Use better method to listen on random port.
2022-02-03 12:43:49 -05:00
Itamar Turner-Trauring
39fe48b174
More passing IStorageServer tests.
2022-02-02 12:55:41 -05:00
Itamar Turner-Trauring
bceed6e199
More bucket allocation logic.
2022-02-02 12:41:25 -05:00
Itamar Turner-Trauring
aebb5056de
Don't use real reactor in these tests.
2022-02-02 11:00:16 -05:00
Itamar Turner-Trauring
70d0bd0597
Test and document what happens for non-existent storage index.
2022-02-01 10:41:12 -05:00
Itamar Turner-Trauring
35bbcad4de
Merge branch '3868-istorageserver-tests-http' into 3871-http-list-storage-index-shares
2022-02-01 10:36:55 -05:00
Itamar Turner-Trauring
0fbf746e27
Skip on Python 2.
2022-02-01 10:30:27 -05:00
Itamar Turner-Trauring
48a9bf7457
Hook up more IStorageServer tests that can now pass with HTTP.
2022-02-01 10:25:13 -05:00
Itamar Turner-Trauring
c72e7b0585
Implement HTTP share listing endpoint.
2022-02-01 10:20:23 -05:00
Itamar Turner-Trauring
c2e524ddb8
Make mypy happy.
2022-02-01 09:55:13 -05:00
Itamar Turner-Trauring
5dfaa82ed2
Skip tests that don't pass.
2022-02-01 09:47:51 -05:00
Itamar Turner-Trauring
66abe5dfca
First passing immutable-API-over-HTTP IStorageServer tests.
2022-01-31 12:02:52 -05:00
Itamar Turner-Trauring
ef56435578
Merge branch '3855-immutable-http-apis-part-1' into 3868-istorageserver-tests-http
2022-01-31 11:36:28 -05:00
Itamar Turner-Trauring
e672029e6d
First HTTP test passes.
2022-01-31 10:49:43 -05:00
Itamar Turner-Trauring
77f6f5d176
Merge remote-tracking branch 'origin/master' into 3855-immutable-http-apis-part-1
2022-01-31 10:36:54 -05:00
Jean-Paul Calderone
640bb05a57
Merge remote-tracking branch 'origin/master' into 3788.refactor-src.test.mutable
2022-01-28 13:07:48 -05:00
Itamar Turner-Trauring
d23fdcdb8a
Sketch of first IStorageServer test with HTTP server/client.
2022-01-28 12:03:17 -05:00
Itamar Turner-Trauring
2583236ad8
Fix unused import.
2022-01-25 10:56:45 -05:00
Itamar Turner-Trauring
609bd819bb
Merge remote-tracking branch 'origin/master' into 3855-immutable-http-apis-part-1
2022-01-25 10:42:04 -05:00
Itamar Turner-Trauring
e1f9f7de94
Note for future improvement.
2022-01-25 10:06:23 -05:00
Itamar Turner-Trauring
0346dfea60
Note we can do this now.
2022-01-25 09:56:54 -05:00
Itamar Turner-Trauring
b64e6552a4
Fix assertion.
2022-01-24 11:30:41 -05:00
Itamar Turner-Trauring
d2e3b74098
Some progress towards upload progress result from the server.
2022-01-21 12:36:58 -05:00
Itamar Turner-Trauring
a4cb4837e6
It's a secret, compare it securely.
2022-01-21 11:43:36 -05:00
Itamar Turner-Trauring
e8e3a3e663
Expand.
2022-01-21 11:37:46 -05:00
Itamar Turner-Trauring
c4d71a4636
Use abstractions for generating headers on client, note another place we should
...
generate headers.
2022-01-20 13:12:25 -05:00
Itamar Turner-Trauring
65787e5603
Get rid of inlineCallbacks.
2022-01-20 12:57:52 -05:00
Itamar Turner-Trauring
4b5c71ffbc
Bit more info.
2022-01-20 12:50:36 -05:00
Itamar Turner-Trauring
b952e738dd
Try to clarify.
2022-01-20 12:43:01 -05:00
Itamar Turner-Trauring
2a2ab1ead7
Use a set, not a list, for share numbers.
2022-01-20 12:39:25 -05:00
Itamar Turner-Trauring
587a510b06
Note a better way to implement this.
2022-01-20 12:38:01 -05:00
Itamar Turner-Trauring
9a0a19c15a
Reminder we might want to support JSON too.
2022-01-20 12:07:58 -05:00
Itamar Turner-Trauring
5fa8c78f97
Don't use reactor, since it's not necessary.
2022-01-20 12:04:20 -05:00
Itamar Turner-Trauring
f09aa8c796
Use pre-existing parser for Range and Content-Range headers.
2022-01-20 11:16:06 -05:00
Itamar Turner-Trauring
d5bac8e186
Make sure upload secret semantics are still supporting the security goals.
2022-01-20 10:56:08 -05:00
Itamar Turner-Trauring
1bf2b2ee5f
Note follow-up issue.
2022-01-20 10:52:44 -05:00
Itamar Turner-Trauring
23368fc9d9
Move tests back into unittest module.
2022-01-20 10:34:09 -05:00
Itamar Turner-Trauring
406a06a508
Make sure we don't violate the Foolscap interface definition for this method.
2022-01-17 14:38:06 -05:00
Itamar Turner-Trauring
28dbdbe019
Make sure return type is consistent.
2022-01-17 14:31:29 -05:00
Itamar Turner-Trauring
7aed7dbd8a
Make module import on Python 2 (so tests can pass).
2022-01-17 14:24:28 -05:00
Itamar Turner-Trauring
79cd9a3d6d
Fix lint.
2022-01-17 14:22:15 -05:00
Itamar Turner-Trauring
d4ae7c89aa
First end-to-end immutable upload then download test passes.
2022-01-17 14:20:40 -05:00
Itamar Turner-Trauring
25e2100219
Immutable writing now knows when it's finished.
2022-01-17 14:06:21 -05:00
Itamar Turner-Trauring
4ea6bf2381
A test and some progress to making it pass.
2022-01-15 12:59:23 -05:00
Itamar Turner-Trauring
3bed067828
Implement more of the writing logic.
2022-01-14 08:34:17 -05:00
Itamar Turner-Trauring
f5437d9be7
Some progress towards bucket allocation endpoint, and defining the protocol better.
2022-01-12 11:51:56 -05:00
Itamar Turner-Trauring
018f53105e
Pass correct arguments.
2022-01-12 11:16:39 -05:00
Itamar Turner-Trauring
2bccb01be4
Fix bug wrapping endpoints.
2022-01-12 11:16:21 -05:00
Itamar Turner-Trauring
6e2aaa8391
Refactor more integration-y tests out.
2022-01-12 09:14:58 -05:00
Itamar Turner-Trauring
004e5fbc9d
Get to point where we get failing HTTP response.
2022-01-11 15:47:32 -05:00
Itamar Turner-Trauring
2369de6873
Simple upload/download test for immutables.
2022-01-11 15:45:15 -05:00
Itamar Turner-Trauring
040569b47a
Sketch of tests to write for basic HTTP immutable APIs.
2022-01-11 15:11:16 -05:00
Itamar Turner-Trauring
db68defe88
Sketch of basic immutable server-side logic.
2022-01-11 14:50:29 -05:00
Itamar Turner-Trauring
57405ea722
Finish sketch of minimal immutable HTTP client code.
2022-01-11 14:37:32 -05:00
meejah
db5c65e530
Merge branch 'master' into 3854.mime-parsing-bug
2022-01-07 12:16:25 -07:00
meejah
9644532916
don't depend on order
2022-01-07 11:28:55 -07:00
meejah
a49baf44b6
actually-reproduce 3852
2022-01-07 10:59:13 -07:00
meejah
11f2097591
docstring
2022-01-07 10:58:58 -07:00
meejah
983f90116b
check differently, don't depend on order
2022-01-06 13:15:31 -07:00
Itamar Turner-Trauring
2864ff872d
Another MIME type that needs to be handled by FieldStorage.
2022-01-06 13:34:56 -05:00
Itamar Turner-Trauring
9f5d7c6d22
Fix a bug where we did unnecessary parsing.
2022-01-06 13:09:25 -05:00
Itamar Turner-Trauring
2f94fdf372
Extra testing coverage, including reproducer for #3854 .
2022-01-06 13:09:19 -05:00
Itamar Turner-Trauring
90a25d0109
Reorganize into shared file.
2022-01-06 12:36:46 -05:00
Itamar Turner-Trauring
9c20ac8e7b
Client API sketch for basic immutable interactions.
2022-01-05 16:06:29 -05:00
Itamar Turner-Trauring
5f4db487f7
Sketch of required business logic.
2022-01-04 13:43:19 -05:00
meejah
5be5714bb3
fix; get rid of sorting
2021-12-22 15:32:40 -07:00