Closed Bug 27023 Opened 25 years ago Closed 25 years ago

Tasks|My Wallet|Change Password doesn't work in mail

Categories

(SeaMonkey :: Passwords & Permissions, defect, P3)

All
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: nbaca, Assigned: morse)

Details

(Whiteboard: [PDT+])

Build 2000-02-07-08M14: NT4, Linux 6.0, Mac 8.5.1

Overview: In any component (Browser, Composer, Mail) select Tasks|My 
Wallet|Change Password and nothing happens. Should this be working for Beta1?
ss belongs to morse.
Assignee: trudelle → morse
This is working fine for me with a tree that I pulled this morning (and updated 
to fix all the dialog bustage that occured this morning).  Could be you were 
getting hit by some of that dialog bustage.  So I'm closing this out.  If you 
still see this problem with tomorrow's build, reopen and we'll try to figure out 
what you are doing differently for me.
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → WORKSFORME
Build 2000-02-09-08M14: NT4

It doesn't work for me with this build. I've tried:
- POP or IMAP
- After getting messages and prompted to enter a password I've tried not saving 
the password. Also tried saving the password but it doesn't make a difference.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Keywords: beta1
I'm a little confused by your last comment about using POP or IMAP.  The 
change-password dialog has nothing to do with your remembering of passwords for 
specific sites or functions.  Instead it involves changing the master password 
that unlocks the password database.

I just tried it again, using a tree that I pulled a few hours ago.  If I had 
already unlocked the database in the current session, then I indeed get the 
change-password dialog when I select it from the menu (except that it's 
partially obscured by the menu for which I just filed bug 27204).  So that part 
is working fine.

However, if I hadn't already unlocked the database, then nothing happens.  This 
is normal behavior.  If you feel that something should happen (e.g., a dialog 
saying that there isn't any master password to change), then report that in a 
separate bug.

So you probably didn't have the master password established yet and that is why 
you aren't getting the change-password dialog.  But as described above, this is 
normal behavior.  Therefore closing this out as invalid.
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → INVALID
i just spoke with nbaca, and i was able to reproduce the problem. this is what
we did (linux comm bits, 2000-02-09-08):

0. we started with a new profile.
1. went to Tasks > Mail, which prompted to create a mail account.
2. got the 3-pane mail window, clicked on Get Msg button. prompted for mail
server password, which we entered. this Password dialog just had 1 field for the
passwd and a checkbox to save it, which we didn't select.
3. within the mail window, went to Tasks > My Wallet > Change Password.
result: nothing happens, ie, *no* dialog appears at all. shouldn't we get some
sort of dialog asking to setup a master passwd? (since it's a new profile)? or
what? (side note: yes, we agree that POP and IMAP have nothing to do with this,
really.)
4. but wait, there's more: we go to a browser window and attempt Tasks > My
Wallet > Change Password.
result: the same as in step 3.

note A: i went thru the above recipe with my own existing profile... i got the
same results at step 3 (no dialog while in mail). but at step 4, i did get the
master passwd while in the browser (then again, i do have a master passwd setup
for my profile).

note B: we restarted another session with the new profile, tried to change
passwd within the browser, and still got no dialog.
so now we ask ourselves: is it that we need to actually *save* the mail passwd
in order to be prompted for the master passwd dialog? we test this, and sure
enough, we get the dialog asking to enter a master passwd. *however* while we're
still in the mail window, when we try to change the master passwd (Tasks > My
Wallet > Change Password, as usual), we *still* don't get the master passwd
dialog! the odd thing here is that when we go to the browser window, this isn't
a problem: we *do* get the master passwd dialog there.

anyhow, pardon the long-winded story here. i've updated the summary.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Summary: Tasks|My Wallet|Change Password does nothing → Tasks|My Wallet|Change Password doesn't work in mail
Long-winded summaries are good -- they help me see where the confusion lies.

I can explain nearly everything you described.  Keep in mind that the 
change-password refers to the master password only, not the mail password.  So 
when you set up a mail password and don't save it, you don't have a database 
(assuming you haven't saved a password previously) and hence don't have a master 
password.  So doing a change-password at that time is supposed to do nothing as 
I described above.  If that is confusing people, then open a new bug saying that 
we should put up a warning dialog if user tries to change master password and 
doesn't have any (please don't morph this bug report to include that).

That explains everything in your steps 1 through 4.  There is no bug there.  But 
there are some things in your notes that aren't kosher yet.

Note A:  If you had a master password already set up, then you should have been 
able to use change-password both in the browser as well as in mail.  The fact 
that it wasn't coming up when in mail was wrong.  I wonder if someone changed 
the meaning of the menu buttons when in mail.  I'll investigate.

Note b: The first part of this note is explainable.  Yes, you need to save a 
password first (which forces you to create a master password) before you can use 
the change-master-password function.  Again, this is as I explained above.  But 
the next part of your note agains deals with the problem that once you had 
created a master password, you could change it in browser but not in mail.  
That's the same problem that I commented on in your Note A and is what I will be 
investigating.

Pardon my long-winded reply but I hope it clarifies a few points.
Status: REOPENED → ASSIGNED
It's as I suspected.  The a good part of the wallet submenu does not work from 
mail.  Clicking on the item raises javascript exceptions.  Specifically, I get 
the following javascript error on the console:

   appcore is not defined
   file: chrome://global/content/tasksOverlay.js
   line number 279

Here's a list of what's in the wallet submenu and an indication of whether or 
not it they raise the javascript error from mail.  Of course I wouldn't expect 
some of them to work in mail since they have no meaning -- e.g., form-fill, 
form-capture, etc.

safe-form-fill -- raises exception
quick-form-fill -- raises exception
capture-form -- raises exception
wallet-content -- ok
display-signons -- ok
display-cookies -- ok
samples - raises exception
change-password -- raises exception
  
Some more info.  Safe-form-fill, quick-form-fill and capture are probably 
expected to raise the javascript error because they have no meaning when looking 
at mail.  The javascript error for samples is a different one (window.content 
has no properties) and is also probably expected in the context of mail.

So that leaves just change-password as one that should work in the context of 
mail but doesn't.
Severity: normal → blocker
Target Milestone: M14
Whiteboard: [PDT+]
Steve are you the right person to fix this. If not, send it over to me.
I was hoping someone would take this one off my hands.
Assignee: morse → dp
Status: ASSIGNED → NEW
Phil/Peter would this be in your group. Looks like a menu item works from
browser but not from mail.

Since this starts with mail, I am reassinging to phil.
Assignee: dp → phil
Ccing trudelle: Something to do with appcores not being defined when a menu item
is invoked from mail. Works great when invoked from browser.
Maybe an overlay issue? Paul, can you take a look?
Assignee: phil → hangas
Well the problem here is a simple one, but the solution may not be painless.  The 
problem is the the function WalletAction() has been moved to tasksOverlay.js, it 
uses a variable 'appcore' to access functions like walletChangePassword().  
Unfortunately, appcore is only defined in the browser window.  This would be no 
problem, but appcore is defined as an instance of the browser component.  Since 
tasksOverlay needs to work in any window it should not require that the browser 
component be available.  So we should either decide that we will always install 
the browser component, or we should move these functions to a global location 
that will always be installed.

Sending to morse for decision.  If we decide that the browser will be installed 
in every situation that mozilla is used, then we can access the browser component 
from the taskOverlay.js file.  I will be happy to take the bug back if this is 
the case.
Assignee: hangas → morse
Well we've now gone around in a circle.  From trudelle to morse to dp to phil to 
hangas and back to morse.  I'm probably not the right person for this one but 
I'll take a look at it.

To answer hangas' question, the browser should not be installed in every 
situation that mozilla is used.  I'm sure the mail team will take that position.
Status: NEW → ASSIGNED
I dont know this area too well either. One thing that came to my mind is can we 
getservice() walletservice and call the walletChangePassword() from there 
instead of using an appcores. xpconnect works like a charm. I see 
WALLET_ChangePassword() exported from nsIWalletService.idl

The other option for beta is can we disable this menu item in mail. Paul can 
you answer this.

Paul ? steve ?
dp,

You wouldn't want to disable this for mail.  The mail team just switched over to 
using single-signon.  So it would look strange for a mail user to be able to 
create a master password and save his mail password all from within mail, but 
then he has to leave mail and go to the browser if he wants to change the master 
password.

I'm sure there is a way to access c-code from javascript while in mail so that 
is why I never passed this off originally until you asked me to do so (back on 
2-11).  Probably something of the nature that you just described above.  I'll 
continue to investigate.
Fix checked in.  Did exactly what dp described.  Change is in tasksOverlay.js.

Besides doing this, I also added an alert that pops up when you select 
change-password and have never previously established a password.  I figured 
that's better than doing nothing and might have added to some of the confusion 
when this bug report was originally filed.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
verified using

linux: comm bits 2000021609
winNT: non-comm bits 2000021608
macOS: comm bits 2000021608
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.