Jean-Paul Calderone
01b14fe05c
Merge remote-tracking branch 'origin/master' into 3962.pre-determined-rsa-keys
2023-01-06 17:30:01 -05:00
Jean-Paul Calderone
2dc6466ef5
fix some errors reported by mypy
2023-01-06 17:12:59 -05:00
Jean-Paul Calderone
e829b891b3
important data file ...
2023-01-06 15:51:59 -05:00
Jean-Paul Calderone
3ff9c45e95
expose the private-key feature in the tahoe put
cli
2023-01-06 15:40:48 -05:00
Jean-Paul Calderone
e236cc95a5
Move get_keypair to a shared location
2023-01-06 15:36:08 -05:00
Itamar Turner-Trauring
3de5ebde48
Merge branch '3956-mutable-uploads' into 3957-mutable-over-http-speed
2023-01-06 11:05:11 -05:00
Jean-Paul Calderone
3423bfb351
Expose the pre-constructed keypair functionality to the HTTP API
2023-01-03 11:31:29 -05:00
Jean-Paul Calderone
c7bb190290
Factor some SSK "signature" key handling code into a more reusable shape
...
This gives the test suite access to the derivation function so it can
re-derive certain values to use as expected results to compare against actual
results.
2023-01-03 10:38:18 -05:00
Jean-Paul Calderone
5bad92cfc5
Another Python 2 remnant cleanup
2023-01-03 10:34:39 -05:00
Jean-Paul Calderone
a58d8a567a
Clean up some more Python 2 remnants
2023-01-03 10:33:37 -05:00
Jean-Paul Calderone
6b58b66677
Clean up some Python 2 remnants
2023-01-03 10:32:03 -05:00
Jean-Paul Calderone
f6d9c33526
Give slightly better error messages from rsa key validation failure
2023-01-03 10:28:59 -05:00
Jean-Paul Calderone
23f2d8b019
add some type annotations to allmydata.crypto.rsa
2023-01-03 10:28:32 -05:00
Jean-Paul Calderone
15e22dcc52
Add keypair
to NodeMaker.create_mutable_file
...
Previously `NodeMaker` always took responsibility for generating a keypair to
use. Now the caller may supply one.
2023-01-02 19:29:13 -05:00
Jean-Paul Calderone
3f8bec0ecc
Merge remote-tracking branch 'origin/master' into 3914.faster-rsa-tests
2023-01-02 11:46:10 -05:00
Jean-Paul Calderone
1c643ebbaf
Merge pull request #1237 from tahoe-lafs/3954.faster-http
...
Faster HTTP for immutable downloads
Fixes: ticket:3954
2023-01-02 10:09:55 -05:00
Itamar Turner-Trauring
d1b464d0d8
Writing large files can involve many writes.
2022-12-21 09:35:10 -05:00
Itamar Turner-Trauring
54da6eb60a
Remove unneeded imports.
2022-12-21 09:34:25 -05:00
Itamar Turner-Trauring
1a4dcc70e2
Support large mutable uploads in a memory-efficient manner.
2022-12-21 09:24:31 -05:00
Jean-Paul Calderone
6b57b03157
Merge remote-tracking branch 'origin/master' into 3942.missing-authorization-handling
2022-12-21 05:51:39 -05:00
Jean-Paul Calderone
80caf04966
Merge pull request #1234 from tahoe-lafs/3947.mutable-test_version-async-def
...
Convert some tests for mutables to use `async def`
Fixes: ticket:3947
2022-12-21 05:50:07 -05:00
Itamar Turner-Trauring
1d3464a430
Add end-to-end MDMF test.
2022-12-19 13:37:20 -05:00
Itamar Turner-Trauring
96347e22e2
Make a test demonstrating the problem.
2022-12-15 13:14:49 -05:00
Jean-Paul Calderone
c014ad55b1
remove Python 2 boilerplate
2022-12-14 08:48:02 -05:00
Jean-Paul Calderone
05c7450376
Try to use an upcoming python-cryptography feature to avoid some costs
...
If the key is the wrong number of bits then we don't care about any other
validation results because we're just going to reject it. So, check that
before applying other validation, if possible.
This is untested since the version of python-cryptography that supports it is
not released yet and I don't feel like setting up a Rust build tool chain at
the moment.
2022-12-14 08:47:05 -05:00
Itamar Turner-Trauring
6ae40a932d
A much more reasonable number of HTTP connections.
2022-12-13 15:54:19 -05:00
Itamar Turner-Trauring
1eba202c08
Merge pull request #1231 from tahoe-lafs/3939-faster-http-protocol
...
Faster http protocol, part 1 (and maybe faster Foolscap too, while we're at it)
Fixes ticket:3939
2022-12-05 14:05:55 -05:00
Jean-Paul Calderone
daecfc63b9
Merge pull request #1233 from tahoe-lafs/3874.fix-testing-helper-encoding
...
Fix a testing helper
2022-12-02 10:27:58 -05:00
Jean-Paul Calderone
c542b84637
remove the annotations
...
everything is broken on older pythons
2022-12-02 08:47:07 -05:00
Jean-Paul Calderone
c6cc3708f4
Fixup the annotations a bit
2022-12-02 08:38:46 -05:00
Jean-Paul Calderone
b40d882fce
remove unused import
2022-12-02 08:28:22 -05:00
Jean-Paul Calderone
a84b278ecd
support older pythons
2022-12-02 08:26:15 -05:00
Jean-Paul Calderone
9619e286f4
Switch the web testing double to BytesKeyDict
...
This will catch more str/bytes errors by default than `dict`
2022-12-02 08:16:02 -05:00
meejah
20b3594d12
exarkun wants a helper
2022-12-01 17:05:58 -07:00
meejah
36ed554627
proto -> transport
2022-12-01 17:03:48 -07:00
meejah
3d43cbccc9
log less-specific failures
2022-12-01 17:01:38 -07:00
meejah
c57d1aa8a9
Merge branch 'master' into 3921.exit-on-stdin-close
2022-12-01 16:58:37 -07:00
meejah
7ffcfcdb67
Update src/allmydata/test/test_runner.py
...
Co-authored-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>
2022-12-01 16:47:40 -07:00
Itamar Turner-Trauring
c93ff23da7
Don't send empty string writes.
2022-12-01 14:54:28 -05:00
Itamar Turner-Trauring
8ed333b171
Correct explanation.
2022-12-01 14:45:45 -05:00
Itamar Turner-Trauring
0ba58070cd
Tweaks.
2022-12-01 14:45:39 -05:00
Itamar Turner-Trauring
d4c202307c
Better method name.
2022-12-01 14:43:49 -05:00
Itamar Turner-Trauring
17dfda6b5a
More direct API.
2022-12-01 14:42:52 -05:00
Jean-Paul Calderone
05dfa875a7
Quite a mypy warning about formatting bytes into a string
2022-11-30 09:46:13 -05:00
Jean-Paul Calderone
156954c621
no longer any need to "daisy chain" this value
2022-11-30 09:43:01 -05:00
Jean-Paul Calderone
a11eeaf240
Convert all of the asynchronous functions to use async
and await
2022-11-30 09:30:37 -05:00
Jean-Paul Calderone
1acf8604ef
Remove the Py2/Py3 compatibility header
2022-11-30 09:30:08 -05:00
Jean-Paul Calderone
5cebe91406
update the module docstring
2022-11-30 09:29:57 -05:00
Jean-Paul Calderone
02aeb68f17
Take care with str vs bytes in the implementation
...
Also replace the intentional BAD_REQUEST with GONE for this case.
2022-11-29 10:51:07 -05:00
Jean-Paul Calderone
d7fe25f7c7
Correct the assertion about how "not found" should be handled
...
Behavior verified visually against a live client node:
```
❯ curl -v 'http://localhost:3456/uri/URI:CHK:cmtcxq7hwxvfxan34yiev6ivhy:qvcekmjtoetdcw4kmi7b3rtblvgx7544crnwaqtiewemdliqsokq:1:1:1 '
* Trying 127.0.0.1:3456...
* Connected to localhost (127.0.0.1) port 3456 (#0 )
> GET /uri/URI:CHK:cmtcxq7hwxvfxan34yiev6ivhy:qvcekmjtoetdcw4kmi7b3rtblvgx7544crnwaqtiewemdliqsokq:1:1:1 HTTP/1.1
> Host: localhost:3456
> User-Agent: curl/7.83.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 410 Gone
< X-Frame-Options: DENY
< Referrer-Policy: no-referrer
< Server: TwistedWeb/22.10.0
< Date: Tue, 29 Nov 2022 15:39:47 GMT
< Content-Type: text/plain;charset=utf-8
< Accept-Ranges: bytes
< Content-Length: 294
< ETag: ui2tnwl5lltj5clzpyff42jdce-
<
NoSharesError: no shares could be found. Zero shares usually indicates a corrupt URI, or that no servers were connected, but it might also indicate severe corruption. You should perform a filecheck on this object to learn more.
The full error message is:
* Connection #0 to host localhost left intact
no shares (need 1). Last failure: None
```
2022-11-29 10:49:20 -05:00