Server logger: fix bug and sanitize version string

This commit is contained in:
albertosottile 2018-07-25 14:29:44 +02:00
parent 8a8859694c
commit 9f52834ae4
3 changed files with 12 additions and 4 deletions

View File

@ -53,7 +53,7 @@ DIFFERENT_DURATION_THRESHOLD = 2.5
PROTOCOL_TIMEOUT = 12.5
RECONNECT_RETRIES = 999
SERVER_STATE_INTERVAL = 1
SERVER_LOG_SNAPSHOT_INTERVAL = 3600
SERVER_LOG_SNAPSHOT_INTERVAL = 1
WARNING_OSD_MESSAGES_LOOP_INTERVAL = 1
AUTOPLAY_DELAY = 3.0
DO_NOT_RESET_POSITION_THRESHOLD = 1.0

View File

@ -4,6 +4,7 @@ import codecs
import hashlib
import os
import random
import re
import sqlite3
import time
from string import Template
@ -43,7 +44,7 @@ class SyncFactory(Factory):
self._roomManager = PublicRoomManager()
if logDbFile is not None:
self.logDbHandle = self._connectToLogDb(logDbFile)
reactor.callLater(random.randint(1,60), self._scheduleVersionSnapshot, self.logDbHandle, self.port)
reactor.callLater(0.1, self._scheduleVersionSnapshot, self.logDbHandle, self.port)
else:
self.logDbHandle = None
@ -471,7 +472,12 @@ class Watcher(object):
return self._name
def getVersion(self):
return self._connector.getVersion()
pattern = r'\A[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}\Z'
versionString = self._connector.getVersion()
if re.match(pattern, versionString) is not None:
return versionString
else:
return None
def getFile(self):
return self._file

View File

@ -29,5 +29,7 @@ if __name__ == '__main__':
args.salt,
args.disable_ready,
args.disable_chat,
args.max_chat_message_length))
args.max_chat_message_length,
args.max_username_length,
args.log_db_file))
reactor.run()