buttercup / buttercup-importer

:fishing_pole_and_fish: 3rd-party archive importer for Buttercup
https://buttercup.pw
MIT License
43 stars 13 forks source link

1Password importer doesn't work with 1Password for Windows 4 #40

Open neojp opened 5 years ago

neojp commented 5 years ago

I'm trying to import a 1PIF file from 1Password for Windows 4.6.2.626. There aren't any error messages and the import finishes with a new group named "Imported 1 password archive".

I'm going with the assumption that this is because of the 1PIF exported version of macOS is different and contains additional data that doesn't exist in the Windows version.

Line 22 in the 1password.js looks for item.typeName where typeName doesn't exist in my list of items. The code follows to line 23 which looks for a reference to the macOS system.folder which obviously fails again.

It all goes downhill from here and the rest of the script fails at importing any of the items in my 1PIF file.

Not sure what the next steps for this issue would be:

  1. Either we create a new importer named 1PIF for Windows and rename this one to macOS version.
  2. Or we create a better abstraction that handles both versions.

Regardless, there probably should be a note in the README saying it only supports macOS.

perry-mitchell commented 5 years ago

Interesting issue. Why would 1password encode their files differently for different operating systems? That doesn’t make sense.. I suspect there must be something else going on, such as a different vault version or export format update.

Nevertheless we need to first figure out why there’s a difference and how we can handle as many potentialities as possible, as you said..

perry-mitchell commented 5 years ago

@neojp can you possibly create a new 1password vault, with a few sample items and folders, and export it here so we can look further at it?

neojp commented 5 years ago

Certainly, I will do so later today. Could someone also provide one that works with the current version of the importer? I have started working on a importer for the Windows version.

neojp commented 5 years ago

This is a quick example that includes multiple URLs, password history, a section of additional fields, and tags.

{"category":"001","created":1562951889,"fave":1000,"hmac":"hmHhysZV0qdE1V4jT/vwApj3RLpPYrfGmtxPGNqLvfI=","k":"UVPWy3CojCxY1Fui+f1eAbXQULbVjDZrf8GQk2H4dVNFXruIyYeDf45suOh+NpL8UrJOmBBXmq/l0NsuRAwzHHE2gh02/FaEO4oav///yx4SWMwuX75aE8Bhkr0gTtaDwT8km7Ooso8k40UEO3rHDg==","tx":1562952304,"updated":1562952304,"uuid":"22D0586917CA4B8BB86D513409D2A99E","overview":{"title":"buttercup.pw","url":"https://buttercup.pw","tags":["Security","Password"],"ps":81,"URLs":[{"u":"https://buttercup.pw"},{"u":"https://login.buttercup.pw"},{"u":"http://buttercup.pw"}],"autosubmit":"never","ainfo":"importer@buttercup.pw"},"details":{"passwordHistory":[{"value":"KUZmnenZ22rFArAj","time":1562951995}],"fields":[{"type":"T","id":"username","name":"username","value":"importer@buttercup.pw","designation":"username"},{"type":"P","id":"password","name":"password","value":"if0bUeNqStN5Uqhp","designation":"password"},{"type":"T","id":"remember_me","name":"remember_me","value":"yes"}],"notesPlain":"This is a plain note\r\nwith\r\nsome\r\nbreak lines","sections":[{"title":"Personal information","name":"98A0AAC2313F413B8F9B4926F4F95C41","fields":[{"k":"string","n":"BA9F129F81734C48BC5FB2EBF035DEAF","v":"Buttercup","t":"name"},{"k":"string","n":"A2219791E7D649D8B082B78F2C3550FF","v":"a77d128nafA.!","t":"nonce"},{"k":"date","n":"7166BE49DC264A65B09DF1CE2181BE56","v":1446638460,"t":"date_of_birth"}]}]}}
perry-mitchell commented 5 years ago

Thanks @neojp! We'll get to it as soon as we can.