infinity0 / mozilla-gnome-keyring-legacy

A firefox extension that enables Gnome Keyring integration (legacy version)
https://bugzilla.mozilla.org/show_bug.cgi?id=309807
Other
55 stars 8 forks source link

errors when using with firefox sync #18

Open sourcejedi opened 12 years ago

sourcejedi commented 12 years ago

edit by infinity0: this first post is not an accurate description of the issue; read on for details.

(I think this is still accurate) - from https://services.mozilla.com/sync/relnotes/1.0.html

  • Your master password is not synced. This means if you use a master password on your laptop but not on your mobile phone, then your passwords will not be protected with your master password on your mobile phone.
  • If you use a master password, Weave Sync will automatically connect after you enter in your master password. Weave Sync will stay disconnected until you enter your master password or you choose to manually connect.

With mozilla-gnome-keyring, password sync doesn't seem to work. If it could, that would be great. Particularly as the second point above can be addressed (when the keyring is unlocked by libpam-gnome-keyring).

At the moment, Linux users with two computers may be more secure without mozilla-gnome-keyring. They're likely to fall back into using the same password for different sites. (My current setup suffers from this. At the moment, I suspect the only real fix would be a LUKS partition as my "master password" solution).

infinity0 commented 12 years ago

The sync service should be using mozilla APIs to get the password via this extension in the same way the firefox interface gets the list of passwords via this extension. It is not appropriate for this extension to push passwords to another service. File a bug with the sync guys if you want this implemented.

sourcejedi commented 12 years ago

That would be my presumption too :). Adding a separate sync item for gnome-keyring passwords does sound like a hack.

It puzzled me because it doesn't seem to sync the original password database either. (I only enabled password sync after installing the mozilla-gnome-keyring extension). I wondered whether the extension had been forced to disable it... Thanks for the answer, anyway.

infinity0 commented 12 years ago

Did sync work for the original database when this extension is disabled?

I noticed that "show passwords" no longer works with gnome-keyring 3.4, maybe this is the real cause of the sync service not being able to use this extension. I'll open a different bug and look into it.

sourcejedi commented 12 years ago

On 21/08/12 21:50, Ximin Luo wrote:

Did sync work for the original database when this extension is disabled?

Damn. It's definitely supposed to work, but I'd never tried it. I can't get it to work now, and I'm not getting any (new) errors in about:sync-log.

Bookmark sync still works (which is expected, I use it all the time).
Tab sync is... doing something, maybe not working perfectly, but I don't use it much.

I should have looked in the sync-log earlier. There's an old error that looks like it's the mozilla-gnome-keyring problem. I don't really understand, but it might confirm what you were saying...

1345582384942 Sync.Status DEBUG Status.service: success.status_ok => success.status_ok 1345582428923 Sync.Status DEBUG Status.service: success.status_ok => success.status_ok 1345582430984 Sync.ErrorHandler DEBUG Beginning user-triggered sync. 1345582430985 Sync.Service DEBUG User-Agent: Iceweasel/10.0.6 FxSync/1.13.0.20120803105249. 1345582430986 Sync.Service INFO Starting sync at 2012-08-21 21:53:50 1345582430987 Sync.SyncScheduler DEBUG Clearing sync triggers and the global score. 1345582430988 Sync.Service INFO In sync(). 1345582430988 Sync.Status INFO Resetting Status. 1345582430988 Sync.Status DEBUG Status.service: success.status_ok => success.status_ok 1345582431384 Sync.Resource DEBUG mesg: GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/info/collections 1345582431384 Sync.Resource DEBUG GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/info/collections 1345582431385 Sync.Service DEBUG Fetching global metadata record 1345582431385 Sync.Service DEBUG Weave Version: 1.13.0 Local Storage: 5 Remote Storage: 5 1345582431386 Sync.Service INFO Sync key is up-to-date: no need to upgrade. 1345582431386 Sync.Service DEBUG Fetching and verifying -- or generating -- symmetric keys. 1345582431386 Sync.Service INFO Testing info/collections: {"passwords":1345582423.58,"tabs":1345582424.22,"clients":1345582342.91,"crypto":1342903515.07,"forms":1344695106.06,"meta":1345582376.78,"bookmarks":1345552601.7,"prefs":1344695385.38,"history":1344695377.17} 1345582431386 Sync.CollectionKeys INFO Testing for updateNeeded. Last modified: 1342903515.07 1345582431386 Sync.Service DEBUG Refreshing client list. 1345582431388 Sync.Engine.Clients INFO 0 outgoing items pre-reconciliation 1345582431391 Sync.Engine.Clients INFO Records: 0 applied, 0 failed to apply, 0 newly failed to apply, 0 reconciled. 1345582431393 Sync.Service INFO Updating enabled engines: 5 clients. 1345582431399 Sync.Engine.Bookmarks INFO 0 outgoing items pre-reconciliation 1345582431401 Sync.Engine.Bookmarks INFO Records: 0 applied, 0 failed to apply, 0 newly failed to apply, 0 reconciled. 1345582431415 Sync.Engine.Passwords INFO 0 outgoing items pre-reconciliation 1345582432104 Sync.Collection DEBUG mesg: GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/storage/passwords?newer=1345582384.55&full=1 1345582432104 Sync.Collection DEBUG GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/storage/passwords?newer=1345582384.55&full=1 1345582432110 Sync.Engine.Passwords WARN Got exception Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface] Stack trace: resource:///components/nsLoginManager.js:57< resource://services-sync/engines/passwords.js:120< resource://gre/modules/XPCOMUtils.jsm:210< applyIncomingBatch()@resource://services-sync/engines/passwords.js:167< doApplyBatch()@resource://services-sync/engines.js:798< doApplyBatchAndPersistFailed()@resource://services-sync/engines.js:813< SyncEngineprocessIncoming()@resource://services-sync/engines.js:913< SyncEnginesync()@resource://services-sync/engines.js:1209< WrappedNotify()@resource://services-sync/util.js:148< Engine_sync()@resource://services-sync/engines.js:517< WeaveSvcsyncEngine()@resource://services-sync/service.js:1496< resource://services-sync/service.js:1389< WrappedNotify()@resource://services-sync/util.js:148< WrappedLock()@resource://services-sync/util.js:103< _lockedSync()@resource://services-sync/service.js:1289< resource://services-sync/service.js:1280< WrappedCatch()@resource://services-sync/util.js:77< sync()@resource://services-sync/service.js:1268, aborting processIncoming. 1345582432112 Sync.Status DEBUG Status for engine passwords: error.engine.reason.unknown_fail 1345582432112 Sync.Status DEBUG Status.service: success.status_ok => error.sync.failed_partial 1345582432116 Sync.ErrorHandler DEBUG passwords failed: Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface] Stack trace: resource:///components/nsLoginManager.js:57< resource://services-sync/engines/passwords.js:120< resource://gre/modules/XPCOMUtils.jsm:210< applyIncomingBatch()@resource://services-sync/engines/passwords.js:167< doApplyBatch()@resource://services-sync/engines.js:798< doApplyBatchAndPersistFailed()@resource://services-sync/engines.js:813< SyncEngineprocessIncoming()@resource://services-sync/engines.js:913< SyncEnginesync()@resource://services-sync/engines.js:1209< WrappedNotify()@resource://services-sync/util.js:148< Engine_sync()@resource://services-sync/engines.js:517< WeaveSvcsyncEngine()@resource://services-sync/service.js:1496< resource://services-sync/service.js:1389< WrappedNotify()@resource://services-sync/util.js:148< WrappedLock()@resource://services-sync/util.js:103< _lockedSync()@resource://services-sync/service.js:1289< resource://services-sync/service.js:1280< WrappedCatch()@resource://services-sync/util.js:77< sync()@resource://services-sync/service.js:1268 1345582432118 Sync.Engine.Tabs INFO 0 outgoing items pre-reconciliation 1345582432285 Sync.Store.Tabs DEBUG Adding remote tabs from alan's Firefox on Linux x86_64 1345582432287 Sync.Collection DEBUG mesg: GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/storage/tabs?newer=1345582385.01&full=1 1345582432287 Sync.Collection DEBUG GET success 200 http://brick.scree.dyndns.org:5000/1.1/wgk3nwu46bwdeyvsbsru5szqglh37i5b/storage/tabs?newer=1345582385.01&full=1 1345582432289 Sync.Engine.Tabs INFO Records: 1 applied, 0 failed to apply, 0 newly failed to apply, 0 reconciled. 1345582432291 Sync.Service INFO Sync completed at 2012-08-21 21:53:52 after 1.30 secs. 1345582432291 Sync.SyncScheduler DEBUG Next sync in 90000 ms. 1345582432292 Sync.ErrorHandler DEBUG Some engines did not sync correctly.


Here's the QueryInterface call, at resource://services-sync/engines/passwords.js:120:

function PasswordStore(name) { Store.call(this, name); this._nsLoginInfo = new Components.Constructor( "@mozilla.org/login-manager/loginInfo;1", Ci.nsILoginInfo, "init");

XPCOMUtils.defineLazyGetter(this, "DBConnection", function() { return Services.logins.QueryInterface(Ci.nsIInterfaceRequestor) .getInterface(Ci.mozIStorageConnection); }); }

infinity0 commented 12 years ago

thanks, that looks relevant - I will add it to issue #19 - please confirm on that issue, if you also are experiencing it.

sourcejedi commented 12 years ago

On 21/08/12 22:52, Ximin Luo wrote:

thanks, that looks relevant - I will add it to issue #19 https://github.com/infinity0/mozilla-gnome-keyring/issues/19 - please confirm on that issue, if you also are experiencing it.

Sorry... :(. I meant that this error message is probably an obstacle to Firefox Sync working with passwords from mozilla-gnome-keyring. But it's not "good science"^Wdebugging, because I haven't got Firefox Sync working on passwords in any alternative configuration (i.e. without mozilla-gnome-keyring installed).

I am not experiencing issue #19.

I can get Firefox to show me my passwords, even with the mozilla-gnome-keyring extension installed. I have gnome-keyring version 3.4.1-4+b1 from debian unstable. I haven't rebuilt mozilla-gnome-keyring since I first installed it a few weeks ago... from git-describe --tags, I am (almost certainly) running mozilla-gnome-keyring version 0.6.3-2-g5f97761.

Thanks Alan

infinity0 commented 12 years ago

OK, thanks. I will look into this.