Browse Source

cmd/syncthing: Correctly compare If-Modified-Since in HTTP server (#5016)

xjtdy888 7 years ago
parent
commit
7d3f94911f
1 changed files with 5 additions and 3 deletions
  1. 5 3
      cmd/syncthing/gui_statics.go

+ 5 - 3
cmd/syncthing/gui_statics.go

@@ -131,9 +131,11 @@ func (s *staticsServer) serveAsset(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set("Last-Modified", modified.Format(http.TimeFormat))
 	w.Header().Set("Etag", etag)
 
-	if t, err := time.Parse(http.TimeFormat, r.Header.Get("If-Modified-Since")); err == nil && modified.Add(time.Second).After(t) {
-		w.WriteHeader(http.StatusNotModified)
-		return
+	if t, err := time.Parse(http.TimeFormat, r.Header.Get("If-Modified-Since")); err == nil {
+		if modified.Equal(t) || modified.Before(t) {
+			w.WriteHeader(http.StatusNotModified)
+			return
+		}
 	}
 
 	if match := r.Header.Get("If-None-Match"); match != "" {