Workaround large QUOTA responses

This commit is contained in:
M66B 2020-10-31 13:27:09 +01:00
parent 945f7f3f08
commit 78335df3db
2 changed files with 20 additions and 1 deletions

View File

@ -2953,7 +2953,10 @@ public class IMAPProtocol extends Protocol {
long usage = r.readLong();
long limit = r.readLong();
Quota.Resource res = new Quota.Resource(name, usage, limit);
v.add(res);
if ("STORAGE".equals(name) && v.size() < 32)
v.add(res);
else
eu.faircode.email.Log.w("Dropping QUOTA " + name + "/" + usage + "/" + limit + " count=" + v.size());
}
}
q.resources = v.toArray(new Quota.Resource[v.size()]);

View File

@ -379,3 +379,19 @@ diff -rupN /home/marcel/JavaMail/mail/src/main/java/com/sun/mail/imap/protocol/I
}
}
}
diff --git a/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java b/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java
index 3b22fdfae..07eec0664 100644
--- a/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java
+++ b/app/src/main/java/com/sun/mail/imap/protocol/IMAPProtocol.java
@@ -2953,7 +2953,10 @@ public class IMAPProtocol extends Protocol {
long usage = r.readLong();
long limit = r.readLong();
Quota.Resource res = new Quota.Resource(name, usage, limit);
- v.add(res);
+ if ("STORAGE".equals(name) && v.size() < 32)
+ v.add(res);
+ else
+ eu.faircode.email.Log.w("Dropping QUOTA " + name + "/" + usage + "/" + limit + " count=" + v.size());
}
}
q.resources = v.toArray(new Quota.Resource[v.size()]);