summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFushan Wen <qydwhotmail@gmail.com>2021-08-22 16:27:51 +0800
committerFushan Wen <qydwhotmail@gmail.com>2021-09-03 00:07:48 +0800
commitf4b35f25d30492150195ddfe0bf63592ee2bad9f (patch)
tree0e551d27339d1cf7b72a9ea09aa95cabb441ece1
parent02254b13bb4818745193092f2144fd83726d79e7 (diff)
downloadonionshare-f4b35f25d30492150195ddfe0bf63592ee2bad9f.tar.gz
onionshare-f4b35f25d30492150195ddfe0bf63592ee2bad9f.zip
Make last_modified and if_date timezone-aware
Fix #1398
-rw-r--r--cli/onionshare_cli/web/share_mode.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/cli/onionshare_cli/web/share_mode.py b/cli/onionshare_cli/web/share_mode.py
index 51ddd674..b24d72f1 100644
--- a/cli/onionshare_cli/web/share_mode.py
+++ b/cli/onionshare_cli/web/share_mode.py
@@ -25,7 +25,7 @@ import sys
import tempfile
import zipfile
import mimetypes
-from datetime import datetime
+from datetime import datetime, timezone
from flask import Response, request, render_template, make_response, abort
from unidecode import unidecode
from werkzeug.http import parse_date, http_date
@@ -127,7 +127,7 @@ class ShareModeWeb(SendBaseModeWeb):
self.download_etag = None
self.gzip_etag = None
- self.last_modified = datetime.utcnow()
+ self.last_modified = datetime.now(tz=timezone.utc)
def define_routes(self):
"""
@@ -288,6 +288,8 @@ class ShareModeWeb(SendBaseModeWeb):
if_unmod = request.headers.get("If-Unmodified-Since")
if if_unmod:
if_date = parse_date(if_unmod)
+ if if_date and not if_date.tzinfo:
+ if_date = if_date.replace(tzinfo=timezone.utc) # Compatible with Flask < 2.0.0
if if_date and if_date > last_modified:
abort(412)
elif range_header is None: