Closed
Bug 23153
Opened 26 years ago
Closed 25 years ago
Int. chars in pathname of profile folder brakes the mozregistry.dat file
Categories
(Core Graveyard :: Profile: BackEnd, defect, P1)
Tracking
(Not tracked)
VERIFIED
FIXED
M14
People
(Reporter: bugzilla, Assigned: gayatrib)
References
Details
(Whiteboard: [PDT-])
Attachments
(1 file)
|
579 bytes,
application/octet-stream
|
Details |
If you delete your mozregisty.dat and creates a new profile where the profile
directory is c:\program files\mozilla\זרו and the exit Mozilla and restart
Mozilla the Create New Profile will show again.
All the files "prefs.js", "history.dat", etc will be created the right place but
the mozregistry.dat is corrupt.
I'll attach the corrupted one.
| Reporter | ||
Comment 1•26 years ago
|
||
Updated•26 years ago
|
Assignee: selmer → racham
Comment 2•26 years ago
|
||
Bhuvan, I thought this was supposed to work...
This worked when tried with japanese version while verifying a separate i18n
bug. I will check it again.
| Reporter | ||
Comment 4•26 years ago
|
||
More investigation shows that the mozregistry.dat doesn't get corrupted the
profile just doesn't get saved.
The same thing happens if I enter int. chars into the profile name.
Custom folder: "c:\program files\mozilla\users"
Profile name: "Hænrik Gømal"
I can start Mozilla but the profile doesn't get written...
Updated•26 years ago
|
Severity: normal → critical
Priority: P3 → P1
Comment 5•26 years ago
|
||
Bumping this to the top of the M14 list.
Adding dan veditz to the cc list.
Dan,
Please cc me on the nsRegisrty revamp bug you are planning.
That bug should also include the need to handle
PRUnichar and UTF-8 conversions.
| Reporter | ||
Comment 7•26 years ago
|
||
This seems to be working now.
I've successfully create a profile called "Hænrik Gæmal"
I've also successfully create a profile called "læp" in a directory called
"c:\program files\mozilla\æøå\"
| Reporter | ||
Comment 8•26 years ago
|
||
I just realized even though that I could succesfully create these profiles the
profiles doesn't show up in the Profile Selection the next time I started
Mozilla!
Comment 10•26 years ago
|
||
Moving all Profile Manager bugs to new Profile Manager Backend component.
Profile Manager component to be deleted.
Comment 12•25 years ago
|
||
Reassinging the bug to gayatri. Thanks gayatri!
I will work with gayatri on this bug after I'm done
with the other 2 pdt+ bugs (19621, 23390).
Assignee: racham → gayatrib
Status: ASSIGNED → NEW
| Assignee | ||
Comment 13•25 years ago
|
||
There is still work to be done to fix this bug--I need a couple of more days.
Changing the fix date to 2/17. This is a large scale change and there is a lot
of testing that needs to be done. Selmer was going to talk to jar about this.
Status: NEW → ASSIGNED
Whiteboard: [PDT+] (2/15) dep on 23859 → [PDT+] (2/17) dep on 23859
| Assignee | ||
Comment 14•25 years ago
|
||
On reviewing the situation again, changing the expected checkin date to 2/18.
Adding one more day i.e.
Whiteboard: [PDT+] (2/17) dep on 23859 → [PDT+] (2/18) dep on 23859
| Assignee | ||
Comment 15•25 years ago
|
||
Due to dependency on bug 23859, the closing on this bug got delayed. Expected
checkin date is 2/23--giving an extra day for testing as the changes are
extensive.
| Assignee | ||
Comment 16•25 years ago
|
||
I have all the code changes ready and I've had initial rounds of code reviews
and testing done on this. I worked on fixing some of the memory leaks and am
currently trying to debug into a couple of crashers that I am running into. Once
this is done, I should be able to checkin.
Changing the target checkin date to wednesday, 03/01. It should be ready-to-go
by then.
Whiteboard: [PDT+] (2/18) dep on 23859 → [PDT+] (3/1) dep on 23859
Comment 17•25 years ago
|
||
Can we have a status-whiteboard update on this bug? There are other
dependencies, and we need to get all the ducks lined up.
Thanks ;-)
| Assignee | ||
Comment 18•25 years ago
|
||
I am waiting on a code review. I am hoping that I will be able to checkin
today/tomorrow--depending on when I get an ok on it.
Whiteboard: [PDT+] (3/1) dep on 23859 → [PDT+] waiting on code review
Whiteboard: [PDT+] waiting on code review → [PDT+] fix in hand, waiting on alecf code review
Comment 19•25 years ago
|
||
Alec: When will we have the code review completed, so that this can land? Any
anticipated problems?
Thanks,
Jim
Comment 20•25 years ago
|
||
I have already given lots of feedback on the code. I haven't seen a patch since
my last feedback on friday.
Comment 21•25 years ago
|
||
The latest code I've received from Gayatri works when combined with my patch to
profileSelection.js to work around the RDF problems. Waiting for a review on
that one and for a final version of Gayatri's changes.
Comment 22•25 years ago
|
||
The Ja char problem came down to nsFileSpec not being I18N ready. We give up
for beta1.
Updated•25 years ago
|
Whiteboard: [PDT+] fix in hand, waiting on alecf code review
Comment 24•25 years ago
|
||
selmer, Pls be specific about how nsFileSpec is not I18N ready. We are
making use of it in other areas.
Cc'ing ftang and nhotta.
Comment 25•25 years ago
|
||
We attempted to use the one and only interface that takes an nsString parameter
and it would not give back a good pathname that could be used to access or
create a directory. Without the directory, none of the rest of what we do
works. Gayatri can give more details on what we called and how, she should
still have the code on her machine.
Comment 26•25 years ago
|
||
The same problem when creating a local mail folder (bug 29543).
Need change in nsFileSpec to do a conversion from a file system charset to
unicode or rewite to store path string in unicode internally.
| Assignee | ||
Comment 27•25 years ago
|
||
The problem is that nsFileSpec uses single byte strings all over. We need double
byte for it to work for japanese characters. We tried calling SetLeafNode call
in nsFileSpec, but it boils down to using char*.
One solution would be to use nsIFile--but again, they support UTF8--but it might
not work for Japanese char set. And also there are other problems with using
nsIFile. I need to do code like this:
//Basically I need to have dirSpec to be type nsCOMPtr<nsIFile> :
// the current code cannot deal with double byte strings
NS_WITH_SERVICE(nsIFileLocator, locator, kFileLocatorCID, &rv);
nsFileSpec dirSpec;
nsCOMPtr <nsIFileSpec> defaultRoot;
rv = locator->GetFileLocation(
nsSpecialFileSpec::App_DefaultUserProfileRoot50,
getter_AddRefs(defaultRoot));
defaultRoot->GetFileSpec(&dirSpec);
if (!dirSpec.Exists())
dirSpec.CreateDirectory();
dirSpec += profileName; // profileName PRUnichar*
How would I successfully change this code to work for nsIFile. It looks like
currently there is no way to go from a nsIFile to an nsILocalFile. Such a
utility needs to be created in xpcom/io.
The other solution is that there is code in nsWebShell that could probably be
used to serve our purpose as well--it seems to be used to convert a Unicode
"file:" URL into a real string.
http://lxr.mozilla.org/mozilla/source/webshell/src/nsWebShell.cpp#1731
This code needs to be moved into nsStdURL::GetFile/SetFile (a necko util) so
that can be shared by all. This is filed as bug 29341.
Given all the above restrictions, it did not look like this was doable in beta
time frame. The best path to be followed needs to be decided as yet. Do we add
code to xpcom/io, do we use necko...?
| Assignee | ||
Comment 28•25 years ago
|
||
In the baove comment I meant to write:
It looks like currently there is no way to go from nsIFileSpec to nsILocalFile.
I wrote nsIFile to nsILocalFile by mistake... Sorry.
Comment 29•25 years ago
|
||
nsLocalFile--at least on windows--is **NOT** UTF8. It takes a char* in the
native filesystem charset, leaving it up to the caller to figure that out.
This is an improvement over nsFileSpec which took a wstring and dropped the
high byte of each char (i.e. assumed Latin-1). It still pushes the conversion
task out to each caller who arguably shouldn't have to know about the
filesystem charset.
It also makes nsIFile nearly useless from javascript on non-western systems
even though it is technically "scriptable". xpconnect will see the "string"
API's and always apply a Unicode->Latin-1 conversion to javascript data.
Comment 30•25 years ago
|
||
dveditz: ... It still pushes the conversion task out to each caller who
dveditz: arguably shouldn't have to know about the filesystem charset.
We provide the nsIPlatformCharset class, so the caller does not need to know
the specific filesystem charset for the current platform, it only needs to
know that it needs to convert to (or from) "the" filesystem charset.
nhotta, pls provide an example where this is used. Is this a good one?:
http://lxr.mozilla.org/seamonkey/source/mailnews/base/util/nsMsgI18N.cpp#215
215 // Charset used by the file system.
216 const nsString& msgCompFileSystemCharset()
...
dveditz: It also makes nsIFile nearly useless from javascript on non-western
dveditz: systems even though it is technically "scriptable". xpconnect will
dveditz: see the "string" API's and always apply a Unicode->Latin-1 conversion
dveditz: to javascript data.
I'm not sure if we have made this scriptable yet. nhotta?
Comment 31•25 years ago
|
||
Other examples of this usage would be in the file browser widget and RDF.
| Assignee | ||
Comment 32•25 years ago
|
||
The profile manager is now i18n friendly.
Some issues are:
It works well for european characters.
It might not work for japanese--if the directory name is japanese. If the
profile name is japanese and directory name english it should be fine. This is
because nsIFile is not yet i18n friendly.
Marking it fixed. If there are any issues, please open separate bugs.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Comment 33•25 years ago
|
||
gayatrib> It works well for european characters.
Be sure to test on a Mac, since it uses MacRoman and not Latin1.
Also there are FS differences between Win9x and NT too.
gayatrib> This is because nsIFile is not yet i18n friendly.
What are your issues, other than the ones dveditz mentioned above and I tried
to answer? nhotta, Please assist gayatrib on this.
| Assignee | ||
Comment 34•25 years ago
|
||
bobj>What are your issues, other than the ones dveditz mentioned above and I
tried to answer?
No other issues. I hadn't refreshed my mind on the preceeding comments before
writing mine. Sorry.
Updated•9 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•