Closed
Bug 273753
Opened 20 years ago
Closed 20 years ago
Folders who names begin with a . as first character disappear with all their contents!
Categories
(Thunderbird :: General, defect)
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 229522
People
(Reporter: feedback, Assigned: mscott)
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Build Identifier: Thunderbird version 1.0 (20041206)
Renaming folders, or having migrated from Outlook with folders that have a .
character as first character, see folders disappear completely when Thunderbird
is restarted!
Reproducible: Always
Steps to Reproduce:
1. Rename a folder with . as first character
2.
3.
Actual Results:
close and reopen thunderbird and the folder and its messages have disappeared.
Expected Results:
Re-opened with all folders displayed as they were.
I wonder there are other characters that do this but can't find any immediately..
Comment 1•20 years ago
|
||
Hello guys,
I could reproduce the same behavior on my Windows 2003 Server. After spending
some time with LXR and my debug build, I found the source code explaining the
behavior.
In /mailnews/local/src/nsLocalMailFolder.cpp,
192 static PRBool
193 nsShouldIgnoreFile(nsString& name)
194 {
195 PRUnichar firstChar=name.CharAt(0);
196 if (firstChar == '.' || firstChar == '#' || name.CharAt(name.Length() - 1)
== '~')
197 return PR_TRUE;
...
237 nsresult
238 nsMsgLocalMailFolder::CreateSubFolders(nsFileSpec &path)
239 {
...
251
252 // here we should handle the case where the current file is a .sbd
directory w/o
253 // a matching folder file, or a directory w/o the name .sbd
254 if (nsShouldIgnoreFile(currentFolderNameStr))
255 continue;
...
It seems that mozilla mail ignores files starts with '.' or '#'. However, the
case of '#' is handled correctly by using hash string as filename. The
NS_MsgHashIfNecessary() function is responsible for that.
763 nsresult
764 nsMsgLocalMailFolder::CreateSubfolder(const PRUnichar *folderName,
nsIMsgWindow *msgWindow )
765 {
...
777 //Now we have a valid directory or we have returned.
778 //Make sure the new folder name is valid
779 nsAutoString safeFolderName(folderName);
780 NS_MsgHashIfNecessary(safeFolderName);
...
In /mailnews/base/util/nsMsgUtils.cpp,
265 nsresult NS_MsgHashIfNecessary(nsCAutoString &name)
266 {
267 NS_NAMED_LITERAL_CSTRING (illegalChars,
268 FILE_PATH_SEPARATOR FILE_ILLEGAL_CHARACTERS
ILLEGAL_FOLDER_CHARS);
269 nsCAutoString str(name);
270
271 // Given a filename, make it safe for filesystem
272 // certain filenames require hashing because they
273 // are too long or contain illegal characters
274 PRInt32 illegalCharacterIndex = str.FindCharInSet(illegalChars);
275 char hashedname[MAX_LEN + 1];
276 if (illegalCharacterIndex == kNotFound)
277 {
...
287 }
288 else
289 {
290 // found illegal chars, hash the whole thing
...
299 }
...
Here, 'illegalChars' contains '#' but not '.'. In summary, mozilla mail allows
user to create folder name starts with '.' but it ignores it after that. I
wonder if there is specific reason of ignoring the files start with '.'. If
then, we need to add '.' to 'illegalChars' (probably add to ILLEGAL_FOLDER_CHARS?).
By the way, this is my second day with mozilla source code and bugzilla ;-) I
hope this information helps to confirm the bug.
Comment 2•20 years ago
|
||
added myself to CC.
Comment 3•20 years ago
|
||
I forgot to mention a workaoround of this bug. ;-) If you go to your mailbox
directory and simply change the filenames (3 files for each folder) not to start
with '.' then it will re-appear.
Comment 4•20 years ago
|
||
DUP of Bug 229522. See dependency tree for Bug 124287.
As you say, I also think considering first "." as a illegal file name
character(use hash) is easiest and effective solution.
Your proposal will be effective and work well, I belive.
Jeongkyu Kim, could you please post your pach to Bug 229522?
I'm very appriciated if you add ending "."(dot) and ending "~"(tilde) cases in
your patch for Bug 117840 and Bug 198966.
Regards.
*** This bug has been marked as a duplicate of 229522 ***
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
Comment 5•20 years ago
|
||
WADA,
Thanks for your comment. I posted two patcheds to bug Bug 229522.
-Jeongkyu
You need to log in
before you can comment on or make changes to this bug.
Description
•