summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Varshavchik2017-06-17 11:03:49 -0400
committerSam Varshavchik2017-06-17 11:03:49 -0400
commitc66f55920f446f3e4ddb603496bb4f9d42559ea2 (patch)
tree503fa4501ac7a50db27cd40267955e1291021f39
parentb96c6fa91b1bfec8a948eb030c313e1a1a7369f9 (diff)
downloadcourier-libs-c66f55920f446f3e4ddb603496bb4f9d42559ea2.tar.bz2
Skip symlinks when recalculating current maildir quota.
-rw-r--r--imap/ChangeLog4
-rw-r--r--maildir/maildirquota.c6
-rw-r--r--sqwebmail/ChangeLog4
3 files changed, 14 insertions, 0 deletions
diff --git a/imap/ChangeLog b/imap/ChangeLog
index 91eaea6..edd2a7e 100644
--- a/imap/ChangeLog
+++ b/imap/ChangeLog
@@ -1,3 +1,7 @@
+2017-06-17 Sam Varshavchik <mrsam@courier-mta.com>
+
+ * libs/maildir/maildirquota.c (docheckquota): Skip DT_LNK.
+
2017-03-11 Sam Varshavchik <mrsam@courier-mta.com>
* courier-unicode library API update.
diff --git a/maildir/maildirquota.c b/maildir/maildirquota.c
index 3f3e0bd..70f05a7 100644
--- a/maildir/maildirquota.c
+++ b/maildir/maildirquota.c
@@ -454,6 +454,9 @@ static int docheckquota(struct maildirsize *info,
dirp=opendir(info->maildir);
while (dirp && (de=readdir(dirp)) != 0)
{
+#ifdef DT_LNK
+ if (de->d_type == DT_LNK) continue;
+#endif
if (countsubdir(info->maildir, de->d_name,
&maxtime, &maildirsize_size,
&maildirsize_cnt))
@@ -520,6 +523,9 @@ static int docheckquota(struct maildirsize *info,
dirp=opendir(info->maildir);
while (dirp && (de=readdir(dirp)) != 0)
{
+#ifdef DT_LNK
+ if (de->d_type == DT_LNK) continue;
+#endif
if (statsubdir(info->maildir, de->d_name, &tm))
{
errno=EIO;
diff --git a/sqwebmail/ChangeLog b/sqwebmail/ChangeLog
index 9e0d999..3ab7743 100644
--- a/sqwebmail/ChangeLog
+++ b/sqwebmail/ChangeLog
@@ -1,3 +1,7 @@
+2017-06-17 Sam Varshavchik <mrsam@courier-mta.com>
+
+ * libs/maildir/maildirquota.c (docheckquota): Skip DT_LNK.
+
5.8.4
2016-11-27 Sam Varshavchik <mrsam@courier-mta.com>