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 PROTOCOL_TIMEOUT = 12.5
RECONNECT_RETRIES = 999 RECONNECT_RETRIES = 999
SERVER_STATE_INTERVAL = 1 SERVER_STATE_INTERVAL = 1
SERVER_LOG_SNAPSHOT_INTERVAL = 3600 SERVER_LOG_SNAPSHOT_INTERVAL = 1
WARNING_OSD_MESSAGES_LOOP_INTERVAL = 1 WARNING_OSD_MESSAGES_LOOP_INTERVAL = 1
AUTOPLAY_DELAY = 3.0 AUTOPLAY_DELAY = 3.0
DO_NOT_RESET_POSITION_THRESHOLD = 1.0 DO_NOT_RESET_POSITION_THRESHOLD = 1.0

View File

@ -4,6 +4,7 @@ import codecs
import hashlib import hashlib
import os import os
import random import random
import re
import sqlite3 import sqlite3
import time import time
from string import Template from string import Template
@ -43,7 +44,7 @@ class SyncFactory(Factory):
self._roomManager = PublicRoomManager() self._roomManager = PublicRoomManager()
if logDbFile is not None: if logDbFile is not None:
self.logDbHandle = self._connectToLogDb(logDbFile) 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: else:
self.logDbHandle = None self.logDbHandle = None
@ -471,7 +472,12 @@ class Watcher(object):
return self._name return self._name
def getVersion(self): 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): def getFile(self):
return self._file return self._file

View File

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