Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reStore not compatible with draft-05 #35

Open
untitaker opened this issue Aug 21, 2015 · 4 comments
Open

reStore not compatible with draft-05 #35

untitaker opened this issue Aug 21, 2015 · 4 comments

Comments

@untitaker
Copy link

The folder listing in draft-05 looks like this:

{
    "@context": "http://remotestorage.io/spec/folder-description",
        "items": {
            "abc": {
                "ETag": "DEADBEEFDEADBEEFDEADBEEF",
                "Content-Type": "image/jpeg",
                "Content-Length": 82352
            }
        }
}

Your server responds with this:

{"abc": "DEADBEEFDEADBEEFDEADBEEF"}
@jcoglan
Copy link
Owner

jcoglan commented Aug 23, 2015

Could you clarify what you're identifying as the problem here? reStore as master (which will shortly be released) returns this in its WebFinger response:

$ curl -sk https://local.dev/.well-known/webfinger?resource=acct:jcoglan@local.dev
{
  "links": [
    {
      "href": "https://local.dev/storage/jcoglan",
      "rel": "remotestorage",
      "type": "draft-dejong-remotestorage-01",
      "properties": {
        "auth-method": "http://tools.ietf.org/html/rfc6749#section-4.2",
        "auth-endpoint": "https://local.dev/oauth/jcoglan",
        "http://remotestorage.io/spec/version": "draft-dejong-remotestorage-01",
        "http://tools.ietf.org/html/rfc6750#section-2.3": true,
        "http://tools.ietf.org/html/rfc6749#section-4.2": "https://local.dev/oauth/jcoglan"
      }
    }
  ]
}

(This is not a strict draft-dejong-remotestorage-01 response, it also contains items from other versions for compatibility, but the model implemented by the module as a whole is that of draft-dejong-remotestorage-01.)

The folder listing response is consistent with draft-dejong-remotestorage-01. Changing the folder listing would require migrating to draft-dejong-remotestorage-02 or above, which requires changes to the other protocol endpoints and the storage engine itself, including code to migrate data from existing installations.

So, are you implicitly asking to upgrade beyond draft-dejong-remotestorage-01, or just to change this endpoint?

@untitaker
Copy link
Author

Hello James, thank you for your answer.

Sorry for the confusion, yes, basically I'm asking for an upgrade far beyond 02, ideally to 05. I have only begun implementing the latest draft-05 where the spec version isn't exposed by the server as far as I can see. Currently I'm parsing the webfinger rel rather sloppily, out of tolerance for bugs.

I didn't think there would be that many concerns or guarantees regarding backwards compatibility since RS is still being drafted, but I'm also rather new to this standard and wouldn't know any better.

On 23 August 2015 22:47:47 CEST, James Coglan notifications@github.com wrote:

Could you clarify what you're identifying as the problem here? reStore
as master (which will shortly be released) returns this in its
WebFinger response:

$ curl -sk
https://local.dev/.well-known/webfinger?resource=acct:jcoglan@local.dev
{
 "links": [
   {
     "href": "https://local.dev/storage/jcoglan",
     "rel": "remotestorage",
     "type": "draft-dejong-remotestorage-01",
     "properties": {
      "auth-method": "http://tools.ietf.org/html/rfc6749#section-4.2",
       "auth-endpoint": "https://local.dev/oauth/jcoglan",
"http://remotestorage.io/spec/version":
"draft-dejong-remotestorage-01",
       "http://tools.ietf.org/html/rfc6750#section-2.3": true,
"http://tools.ietf.org/html/rfc6749#section-4.2":
"https://local.dev/oauth/jcoglan"
     }
   }
 ]
}

(This is not a strict draft-dejong-remotestorage-01 response, it also
contains items from other versions for compatibility, but the model
implemented by the module as a whole is that of
draft-dejong-remotestorage-01.)

The folder listing response is consistent with
draft-dejong-remotestorage-01. Changing the folder listing would
require migrating to draft-dejong-remotestorage-02 or above, which
requires changes to the other protocol endpoints and the storage engine
itself, including code to migrate data from existing installations.

So, are you implicitly asking to upgrade beyond
draft-dejong-remotestorage-01, or just to change this endpoint?


Reply to this email directly or view it on GitHub:
#35 (comment)

Sent from my phone. Please excuse my brevity.

@raucao
Copy link
Contributor

raucao commented Aug 24, 2015

The listing format changed in -02 iirc. In theory, spec versions < -03 are deprecated already, but in the real world server implementations always lagged behind a bit. At @5apps, we're still on -02 for example.

If you're implementing a new client, I don't think it makes sense to support anything below -02 though, because that's where the last breaking changes happened and the following versions just added some features and clarifications which by themselves don't break clients.

Edit: see also this comment, @untitaker: #34 (comment) -- maybe if @jcoglan could put some notes about the ideas somewhere, other people could join the effort?

@untitaker
Copy link
Author

I'd be interested as well in those ideas, but for now @jcoglan would you accept a minimal patch that updates reStore to draft-05?

untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 3, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 3, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 3, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 5, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 11, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 11, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 11, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 11, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 12, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 12, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 17, 2015
untitaker added a commit to pimutils/vdirsyncer that referenced this issue Sep 18, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants