Jean-Paul Calderone
b3aa1e224f
Add a helper to LeaseInfo for computing size
...
This lets some code LBYL and avoid writing if the lease won't fit in the
immutable share in the space available.
2021-10-22 15:56:45 -04:00
Jean-Paul Calderone
82e4704415
Merge remote-tracking branch 'remediate/master' into LFS-01-008
2021-10-22 15:27:15 -04:00
Jean-Paul Calderone
ce30f9dd06
clean up copyediting errors
2021-10-22 15:04:45 -04:00
Jean-Paul Calderone
d8c466e9a7
try to explain lease_count_format
more clearly
2021-10-22 12:35:11 -04:00
Jean-Paul Calderone
3cd9a02c81
Reject negative lengths in MutableShareFile._read_share_data and readv
2021-10-18 20:22:52 -04:00
Jean-Paul Calderone
df64bbb1e4
fail to encode the lease count *before* changing anything
...
This preserves the failure behavior - `struct.error` is raised - but leaves
the actual share file contents untouched if the new lease count cannot be
encoded.
There are still two separate write operations so it is conceivable that some
other problem could cause `write_lease_record` to happen but
`write_encoded_num_leases` not to happen. As far as I can tell we have
severely limited options for addressing that problem in general as long as
share files are backed by a POSIX filesystem.
However, by removing the failure mode that depends on user input, it may be
that this is all that is needed to close the *security* hole.
2021-10-18 20:17:41 -04:00
Jean-Paul Calderone
f60bbbd3e2
make it possible to test this behavior of add_lease
2021-10-18 20:17:41 -04:00
Itamar Turner-Trauring
016d6b4530
Fix spurious type checking error.
2021-09-29 14:10:14 -04:00
Itamar Turner-Trauring
58d7e2f627
Simplify implementation.
2021-09-29 13:58:53 -04:00
Itamar Turner-Trauring
8fb6afee1b
Refactor BucketWriters such that disconnection can be limited Foolscap.
2021-09-29 13:42:17 -04:00
Itamar Turner-Trauring
a4153b7125
Implementation plan.
2021-09-29 11:56:04 -04:00
Itamar Turner-Trauring
fadfbcad99
Merge pull request #1130 from tahoe-lafs/3801-no-overlapping-writes-immutable-upload
...
Disallow conflicting overlapping writes when doing an immutable upload.
Fixes ticket:3801
2021-09-28 10:37:56 -04:00
Itamar Turner-Trauring
0b1082fc04
Fix lint.
2021-09-24 12:04:12 -04:00
Itamar Turner-Trauring
6ef3811112
Prevent conflicting overlapping writes.
2021-09-24 11:54:08 -04:00
Itamar Turner-Trauring
1ff4e61e41
Low-level tests for conflicting and non-conflicting writes.
2021-09-24 10:49:27 -04:00
Itamar Turner-Trauring
911a5e2ed1
Rip out server-side usage of operators other than eq, because nothing ever used them.
2021-09-15 11:07:02 -04:00
Itamar Turner-Trauring
148a0573de
Replace colon on filename only, not on whole path.
...
This would break Windows logging of corruption reports, since colon would be removed from e.g. "C:".
2021-09-03 13:11:02 -04:00
Itamar Turner-Trauring
7d32335353
Clarify and remove duplication.
2021-08-30 16:49:11 -04:00
Itamar Turner-Trauring
d599568c79
Tests validating that the operation for adding a lease will renew the lease
...
instead if it already exists.
2021-08-19 13:56:13 -04:00
Itamar Turner-Trauring
dfff187ad0
Make time pluggable to support better testing.
2021-08-19 13:23:01 -04:00
Itamar Turner-Trauring
3f98349cd9
Limit Pickle protocol to version supported by Python 2.
2021-06-16 11:53:25 -04:00
Itamar Turner-Trauring
c5a426b797
More unicode-of-bytes fixes.
2021-02-12 11:47:11 -05:00
Itamar Turner-Trauring
a06956632b
More unicode-of-bytes bug fixes.
2021-02-12 11:37:43 -05:00
Jason R. Coombs
5396f9f97e
Replace fixme with reference to foolscap issue.
2020-12-26 12:02:47 -05:00
Jason R. Coombs
6ba7533168
Ignore failure on StorageServer.slot_testv_and_readv_and_writev, the implementation of which deviates from the interface spec substantially.
2020-11-29 14:04:59 -05:00
Jason R. Coombs
4998c4693f
Ignore type checks on Referenceable objects. Ref warner/foolscap#78 .
2020-11-29 13:57:46 -05:00
Jason R. Coombs
25cce8b77e
Suppress typing errors in fileutil, crawler, fixups.
2020-11-29 13:57:46 -05:00
Itamar Turner-Trauring
5cd00d6f2e
And even more tests passing in Python 3.
2020-09-24 10:55:47 -04:00
Itamar Turner-Trauring
03fd566e2c
Fix flake error.
2020-09-17 12:37:10 -04:00
Itamar Turner-Trauring
e8743a607f
Fix failing tests.
2020-09-16 14:37:16 -04:00
Itamar Turner-Trauring
b4116239b5
Merge remote-tracking branch 'origin/master' into 3415.storage-server-python-3
2020-09-16 11:27:03 -04:00
Itamar Turner-Trauring
a552bb53a7
Merge remote-tracking branch 'origin/master' into 3409.allmydata-storage-immutable-python-3
2020-09-15 09:05:55 -04:00
Itamar Turner-Trauring
65d38055e4
Merge branch '3409.allmydata-storage-immutable-python-3' into 3415.storage-server-python-3
2020-09-14 14:48:24 -04:00
Itamar Turner-Trauring
31aa594290
Looks like float is fine for mean.
2020-09-14 14:47:26 -04:00
Itamar Turner-Trauring
d84a7a61f3
Port to Python 3.
2020-09-14 14:46:08 -04:00
Itamar Turner-Trauring
1d508c74e8
Port to Python 3.
2020-09-14 14:13:07 -04:00
Itamar Turner-Trauring
6196a1c650
Port to Python 3.
2020-09-14 14:06:27 -04:00
Itamar Turner-Trauring
aef293fbca
Port to Python 3.
2020-09-14 14:04:02 -04:00
Itamar Turner-Trauring
4590c1d1f5
Port to Python 3.
2020-09-14 13:56:45 -04:00
Itamar Turner-Trauring
7de84e32a3
Port to Python 3.
2020-09-11 15:02:42 -04:00
Itamar Turner-Trauring
6957540156
Assert nodeid is bytes, to ease porting.
2020-09-08 14:10:13 -04:00
Itamar Turner-Trauring
1cfe58a52d
All of test_storage passes on Python 3.
2020-08-31 13:17:52 -04:00
Itamar Turner-Trauring
5ad5b79cdd
More passing tests.
2020-08-28 10:53:52 -04:00
Itamar Turner-Trauring
9ce43231b4
More passing tests.
2020-08-27 15:49:04 -04:00
Itamar Turner-Trauring
6fd8ae1cc9
Finish port to Python 3.
2020-08-20 14:55:49 -04:00
Itamar Turner-Trauring
5d2bdf5883
Explicit bytes.
2020-08-20 14:32:41 -04:00
Itamar Turner-Trauring
be9f02cb13
Should be explicitly bytes.
2020-08-20 13:15:24 -04:00
Itamar Turner-Trauring
8279be38c1
Finish porting to Python 3.
2020-08-19 13:25:11 -04:00
Itamar Turner-Trauring
35ac5a62e7
Tests now pass on Python 3 too.
2020-08-19 12:15:39 -04:00
Itamar Turner-Trauring
ff582c5129
Some progress towards running crawler on Python 3.
2020-08-19 11:38:59 -04:00