Skip to content
This repository was archived by the owner on Apr 11, 2025. It is now read-only.

Commit dea7778

Browse files
committed
fix syncing of cipher fields
It was set up as a []string for some reason, while they are objects. A new cipher was set up on the test account, which has lots of data in it, including custom fields of all types. Fixes #9.
1 parent 7b76ea2 commit dea7778

File tree

3 files changed

+68
-5
lines changed

3 files changed

+68
-5
lines changed

sync.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ type Cipher struct {
6262
CollectionIDs []string
6363

6464
Card string
65-
Fields []string
65+
Fields []Field
6666
Identity string
6767
Login Login
6868
Name string
@@ -88,6 +88,12 @@ func (c *Cipher) Match(attr, value string) bool {
8888
return got == value
8989
}
9090

91+
type Field struct {
92+
Type int
93+
Name string
94+
Value string
95+
}
96+
9197
type Login struct {
9298
Password string
9399
Totp string

testdata/data-notfa.json

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"DeviceID": "cfd6811f-7f66-4393-bbdf-4d509ae4904b",
3-
"AccessToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJDMzZDMjE0REI0OEYyMzVCNzdEQTNGMTcyMEMxQTM1QTk2MkVBNDMiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJ2RGJDRk50SThqVzNmYVB4Y2d3YU5hbGk2a00ifQ.eyJuYmYiOjE1NjEzNjc4NDQsImV4cCI6MTU2MTQ1NDI0NCwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eS5iaXR3YXJkZW4uY29tIiwiYXVkIjpbImh0dHBzOi8vaWRlbnRpdHkuYml0d2FyZGVuLmNvbS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiY29ubmVjdG9yIiwic3ViIjoiNjZiNTQzNTItZDMxMS00ODY2LTkwY2ItYWE2ZDAwZDYyZjNiIiwiYXV0aF90aW1lIjoxNTYxMzY3ODQ0LCJpZHAiOiJiaXR3YXJkZW4iLCJwcmVtaXVtIjpmYWxzZSwiZW1haWwiOiJ0ZXN0bm90ZmFAbXZkYW4uY2MiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwic3N0YW1wIjoiRUFDWldRTEZaQUw2WFZZQzcyRVZJUUNWRFNOSU8yMlEiLCJuYW1lIjoiVGVzdCBXaXRob3V0IFRGQSIsImRldmljZSI6ImNmZDY4MTFmLTdmNjYtNDM5My1iYmRmLTRkNTA5YWU0OTA0YiIsInNjb3BlIjpbImFwaSIsIm9mZmxpbmVfYWNjZXNzIl0sImFtciI6WyJBcHBsaWNhdGlvbiJdfQ.XSVZrjtX8GtUTqOEzihksRqY8eVNcj24ARRxC458BBYSGztRzH5YK--yrjd_HiZEOOOKcQ1M2XRR4yOafXE305bYxUMmZ96U6j-eggh0hFc7-Hez6kNiUBO6jB3bvHM-m8jJiAVejDJuXeA-1sey_Oe3EO0NBcyZzmOEXI1ddGWmtbT5-cRbTXm2U5rktD8PXwhxINuwc-nHjEOPsT0Xu5s3ll8xhP_e96jTobNXBjjvgC_m0B-rhWxzQYszN6E1HK6rfizbRHimgPP8L85RGJyNE_0p6cRTbBL4lNBJeRS_i_ky7-420QVsdIvw4578vWFtNfVk0j1sMOiljHomgHD5yNWsrCSlIHtJXSw6PPqugTBFCgaP5ZI6zF8T3mfkoHNOiD-S6EkRSeMY9EcGmN7tLqyf2TFguhNMDEfHgHHhnaNSrOG5mYaTo1ogc0Gdf3nHVh9K1CvQkc_f_v0FwcBUsCUSu-GFE3Qpj3VLYWMmJPbZ5DDrSsFbtOOc7E8V5mXoMuvl5brMEBxwCPnrRMPpRzvL5sc2vbcCHjlphj8vgkXg9FcU4nC4RJKh8iO3F90KlUv-EVhvmzli1m3KSuCjvNpwqJYbM_xdnB_hRJlbiVRMLTYxMpqABcC7hdCjbIXVW1clkvzShV1b0YbnMBgsFQaRrUhUpxULr9b1Kdc",
4-
"RefreshToken": "5c8302f17f423d22993b0f03b78b557525f8d32fbf18b4c98fcb050ae13494a4",
5-
"TokenExpiry": "2019-06-25T09:17:23.761035444Z",
3+
"AccessToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJDMzZDMjE0REI0OEYyMzVCNzdEQTNGMTcyMEMxQTM1QTk2MkVBNDMiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJ2RGJDRk50SThqVzNmYVB4Y2d3YU5hbGk2a00ifQ.eyJuYmYiOjE1NjE0NTMyOTYsImV4cCI6MTU2MTUzOTY5NiwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eS5iaXR3YXJkZW4uY29tIiwiYXVkIjpbImh0dHBzOi8vaWRlbnRpdHkuYml0d2FyZGVuLmNvbS9yZXNvdXJjZXMiLCJhcGkiXSwiY2xpZW50X2lkIjoiY29ubmVjdG9yIiwic3ViIjoiNjZiNTQzNTItZDMxMS00ODY2LTkwY2ItYWE2ZDAwZDYyZjNiIiwiYXV0aF90aW1lIjoxNTYxNDUzMjk2LCJpZHAiOiJiaXR3YXJkZW4iLCJwcmVtaXVtIjpmYWxzZSwiZW1haWwiOiJ0ZXN0bm90ZmFAbXZkYW4uY2MiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwic3N0YW1wIjoiRUFDWldRTEZaQUw2WFZZQzcyRVZJUUNWRFNOSU8yMlEiLCJuYW1lIjoiVGVzdCBXaXRob3V0IFRGQSIsImRldmljZSI6ImNmZDY4MTFmLTdmNjYtNDM5My1iYmRmLTRkNTA5YWU0OTA0YiIsInNjb3BlIjpbImFwaSIsIm9mZmxpbmVfYWNjZXNzIl0sImFtciI6WyJBcHBsaWNhdGlvbiJdfQ.AJ7uSW_QlIlrH8eZQO8Ps9FCpehobeoryOTPKPG2Km_jvq4qFMnLqz0pU15fJMF3F-X6vHP7I_CP3N74aMv6h2MyKpLnmtp1rIJOOOrb2EvQDNHqcglLbOsxXay28EbtvrqrNAvGFytOtX0Yqx152nA1zhVOA0ddGxsGlKgSuAncxCWvCwTmKJJZ-qV6mVOhMi8NXaEIGpd_6tFvqC3nMkN1OOL3yciXYCwy-klUf9DJOnNbXdd7AfrauO_dCTGfmF92XVFRuorBwwocNrE0pB3OKWdKk9foqUFJZJh5tUXUXWwGWZxeE8Rs1XmbmAbdgxJTdGPhQs3UrNcLNAKvH_pc49HObBj-s3JEjDTzyNGfT5E2-ruIDrj3NwgcnPuXWLpxbCvzEqVTzmmInZ-ILU0uMFo7iL4YqgUGk4a_i5eo_f7Xax0Rx1SXDsDynYt8PMXwceCc8JcaEO2rapaBQOJn8C6Ws-3CkCAAyc7aLJk4fLMzP0_429RSrH01ny_Zdu4MTlV0UBi37NeFBWtBzl5RiXGypzs-5_BUnl1H6ubcH8OShIgujuoIVpm3t7URL0woDRSaDqnC7rEdn0PZe9CzuHtCwr55gYd8Rnego2wAJcPUtk-E0TFQbxhH8EuMvv2CuUgyuyD7BcrnETGG_XPakeeU0xhFbkTvQn2EEQI",
4+
"RefreshToken": "054ad60842b1422731ba1d017d810d0aec17f0905714c815b6019f8e1271fb14",
5+
"TokenExpiry": "2019-06-26T09:01:36.03804854Z",
66
"KDF": 0,
77
"KDFIterations": 100000,
8-
"LastSync": "2019-06-24T09:17:24.405437771Z",
8+
"LastSync": "2019-06-25T09:01:37.135027378Z",
99
"Sync": {
1010
"Profile": {
1111
"ID": "66b54352-d311-4866-90cb-aa6d00d62f3b",
@@ -81,6 +81,58 @@
8181
"SecureNote": {
8282
"Type": 0
8383
}
84+
},
85+
{
86+
"Type": 1,
87+
"FolderID": "",
88+
"OrganizationID": "",
89+
"Favorite": false,
90+
"Edit": true,
91+
"ID": "a389bbb8-3084-4c81-8da3-aa770093ddef",
92+
"Attachments": null,
93+
"OrganizationUseTotp": false,
94+
"RevisionDate": "2019-06-25T08:58:22.02Z",
95+
"CollectionIDs": [],
96+
"Card": "",
97+
"Fields": [
98+
{
99+
"Type": 0,
100+
"Name": "2.B+qL33XZ5CvKjbAR95YYyw==|6JYEMUCu8hye4ANulQ+kyQ==|rgz02j77fOGMv/30ztjIjCasovr/Nw+V4RbgBh92FXM=",
101+
"Value": "2.aqnEJAUGEy6rniakfHDsrA==|/3QiL8V0KyVRgbOkVqhWxw==|V8DhFTvD3QFGtsCw+GHdJRXV+yZPOgqzFTPqpPuKrCI="
102+
},
103+
{
104+
"Type": 2,
105+
"Name": "2.xw3oRPY9VdvRbolCo0LiKw==|TqGFycQI+XZwiQXUra8R5w==|zm9SQvKVXowvGpY6D4B6aK0Dv61t6qybIaCYEaI8710=",
106+
"Value": "2.sqpalip3M5p4gaoly5QjnQ==|mIKN2JcPUuifE5Z/dntplg==|4iuFLVhQ43MgYFh+WQjI52hG+BvY/5FMqWtYQUSYQmU="
107+
},
108+
{
109+
"Type": 1,
110+
"Name": "2.GL5Ozse7w9J+M0eraaUvbQ==|gJ9f0Pbfg7YjvM0oFPM3ug==|sRE0b/khdlVSl67Bfz1hU6uM5+xbrvBYsKkTM5nbbPM=",
111+
"Value": "2.0sq9ED3FaU0Ecb5StQrfdQ==|fnjYdvOACh48WmVnZs8Xhw==|6BqCIzhVg3MRkMjqIoxaGUvQlXFMzh23CJCWEJWjAK8="
112+
}
113+
],
114+
"Identity": "",
115+
"Login": {
116+
"Password": "2.L/MbjQnlx+okG2vyyZbxiQ==|B0lXBLlqnwaNJXTBxJn5RA==|uRoedMgMKi9oHlZjfAC3g06xRnK9aDSexwG8HmXZkmw=",
117+
"Totp": "2.f3cNwdUgCyUUldtfC1d82w==|sxSLQWxYB/IulJFs5tz+9w==|+KfGc7O7DY9MiBq1/M6X519qnsBOEypPzrt/7CbL1CQ=",
118+
"URI": "2.xTGVUo3r45C+TncBtgkCHQ==|hL+ArexWfvAv0raDva512w==|vXWz/XYWIo/wX4WkyPfLlP7yO1neqFj5eRNvkyYKzvw=",
119+
"URIs": [
120+
{
121+
"URI": "2.xTGVUo3r45C+TncBtgkCHQ==|hL+ArexWfvAv0raDva512w==|vXWz/XYWIo/wX4WkyPfLlP7yO1neqFj5eRNvkyYKzvw=",
122+
"Match": 4
123+
},
124+
{
125+
"URI": "2./jncuosK6zZm3vggw8Aprw==|M4lBAAUI2CDOxIeMqs/5Cw==|3XTOx0TPrfao03T0nfF5ST0W8Wpm/KBmQLdIE08O42k=",
126+
"Match": 0
127+
}
128+
],
129+
"Username": "2.iHzprFGKe8sIe+dRCVlEAg==|4w5/OU5Yv8pqzRBzTcdFgg==|D7Hw5PL1ef7kHAg7FKKYVJH0FZpFktSvlzaiRH2fd+A="
130+
},
131+
"Name": "2.G76KcMuYko/MvrPNcJDOrg==|iOaLA6yYAq4r1Hzzef5jBA==|yAskzd7Y+DCLdz0VoN+KLHkzbzQo+vk/m5+QobFj0u0=",
132+
"Notes": "2.klNkT2BneCf6Rxf0xEKlRw==|oFpB4ZMJ7sSDMB8NE0lB3Q==|xcEnADo7NIIX3CEyTjd0naTBTVdXOZPo/oualkRkJWI=",
133+
"SecureNote": {
134+
"Type": 0
135+
}
84136
}
85137
],
86138
"Domains": {

testdata/scripts/dump.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ stderr 'need a terminal to prompt'
1212
env PASSWORD=$PASSWORD_NOTFA
1313

1414
bitw dump
15+
1516
stdout 'login1'
1617
stdout 'domain1\.com'
1718
stdout 'password1'
19+
20+
stdout 'justpassword'
21+
22+
stdout 'allfields'

0 commit comments

Comments
 (0)