Closed
Bug 182490
Opened 22 years ago
Closed 22 years ago
New password manager is ignoring valid password entries
Categories
(SeaMonkey :: Passwords & Permissions, defect, P1)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.3alpha
People
(Reporter: craig, Assigned: darin.moz)
References
()
Details
(Keywords: regression)
Attachments
(1 file)
9.69 KB,
patch
|
morse
:
review+
jst
:
superreview+
asa
:
approval1.3a+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Win95; en-US; rv:1.2) Gecko/20021126
Build Identifier: Mozilla/5.0 (Windows; U; Win95; en-US; rv:1.2) Gecko/20021126
If you have N different username/password combinations for a site, the new
password manager is effectively discarding N-1 of them!
Reproducible: Always
Steps to Reproduce:
1. Use Mozilla 1.2beta. Username/password stored as www.example.org/p1, etc
2. Install Mozilla 1.2. Go to a site. All possibilities listed.
3. Having logged in once, try to log in again.
Actual Results:
Mozilla automatically fills in only the previously successful data.
Expected Results:
Offered all the possible choices as before.
Format has changed from www.example.org/p1, etc, to http://www.example.org/p1.
Logging in to a site once causes the data to be converted FOR THAT ONE DATA PAIR
ALONE, causing all others to be ignored from then on.
There should either be (have been):
a) A program run at install time to change the format of all entries or
b) Mozilla should look up both data formats to get all relevant
username/password pairs or
c) The format conversion that's performed now should be performed on all data
matching that site
Comment 1•22 years ago
|
||
This is a side effect of darin's patch in bug 175495. Reassigning.
Assignee: morse → darin
Comment 2•22 years ago
|
||
Confirming since the symptom sounds like a logical consequence of the
above-mentioned patch, even though I haven't actually tested it.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 3•22 years ago
|
||
*** Bug 182859 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 4•22 years ago
|
||
ouch! working on a fix.
Severity: major → critical
Status: NEW → ASSIGNED
Flags: blocking1.3a+
Keywords: regression
Priority: -- → P1
Target Milestone: --- → mozilla1.3alpha
Comment 5•22 years ago
|
||
*** Bug 183524 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 6•22 years ago
|
||
this is a rather ugly patch, but it solves the bug.
i tried my best to only add code for the case in which legacy password entries
exist. my basic solution is to build a composite si_SignonURLStruct at the top
of si_GetUser and then release this structure before exiting the function.
this composite URL struct holds all of the candidate users from both the "new"
entries as well as the "legacy" entries.
before this solution, i tried hacking si_GetUser to iterate over two separate
lists, but that got very complicated because of the fact that the selected user
must be moved to the front of the list, and if the selected user is a legacy
user, then it cannot be promoted to the "new" user list until the user has
pressed the login button. because si_GetUser is called several times (to
access various fields), we have to remember the fact that a user was chosen.
so, it would have required significant changes to existing code paths to fix
this bug.
for this reason, i opted for a much less intrusive solution.
the function si_GetCompositeURL replaces the si_GetURL call from si_GetUser.
and before si_GetUser returns it calls si_ReleaseCompositeURL. if there aren't
any legacy password entries then si_GetCompositeURL becomes equivalent to
si_GetURL and si_ReleaseCompositeURL does nothing.
Assignee | ||
Comment 7•22 years ago
|
||
oh, and i setup a netscape-internal testcase at:
http://unagi.mcom.com/bugs/bug_182490/test.html
just run an older version of mozilla (like netscape 7.0) to populate your
password manager. take mozilla 1.2 (or any recent nightly build) and you should
be able to confirm this bug. with this patch, this testcase works as expected.
Assignee | ||
Updated•22 years ago
|
Assignee | ||
Updated•22 years ago
|
Attachment #108290 -
Flags: superreview?(dveditz)
Attachment #108290 -
Flags: review?(morse)
Updated•22 years ago
|
Attachment #108290 -
Flags: review?(morse) → review+
Updated•22 years ago
|
Attachment #108290 -
Flags: superreview?(dveditz) → superreview?(jst)
Comment 8•22 years ago
|
||
Comment on attachment 108290 [details] [diff] [review]
v1 patch
+PRIVATE si_SignonCompositeURLStruct * si_composite_url=0;
I guess I don't really understand how this is used, but it's not clear to me
that it's ok to have this global state, what if you're simultanously working
with multiple sites using the password manager? Will this code do the right
thing then, if so, then all is well, if not, this needs to change. Also, I'd
really like to see the name of that global variable reflect the fact that it's
a global variable.
- In si_ReleaseCompositeURL():
...
+ si_composite_url->primaryUrl = NULL;
+ si_composite_url->legacyUrl = NULL;
+ si_composite_url->chosen_user = NULL;
+ si_composite_url->signonUser_list.Clear();
+
+ delete si_composite_url;
At least the clearing of signonUser_list is unnecessary code here, the
destructor that will run when you call delete will do that for you, no? And do
you really need to null out those other members here?
Other than that this looks fine at the code level, but I don't really know the
first thing about this code so I can't really speak for what this change really
does.
sr=jst
Attachment #108290 -
Flags: superreview?(jst) → superreview+
Assignee | ||
Comment 9•22 years ago
|
||
i spoke with jst via IRC. the global state variable is OK, or at least neither
of us could come up with a way that it would cause trouble. as for the cleanup
code before calling "delete", i'll clean that up when i checkin.
Assignee | ||
Updated•22 years ago
|
Attachment #108290 -
Flags: approval1.3a?
Comment 10•22 years ago
|
||
Comment on attachment 108290 [details] [diff] [review]
v1 patch
a=asa for checkin to 1.3a
Attachment #108290 -
Flags: approval1.3a? → approval1.3a+
Assignee | ||
Comment 11•22 years ago
|
||
fixed-on-trunk
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 12•22 years ago
|
||
this fix seems to have caused bug 184571, which is a bug that breaks password
management in mailnews in strange ways.
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•