diff options
| -rw-r--r-- | imap/.gitignore | 1 | ||||
| -rw-r--r-- | imap/Makefile.am | 6 | ||||
| -rw-r--r-- | imap/mockmaildirpurge.c | 22 | ||||
| -rwxr-xr-x | imap/testsuite | 14 | ||||
| -rw-r--r-- | imap/testsuite.txt | 7 | 
5 files changed, 49 insertions, 1 deletions
| diff --git a/imap/.gitignore b/imap/.gitignore index 0eeab13..663429e 100644 --- a/imap/.gitignore +++ b/imap/.gitignore @@ -7,6 +7,7 @@  /courierpop3d.html  /courierpop3d.html.in  /imapd +/imapd.testmockpurge  /imapd-ssl.dist  /imapd-ssl.dist.in  /imapd.8 diff --git a/imap/Makefile.am b/imap/Makefile.am index 8523af1..813a977 100644 --- a/imap/Makefile.am +++ b/imap/Makefile.am @@ -26,7 +26,7 @@ EXTRA_DIST=testsuite testsuite.txt smaptestsuite smaptestsuite.txt \  	imapd.cnf.gnutls pop3d.cnf.gnutls  noinst_SCRIPTS=mkimapdcert mkpop3dcert mkdhparams -noinst_PROGRAMS=imaplogin imapd pop3login pop3d +noinst_PROGRAMS=imaplogin imapd imapd.testmockpurge pop3login pop3d  noinst_DATA=imapd.8 imapd.html imapd.cnf pop3d.cnf \  	makeimapaccess.html makeimapaccess.8 \ @@ -79,6 +79,10 @@ imapd_DEPENDENCIES=libimapd.la @dblibrary@  imapd_LDADD=libimapd.la	@dblibrary@ @DEBUGLIB@ @LDAUTH@ -lcourierauth +imapd_testmockpurge_SOURCES=$(imapd_SOURCES) mockmaildirpurge.c +imapd_testmockpurge_DEPENDENCIES=$(imapd_DEPENDENCIES) +imapd_testmockpurge_LDADD=$(imapd_LDADD) +  pop3login_SOURCES=pop3login.c pop3dcapa.c proxy.c proxy.h  pop3login_DEPENDENCIES=../tcpd/libspipe.la ../tcpd/libspipe.la libpop3d.la  pop3login_LDADD=../tcpd/libtlsclient.la ../tcpd/libspipe.la libpop3d.la ../tcpd/libspipe.la @LDAUTH@ -lcourierauth -lcourierauthsasl @NETLIBS@ diff --git a/imap/mockmaildirpurge.c b/imap/mockmaildirpurge.c new file mode 100644 index 0000000..fe95f9c --- /dev/null +++ b/imap/mockmaildirpurge.c @@ -0,0 +1,22 @@ +/* +** Copyright 20212 Double Precision, Inc. +** See COPYING for distribution information. +*/ + +#if	HAVE_CONFIG_H +#include	"config.h" +#endif + +#include	"maildir/maildirmisc.h" +#include	<stdio.h> + +void maildir_purgetmp(const char *dir) +{ +	printf("maildir_purgetmp: %s\n", dir); +} + +void maildir_purge(const char *dir, +		   unsigned n) +{ +	printf("maildir_purge: %s (%u)\n", dir, n); +} diff --git a/imap/testsuite b/imap/testsuite index ebca863..8ad8140 100755 --- a/imap/testsuite +++ b/imap/testsuite @@ -1156,3 +1156,17 @@ U021 SELECT INBOX  U022 STORE 1 +FLAGS(Label1)  U023 COPY 1 INBOX  EOF + +rm -rf confmdtest* + +../maildir/maildirmake confmdtest || exit 1 +../maildir/maildirmake -f Trash confmdtest || exit 1 +../maildir/maildirmake -f Trash2 confmdtest || exit 1 + +env IMAP_EMPTYTRASH=2 ./imapd.testmockpurge confmdtest <<EOF | grep maildir_purge +TRASH1 SELECT INBOX +TRASH1 LOGOUT +EOF +env IMAP_EMPTYTRASH=Trash:2,Trash2:3 ./imapd.testmockpurge confmdtest <<EOF | grep maildir_purge +TRASH2 LOGOUT +EOF diff --git a/imap/testsuite.txt b/imap/testsuite.txt index 6ab1aad..462abe7 100644 --- a/imap/testsuite.txt +++ b/imap/testsuite.txt @@ -1769,3 +1769,10 @@  001475 * 1 FETCH (FLAGS (\Seen Label1))
  001476 U022 OK STORE completed.
  001477 U023 NO [ALERT] You exceeded your mail quota.
 +001478 maildir_purge: ./.Trash (172800) +001479 maildir_purgetmp: . +001480 maildir_purge: ./.Trash (172800) +001481 maildir_purge: ./.Trash (172800) +001482 maildir_purge: ./.Trash2 (259200) +001483 maildir_purge: ./.Trash (172800) +001484 maildir_purge: ./.Trash2 (259200) | 
