User:Standard8/MailNews Password Manager Migration

From MozillaWiki
Jump to navigation Jump to search

Current Status

  • Main Core changes in place (PW migration, nsIAuthPrompt handling).
    • May require further changes to PW migration routines
  • Patches for SM Prefs, tools menu, front-end bug 390025
    • May be out-of-date
  • Build config & installer patch on bug 239131, need to get reviews when a bit closer.
  • TB UI patch needs updating bug 239131
  • Backend-changes required (see below)

Backend changes/information

Protocols versus urls registered within MailNews

Ones I'm worried about:

Protocol Handler Url Url derived from nsMsgMailNewsUrl?
ldap nsLDAPProtocolHandler.js
(patch in bug 419595)
nsLDAPUrl No
ldaps nsLDAPProtocolHandler.js
(patch in bug 419595)
nsLDAPUrl No
imap nsImapService.cpp ? ?
news nsNntpService.cpp ? ?
nntp nsNntpService.cpp ? ?
snews nsNntpService.cpp ? ?
mailto nsSmtpService.cpp ? ?
smtp ? ? ?
smtps ? ? ?
pop nsPop3Service.cpp ? ?
pops ? ? ?
mailbox nsMailboxService.cpp ? ?

Others:

Current Problems

  • News logins probably won't migrate properly.
  • Mail logins may not migrate properly if username has been changed since account was created (the uri uses the original account username) - or if they do, it'll be confusing to the user.
  • Need to check consistency of nsIURI::path for the mailnews uris.
  • Need to provide smtp protocol handler for mailnews (and any others that are missing).
  • Need secure version of LDAP protocol handler.
  • Some incorrect refcount or something causing cycle collector issues?

Notes to self

  • mailbox = pop3
  • ldap/ldaps is correct

Current formats of urls

Site Username nsIAuthPrompt Calls
imap://username@host username PromptPassword
ldap://localhost:389/dc=test <> PromptPassword
mailbox://username@host username PromptPassword
smtp://username@host <> PromptPassword and PromptUsernameAndPassword
news://localhost:119/#password
news://localhost:119/#username
<>
<>
Prompt and PromptPassword

Proposed new format

Hostname (site) httpRealm username nsIAuthPrompt Calls
imap://host imap://host username PromptPassword
ldap://localhost ldap://localhost/dc=test username +++ PromptPassword
mailbox://host mailbox://host username PromptPassword
smtp://host smtp://host username PromptPassword and PromptUsernameAndPassword
news://localhost/ news://localhost/ username PromptUsernameAndPassword

Misc Notes

  • formSubmitURL is always not set.
  • httpRealm is always set as you must set on of httpRealm or formSubmitURL (in LDAP case we need this anyway).
  • +++ username for LDAP won't be used straight away as it needs other bugs fixing first.