diff --git a/urbackupserver/server_get.cpp b/urbackupserver/server_get.cpp index f4e92bbd..312c997d 100644 --- a/urbackupserver/server_get.cpp +++ b/urbackupserver/server_get.cpp @@ -90,7 +90,7 @@ BackupServerGet::BackupServerGet(IPipe *pPipe, sockaddr_in pAddr, const std::wst : internet_connection(internet_connection), server_settings(NULL), client_throttler(NULL), use_snapshots(use_snapshots), use_reflink(use_reflink), local_hash(NULL), bsh(NULL), bsh_ticket(ILLEGAL_THREADPOOL_TICKET), bsh_prepare(NULL), bsh_prepare_ticket(ILLEGAL_THREADPOOL_TICKET), - backup_dao(NULL) + backup_dao(NULL), client_updated_time(0) { q_update_lastseen=NULL; pipe=pPipe; @@ -556,6 +556,12 @@ void BackupServerGet::operator ()(void) } } + if(client_updated_time!=0 && Server->getTimeSeconds()-client_updated_time>5*60) + { + updateCapabilities(); + client_updated_time=0; + } + update_sql_intervals(true); int64 ttime=Server->getTimeMS(); @@ -4313,6 +4319,8 @@ void BackupServerGet::checkClientVersion(void) Server->destroy(cc); + client_updated_time = Server->getTimeSeconds(); + if(ok) { ServerLogger::Log(clientid, L"Updated client successfully", LL_INFO); diff --git a/urbackupserver/server_get.h b/urbackupserver/server_get.h index 1f4b0c01..31d86f82 100644 --- a/urbackupserver/server_get.h +++ b/urbackupserver/server_get.h @@ -318,4 +318,6 @@ private: IMutex* hash_existing_mutex; std::vector hash_existing; + + int64 client_updated_time; };