From c834ba2dfbd1e0a5feb36987a3cf4e1629651644 Mon Sep 17 00:00:00 2001 From: Michel Oosterhof Date: Sun, 12 Apr 2015 09:17:46 +0000 Subject: [PATCH] don't overwrite if already exists. --- kippo/core/fs.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/kippo/core/fs.py b/kippo/core/fs.py index c4c3147..2484b6e 100644 --- a/kippo/core/fs.py +++ b/kippo/core/fs.py @@ -9,6 +9,8 @@ import re import stat import errno +from twisted.python import log + from config import config A_NAME, \ @@ -189,7 +191,7 @@ class HoneyPotFilesystem(object): return True try: dir = self.get_path(os.path.dirname(path)) - except: + except: dir = None if dir is None: return False @@ -253,10 +255,13 @@ class HoneyPotFilesystem(object): return True if self.tempfiles[fd] is not None: shasum = hashlib.sha256(open(self.tempfiles[fd], 'rb').read()).hexdigest() - print 'SHA sum %s of file %s' % (shasum, self.tempfiles[fd]) - shasumfile = config().get('honeypot', 'download_path') + "/" + shasum - os.rename(self.tempfiles[fd], shasumfile) - os.symlink(shasumfile, self.tempfile[fd]) + log.msg("SHA sum %s" % (shasum)) + shasumfile = config().get('honeypot', 'download_path') + "/" + shasum + if (os.path.exists(shasumfile)): + os.remove(self.tempfiles[fd]) + else: + os.rename(self.tempfiles[fd], shasumfile) + os.symlink(shasum, self.tempfiles[fd]) self.update_realfile( self.getfile(self.filenames[fd]), shasumfile ) del self.tempfiles[fd] del self.filenames[fd]