From 00d56d7295fc60c3f4d2cc43d2431dce7ed3edd5 Mon Sep 17 00:00:00 2001
From: Jeremy Lin <jeremy.lin@gmail.com>
Date: Sun, 14 Mar 2021 23:20:49 -0700
Subject: [PATCH] Send access check fixes

Adjust checks for max access count, expiration date, and deletion date.
The date checks aren't that important, but the access count check
currently allows one more access than it should.
---
 src/api/core/sends.rs | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/api/core/sends.rs b/src/api/core/sends.rs
index 6fc1dcbc..34e46b68 100644
--- a/src/api/core/sends.rs
+++ b/src/api/core/sends.rs
@@ -197,18 +197,18 @@ fn post_access(access_id: String, data: JsonUpcase<SendAccessData>, conn: DbConn
     };
 
     if let Some(max_access_count) = send.max_access_count {
-        if send.access_count > max_access_count {
+        if send.access_count >= max_access_count {
             err_code!("Max access count reached", 404);
         }
     }
 
     if let Some(expiration) = send.expiration_date {
-        if Utc::now().naive_utc() > expiration {
+        if Utc::now().naive_utc() >= expiration {
             err_code!("Send has expired", 404)
         }
     }
 
-    if Utc::now().naive_utc() > send.deletion_date {
+    if Utc::now().naive_utc() >= send.deletion_date {
         err_code!("Send has been deleted", 404)
     }
 
@@ -248,18 +248,18 @@ fn post_access_file(
     };
 
     if let Some(max_access_count) = send.max_access_count {
-        if send.access_count > max_access_count {
+        if send.access_count >= max_access_count {
             err_code!("Max access count reached", 404);
         }
     }
 
     if let Some(expiration) = send.expiration_date {
-        if Utc::now().naive_utc() > expiration {
+        if Utc::now().naive_utc() >= expiration {
             err_code!("Send has expired", 404)
         }
     }
 
-    if Utc::now().naive_utc() > send.deletion_date {
+    if Utc::now().naive_utc() >= send.deletion_date {
         err_code!("Send has been deleted", 404)
     }
 
-- 
GitLab