diff --git a/src/protocol.cpp b/src/protocol.cpp index 69f0f42e..6307bf7b 100755 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -382,6 +382,7 @@ CONNECTION LESS MESSAGES 0 - success 1 - failed due to central server list being full 2 - your server version is too old + 3 - registration requirements not fulfilled Note: the central server may send this message in response to a PROTMESSID_CLM_REGISTER_SERVER request. @@ -2381,7 +2382,8 @@ bool CProtocol::EvaluateCLRegisterServerResp ( const CHostAddress& InetAddr, if ( ( iSvrRegResult != SRR_REGISTERED ) && ( iSvrRegResult != SRR_CENTRAL_SVR_FULL ) && - ( iSvrRegResult != SRR_VERSION_TOO_OLD ) ) + ( iSvrRegResult != SRR_VERSION_TOO_OLD ) && + ( iSvrRegResult != SRR_NOT_FULFILL_REQIREMENTS ) ) { return true; } diff --git a/src/serverdlg.cpp b/src/serverdlg.cpp index f6da4168..905716b8 100755 --- a/src/serverdlg.cpp +++ b/src/serverdlg.cpp @@ -637,6 +637,7 @@ void CServerDlg::UpdateGUIDependencies() case SRS_TIME_OUT: case SRS_CENTRAL_SVR_FULL: case SRS_VERSION_TOO_OLD: + case SRS_NOT_FULFILL_REQIREMENTS: strStatus = "" + strStatus + ""; break; diff --git a/src/serverlist.cpp b/src/serverlist.cpp index b6d51e88..bf6b82c8 100755 --- a/src/serverlist.cpp +++ b/src/serverlist.cpp @@ -515,6 +515,10 @@ void CServerListManager::StoreRegistrationResult ( ESvrRegResult eResult ) SetSvrRegStatus ( ESvrRegStatus::SRS_VERSION_TOO_OLD ); break; + case ESvrRegResult::SRR_NOT_FULFILL_REQIREMENTS: + SetSvrRegStatus ( ESvrRegStatus::SRS_NOT_FULFILL_REQIREMENTS ); + break; + default: SetSvrRegStatus ( ESvrRegStatus::SRS_UNKNOWN_RESP ); break; diff --git a/src/util.h b/src/util.h index 906fa541..1e18e79a 100755 --- a/src/util.h +++ b/src/util.h @@ -632,7 +632,8 @@ enum ESvrRegStatus SRS_UNKNOWN_RESP, SRS_REGISTERED, SRS_CENTRAL_SVR_FULL, - SRS_VERSION_TOO_OLD + SRS_VERSION_TOO_OLD, + SRS_NOT_FULFILL_REQIREMENTS }; inline QString svrRegStatusToString ( ESvrRegStatus eSvrRegStatus ) @@ -662,6 +663,9 @@ inline QString svrRegStatusToString ( ESvrRegStatus eSvrRegStatus ) case SRS_VERSION_TOO_OLD: return QCoreApplication::translate ( "CServerDlg", "Your server version is too old" ); + + case SRS_NOT_FULFILL_REQIREMENTS: + return QCoreApplication::translate ( "CServerDlg", "Requirements not fulfilled" ); } return QString ( QCoreApplication::translate ( "CServerDlg", "Unknown value " ) ).append ( eSvrRegStatus ); @@ -674,7 +678,8 @@ enum ESvrRegResult // used for protocol -> enum values must be fixed! SRR_REGISTERED = 0, SRR_CENTRAL_SVR_FULL = 1, - SRR_VERSION_TOO_OLD = 2 + SRR_VERSION_TOO_OLD = 2, + SRR_NOT_FULFILL_REQIREMENTS = 3 };