User:Standard8/MailNews Password Manager Migration

From MozillaWiki
Jump to: navigation, search

Current Status

  • Main Core changes in place (PW migration, nsIAuthPrompt handling).
    • May require further changes to PW migration routines
  • LDAP URL Patch updated and submitted for review bug 419595
  • 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? Status
ldap nsLDAPProtocolHandler.js nsLDAPUrl No patch in bug 419595
ldaps nsLDAPProtocolHandler.js nsLDAPUrl No patch in bug 419595
imap nsImapService.cpp nsIMAPUrl Yes Complete
news nsNntpService.cpp nsNewsUrl Yes bug 470439 fixes password migration. Protocol hander tests already in.
nntp nsNntpService.cpp N/A N/A N/A
snews nsNntpService.cpp N/A N/A N/A
mailto nsSmtpService.cpp N/A N/A N/A
smtp nsSmtpProtocolHandler.js nsSmtpUrl Yes patch in bug 469807
smtps nsSmtpProtocolHandler.js (patch in bug 469807) nsSmtpUrl Yes patch in bug 469807
pop nsPop3Service.cpp N/A N/A N/A
pops N/A N/A N/A N/A
mailbox nsMailboxService.cpp nsMailboxUrl Yes Complete


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
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

smtp needs migration for smtps and port.

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.