aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/api/core/ciphers.rs11
-rw-r--r--src/api/core/sends.rs11
2 files changed, 22 insertions, 0 deletions
diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs
index 52919273..b491424e 100644
--- a/src/api/core/ciphers.rs
+++ b/src/api/core/ciphers.rs
@@ -947,6 +947,17 @@ async fn save_attachment(
let mut data = data.into_inner();
+ // There seems to be a bug somewhere regarding uploading attachments using the Android Client (Maybe iOS too?)
+ // See: https://github.com/dani-garcia/vaultwarden/issues/2644
+ // Since all other clients seem to match TempFile::File and not TempFile::Buffered lets catch this and return an error for now.
+ // We need to figure out how to solve this, but for now it's better to not accept these attachments since they will be broken.
+ if let TempFile::Buffered {
+ content: _,
+ } = &data.data
+ {
+ err!("Error reading attachment data. Please try an other client.");
+ }
+
if let Some(size_limit) = size_limit {
if data.data.len() > size_limit {
err!("Attachment storage limit exceeded with this file");
diff --git a/src/api/core/sends.rs b/src/api/core/sends.rs
index ddf23392..4f3291dc 100644
--- a/src/api/core/sends.rs
+++ b/src/api/core/sends.rs
@@ -216,6 +216,17 @@ async fn post_send_file(data: Form<UploadData<'_>>, headers: Headers, conn: DbCo
err!("Send content is not a file");
}
+ // There seems to be a bug somewhere regarding uploading attachments using the Android Client (Maybe iOS too?)
+ // See: https://github.com/dani-garcia/vaultwarden/issues/2644
+ // Since all other clients seem to match TempFile::File and not TempFile::Buffered lets catch this and return an error for now.
+ // We need to figure out how to solve this, but for now it's better to not accept these attachments since they will be broken.
+ if let TempFile::Buffered {
+ content: _,
+ } = &data
+ {
+ err!("Error reading send file data. Please try an other client.");
+ }
+
let size = data.len();
if size > size_limit {
err!("Attachment storage limit exceeded with this file");