summaryrefslogtreecommitdiffstats
path: root/vendor/gitea.com/macaron/session/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gitea.com/macaron/session/file.go')
-rw-r--r--vendor/gitea.com/macaron/session/file.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/vendor/gitea.com/macaron/session/file.go b/vendor/gitea.com/macaron/session/file.go
index 3e575564ee..ce915344fb 100644
--- a/vendor/gitea.com/macaron/session/file.go
+++ b/vendor/gitea.com/macaron/session/file.go
@@ -133,7 +133,15 @@ func (p *FileProvider) Read(sid string) (_ RawStore, err error) {
defer p.lock.RUnlock()
var f *os.File
+ ok := false
if com.IsFile(filename) {
+ modTime, err := com.FileMTime(filename)
+ if err != nil {
+ return nil, err
+ }
+ ok = (modTime + p.maxlifetime) >= time.Now().Unix()
+ }
+ if ok {
f, err = os.OpenFile(filename, os.O_RDONLY, 0600)
} else {
f, err = os.Create(filename)