diff options
| author | Sam Varshavchik | 2019-06-08 07:59:27 -0400 | 
|---|---|---|
| committer | Sam Varshavchik | 2019-06-08 07:59:27 -0400 | 
| commit | 84d81ff062ec2451743cca505d60fe3f50c425ce (patch) | |
| tree | 69b3ca001db337137df0713a995cac5c219dc574 | |
| parent | 6dc8ed011166cdf81d9a613399bb88ef15d05730 (diff) | |
| download | courier-libs-84d81ff062ec2451743cca505d60fe3f50c425ce.tar.bz2 | |
sqwebmail: fix regression when renaming the Sent folder every month.
| -rw-r--r-- | sqwebmail/ChangeLog | 7 | ||||
| -rw-r--r-- | sqwebmail/configure.ac | 4 | ||||
| -rw-r--r-- | sqwebmail/sqwebmail.c | 28 | 
3 files changed, 26 insertions, 13 deletions
| diff --git a/sqwebmail/ChangeLog b/sqwebmail/ChangeLog index 1cb24d5..770c394 100644 --- a/sqwebmail/ChangeLog +++ b/sqwebmail/ChangeLog @@ -1,3 +1,10 @@ +6.0.2 + +2019-06-08  Sam Varshavchik  <mrsam@courier-mta.com> + +	* sqwebmail.c (rename_sent_folder): Fix quoting of autorenamed +	Sent folder. +  2019-05-17  Sam Varshavchik  <mrsam@courier-mta.com>  	* cgi/cgidaemon.c (connect_err): Fix quoting in HTTP headers for diff --git a/sqwebmail/configure.ac b/sqwebmail/configure.ac index d4ef786..1bcfe14 100644 --- a/sqwebmail/configure.ac +++ b/sqwebmail/configure.ac @@ -1,8 +1,8 @@  dnl -dnl Copyright 1998 - 2017 Double Precision, Inc.  See COPYING for +dnl Copyright 1998 - 2019 Double Precision, Inc.  See COPYING for  dnl distribution information. -AC_INIT(sqwebmail, 6.0.1, [courier-sqwebmail@lists.sourceforge.net]) +AC_INIT(sqwebmail, 6.0.2, [courier-sqwebmail@lists.sourceforge.net])  >confdefs.h  # Kill PACKAGE_ macros diff --git a/sqwebmail/sqwebmail.c b/sqwebmail/sqwebmail.c index 9a77bc6..7d7ea62 100644 --- a/sqwebmail/sqwebmail.c +++ b/sqwebmail/sqwebmail.c @@ -447,7 +447,7 @@ void error3(const char *file, int line, const char *msg1, const char *msg2, int  char *get_templatedir()  {  char	*templatedir=getenv("SQWEBMAIL_TEMPLATEDIR"); -	 +  	if (!templatedir || !*templatedir)	templatedir=HTMLLIBDIR;  	return templatedir; @@ -457,7 +457,7 @@ char	*templatedir=getenv("SQWEBMAIL_TEMPLATEDIR");  char *get_imageurl()  {  char	*imageurl=getenv("SQWEBMAIL_IMAGEURL"); -	 +  	if (!imageurl || !*imageurl)	imageurl=IMGPATH;  	return imageurl; @@ -470,7 +470,7 @@ FILE *open_langform(const char *lang, const char *formname,  char	*formpath;  FILE	*f;  char	*templatedir=get_templatedir(); -	 +  	/* templatedir/lang/formname */  	if (!(formpath=malloc(strlen(templatedir)+3+ @@ -483,7 +483,7 @@ char	*templatedir=get_templatedir();  	f=fopen(formpath, "r");  	free(formpath); -	 +  	if (f && print_header)  		printf("Content-Language: %s\n", lang);  	if (f) @@ -879,7 +879,7 @@ void output_form(const char *formname)  			close(pipefd[0]);  			close(pipefd[1]);  			execl(GZIP, "gzip", "-c", (char *)0); -			fprintf(stderr,  +			fprintf(stderr,  			       "ERR: Cannot execute " GZIP ": %s\n",  			       strerror(errno));  			exit(1); @@ -1310,7 +1310,7 @@ static void do_output_form_loop(FILE *f)  		else if (strcmp(kw, "IMAGEURL") == 0)  		{  			printf("%s", get_imageurl()); -		}			 +		}  		else if (strcmp(kw, "LOADMAILFILTER") == 0)  		{  			mailfilter_init(); @@ -2063,6 +2063,7 @@ char	*cl=http11_best_content_language(templatedir,  void rename_sent_folder(int really)  {  	char buf[128]; +	char buf2[256];  	char yyyymm[128];  	const char *yyyymmp; @@ -2093,14 +2094,20 @@ void rename_sent_folder(int really)  	    strcmp(yyyymm, yyyymmp) == 0)  		return; -	if (strftime (buf, sizeof(buf), "." SENT ".%Y.%m-%b", tm) == 0) +	if (strftime (buf, sizeof(buf), "%m-%b", tm) == 0)  		return;  	pp=folder_toutf8(buf); -	if (really) -		rename("." SENT, pp); +	if (strftime (buf2, sizeof(buf), "." SENT ".%Y.", tm) == 0) +		return; + +	strcat(buf2, pp);  	free(pp); + +	if (really) +		rename("." SENT, buf2); +  	if (really)  		(void)maildir_create(INBOX "." SENT); @@ -2653,7 +2660,7 @@ time_t	timeouthard=get_timeouthard();  		{  			http_redirect_top("?index=1");  		} -				 +  		return;  	}  	return; @@ -2759,4 +2766,3 @@ char *trim_spaces(const char *s)  	return (p);  } - | 
