277 Commits

Author SHA1 Message Date
meejah
a867294e00 dead 2021-11-16 15:08:31 -07:00
meejah
75410e51f0 refactor 2021-11-16 15:08:31 -07:00
meejah
d4fc14f9ad docstring 2021-11-16 15:08:31 -07:00
meejah
89c2aacadc working test of 'in the wild' data, working converters 2021-11-16 15:08:31 -07:00
meejah
f81e4e2d25 refactor to use serializers / pickle->json upgraders 2021-11-16 15:08:31 -07:00
meejah
bb70e00065 Make internal state JSON-able for lease-crawler 2021-11-16 15:08:31 -07:00
meejah
f7b385f954 play nice with subclasses 2021-11-16 15:08:31 -07:00
meejah
3b69df36b0 crawler: pickle -> json 2021-11-16 15:08:31 -07:00
Itamar Turner-Trauring
f549488bb5 Don't use a deprecated API. 2021-11-16 11:47:09 -05:00
Itamar Turner-Trauring
a64778ddb0 Flakes. 2021-11-16 11:28:13 -05:00
Itamar Turner-Trauring
c195f895db Python 2 support. 2021-11-16 11:16:26 -05:00
Itamar Turner-Trauring
171d1053ec CBOR content-type on responses. 2021-11-16 11:09:17 -05:00
Itamar Turner-Trauring
671b670154 Some type annotations. 2021-11-16 11:09:08 -05:00
Itamar Turner-Trauring
41ec63f758 Passing first tests. 2021-11-16 10:56:21 -05:00
Jean-Paul Calderone
84c19f5468 clarify renew_leases docs on slot_testv_and_readv_and_writev 2021-11-15 08:12:07 -05:00
Jean-Paul Calderone
ad6017e63d clarify renew_leases docs on allocate_buckets 2021-11-15 08:11:53 -05:00
Jean-Paul Calderone
85977e48a7 put this comment back and merge info from the two versions 2021-11-12 16:23:15 -05:00
Jean-Paul Calderone
c3cb0ebaea Switch to per-call parameter for controlling lease renewal behavior
This is closer to an implementation where you could have two frontends, say a
Foolscap frontend and an HTTP frontend or even just two different HTTP
frontends, which had different opinions about what the behaviour should be.
2021-11-12 16:20:27 -05:00
Itamar Turner-Trauring
c101dd4dc9 Closer to first passing test. 2021-11-12 13:13:19 -05:00
Itamar Turner-Trauring
ddd2780bd2 First sketch of HTTP client. 2021-11-12 12:51:52 -05:00
Itamar Turner-Trauring
a32c6be978 A sketch of what the HTTP server will look like. 2021-11-12 12:02:58 -05:00
Jean-Paul Calderone
2742de6f7c drop some ancient cruft
allocated_size not used anywhere, so why have it
2021-11-10 16:08:53 -05:00
Jean-Paul Calderone
9af81d21c5 add a way to turn off implicit bucket lease renewal too 2021-11-10 16:08:40 -05:00
Jean-Paul Calderone
617a1eac9d refactor lease hashing logic to avoid mutable/immutable duplication 2021-11-05 15:30:49 -04:00
Jean-Paul Calderone
456df65a07 Add v2 of the mutable container schema
It uses hashed lease secrets, like v2 of the immutable container schema.
2021-11-05 14:16:43 -04:00
Jean-Paul Calderone
3de9c73b0b preserve the type when renewing HashedLeaseInfo
does this mean immutable lease renewal is untested?  maybe
2021-11-05 14:11:05 -04:00
Jean-Paul Calderone
5d703d9893 some type annotations 2021-11-05 14:10:27 -04:00
Jean-Paul Calderone
0cd96ed713 fix the debug tool for the hashed lease secret case 2021-11-05 14:09:46 -04:00
Jean-Paul Calderone
931ddf85a5 introduce an explicit representation of the v1 mutable container schema
This is only a partial representation, sufficient to express the changes that
are coming in v2.
2021-11-04 15:26:58 -04:00
Jean-Paul Calderone
2186bfcc37 silence some mypy errors :/
I don't know the "right" way to make mypy happy with these things
2021-11-04 14:40:43 -04:00
Jean-Paul Calderone
6889ab2a76 fix syntax of type hint 2021-11-04 14:16:55 -04:00
Jean-Paul Calderone
7a59aa83bb add missing import 2021-11-04 14:12:54 -04:00
Jean-Paul Calderone
b69e8d013b introduce immutable container schema version 2
This version used on-disk hashed secrets to reduce the chance of secrets
leaking to unintended parties.
2021-11-04 14:07:49 -04:00
Jean-Paul Calderone
234b8dcde2 Formalize LeaseInfo interface in preparation for another implementation 2021-11-04 12:07:24 -04:00
Jean-Paul Calderone
10724a91f9 introduce an explicit representation of the v1 immutable container schema
This is only a partial representation, sufficient to express the changes that
are coming in v2.
2021-11-04 10:17:36 -04:00
Jean-Paul Calderone
274dc6e837 Introduce UnknownContainerVersionError base w/ structured args 2021-11-04 10:06:26 -04:00
Jean-Paul Calderone
a71b1d31bf Merge remote-tracking branch 'upstream/master' 2021-11-04 10:02:54 -04:00
Jean-Paul Calderone
7335b2a597 remove unused import 2021-11-03 13:16:15 -04:00
Jean-Paul Calderone
b5f882ffa6 introduce and use LeaseInfo.is_cancel_secret 2021-10-28 15:21:51 -04:00
Jean-Paul Calderone
8b976b441e add LeaseInfo.is_renew_secret and use it 2021-10-28 15:21:51 -04:00
Jean-Paul Calderone
78dbe76994 remove unused import 2021-10-28 15:20:44 -04:00
Jean-Paul Calderone
1b46ac7a24 add MutableShareFile.is_valid_header and use it 2021-10-28 11:38:18 -04:00
Jean-Paul Calderone
66845c9a17 Add ShareFile.is_valid_header and use it instead of manual header inspection 2021-10-28 11:12:20 -04:00
Jean-Paul Calderone
65d3ab6142 move backdating logic into mutable/immutable share files 2021-10-28 10:53:52 -04:00
Jean-Paul Calderone
3514995068 some versions of mypy don't like this so nevermind 2021-10-28 10:26:30 -04:00
Jean-Paul Calderone
76caf46347 make the alternate LeaseInfo constructors into class methods 2021-10-28 10:23:58 -04:00
Jean-Paul Calderone
70fb5d563a Get rid of the public expiration_time attribute
LeaseInfo now has a getter and a setter for this attribute.
LeaseInfo is now also immutable by way of `attrs`.
LeaseInfo is now also comparable by way of `attrs`.
2021-10-28 09:48:26 -04:00
Jean-Paul Calderone
470657b337 Drop corruption advisories if we don't have a matching share 2021-10-23 07:35:05 -04:00
Jean-Paul Calderone
194499aafe remove unused import 2021-10-22 16:09:54 -04:00
Jean-Paul Calderone
6449ad03de Do not record corruption advisories if there is no available space 2021-10-22 15:56:45 -04:00