Hello Sam,
I noticed that I can't create folder with dot in name, but I can change
name to one with dot and webmail create tree of folders. I think it's
inconsistency, so i made patch that forbid to rename folder if new name
contain dot.
best regards,
Marcin Semeniuk
Index: folder.c
===================================================================
RCS file: /home/cvs/uwmail/sources/courier/courier-0.53.2/webmail/folder.c,v
retrieving revision 1.14
diff -u -r1.14 folder.c
--- courier-0.53.2/webmail/folder.c 29 Aug 2006 14:47:58 -0000 1.14
+++ courier-0.53.2/webmail/folder.c 5 Sep 2006 09:14:25 -0000
@@ -3675,39 +3675,44 @@
rutf7=folder_toutf7(r);
- s=malloc(strlen(qutf7)+strlen(rutf7)+1);
+ if (strchr(rutf7, '.'))
+ folder_err_msg=err_invalid;
+ else {
+
+ s=malloc(strlen(qutf7)+strlen(rutf7)+1);
- if (!s) enomem();
+ if (!s) enomem();
- strcat(strcpy(s, qutf7), rutf7);
+ strcat(strcpy(s, qutf7), rutf7);
- if (maildir_info_imap_find(&mifrom, pp,
- login_returnaddr()) == 0)
- {
- if (maildir_info_imap_find(&mito, s,
- login_returnaddr()) == 0)
+ if (maildir_info_imap_find(&mifrom, pp,
+ login_returnaddr()) == 0)
{
- if (checkrename(pp, s) == 0)
- dorename(pp, &mifrom, &mito,
- err_invalid,
- err_cantdelete,
- err_exists);
- maildir_info_destroy(&mifrom);
+ if (maildir_info_imap_find(&mito, s,
+ login_returnaddr()) == 0)
+ {
+ if (checkrename(pp, s) == 0)
+ dorename(pp, &mifrom, &mito,
+ err_invalid,
+ err_cantdelete,
+ err_exists);
+ maildir_info_destroy(&mifrom);
+ }
+ else
+ {
+ folder_err_msg=err_invalid;
+ }
+ maildir_info_destroy(&mito);
}
else
{
folder_err_msg=err_invalid;
}
- maildir_info_destroy(&mito);
- }
- else
- {
- folder_err_msg=err_invalid;
+ free(rutf7);
+ free(pp);
+ free(s);
+ maildir_quota_recalculate(".");
}
- free(rutf7);
- free(pp);
- free(s);
- maildir_quota_recalculate(".");
}
parse_hierarchy(cgi("folderdir"),