3 messages in net.sourceforge.lists.courier-sqwebmail[sqwebmail] [PATCH] Forbid rename fol...
FromSent OnAttachments
Marcin SemeniukSep 5, 2006 3:47 am.patch
Sam VarshavchikSep 5, 2006 5:03 pm 
Marcin SemeniukSep 6, 2006 12:49 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[sqwebmail] [PATCH] Forbid rename folder if new name contain dotActions...
From:Marcin Semeniuk (m.se@net.icm.edu.pl)
Date:Sep 5, 2006 3:47:43 am
List:net.sourceforge.lists.courier-sqwebmail
Attachments:

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"),