Beispiel #1
0
void CIcqProto::handleRuntimeError(WORD wError)
{
	switch (wError) {
	case 0x01:
		ProtoBroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, LOGINERR_OTHERLOCATION);
		icq_LogMessage(LOG_FATAL, LPGEN("You have been disconnected from the ICQ network because you logged on from another location using the same ICQ number."));
		break;

	default:
		icq_LogFatalParam(LPGEN("Unknown runtime error: 0x%02x"), wError);
		break;
	}
}
Beispiel #2
0
void CIcqProto::handleSignonError(WORD wError)
{
    switch (wError) {

    case 0x01: // Unregistered uin
    case 0x04: // Incorrect uin or password
    case 0x05: // Mismatch uin or password
    case 0x06: // Internal Client error (bad input to authorizer)
    case 0x07: // Invalid account
        BroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, LOGINERR_WRONGPASSWORD);
        ZeroMemory(m_szPassword, sizeof(m_szPassword));
        icq_LogFatalParam(LPGEN("Connection failed.\nYour ICQ number or password was rejected (%d)."), wError);
        break;

    case 0x02: // Service temporarily unavailable
    case 0x0D: // Bad database status
    case 0x10: // Service temporarily offline
    case 0x12: // Database send error
    case 0x14: // Reservation map error
    case 0x15: // Reservation link error
    case 0x1A: // Reservation timeout
        BroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, LOGINERR_NOSERVER);
        icq_LogFatalParam(LPGEN("Connection failed.\nThe server is temporarily unavailable (%d)."), wError);
        break;

    case 0x16: // The users num connected from this IP has reached the maximum
    case 0x17: // The users num connected from this IP has reached the maximum (reserved)
        icq_LogFatalParam(LPGEN("Connection failed.\nServer has too many connections from your IP (%d)."), wError);
        break;

    case 0x18: // Reservation rate limit exceeded
    case 0x1D: // Rate limit exceeded
        BroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, LOGINERR_NOSERVER);
        icq_LogFatalParam(LPGEN("Connection failed.\nYou have connected too quickly,\nplease wait and retry 10 to 20 minutes later (%d)."), wError);
        break;

    case 0x1B: // You are using an older version of ICQ. Upgrade required
        BroadcastAck(NULL, ACKTYPE_LOGIN, ACKRESULT_FAILED, NULL, LOGINERR_WRONGPROTOCOL);
        icq_LogMessage(LOG_FATAL, LPGEN("Connection failed.\nThe server did not accept this client version."));
        break;

    case 0x1C: // You are using an older version of ICQ. Upgrade recommended
        icq_LogMessage(LOG_WARNING, LPGEN("The server sent warning, this version is getting old.\nTry to look for a new one."));
        break;

    case 0x1E: // Can't register on the ICQ network
        icq_LogMessage(LOG_FATAL, LPGEN("Connection failed.\nYou were rejected by the server for an unknown reason.\nThis can happen if the UIN is already connected."));
        break;

    case 0x0C: // Invalid database fields, MD5 login not supported
        icq_LogMessage(LOG_FATAL, LPGEN("Connection failed.\nSecure (MD5) login is not supported on this account."));
        break;

    case 0:    // No error
        break;

    case 0x08: // Deleted account
    case 0x09: // Expired account
    case 0x0A: // No access to database
    case 0x0B: // No access to resolver
    case 0x0E: // Bad resolver status
    case 0x0F: // Internal error
    case 0x11: // Suspended account
    case 0x13: // Database link error
    case 0x19: // User too heavily warned
    case 0x1F: // Token server timeout
    case 0x20: // Invalid SecureID number
    case 0x21: // MC error
    case 0x22: // Age restriction
    case 0x23: // RequireRevalidation
    case 0x24: // Link rule rejected
    case 0x25: // Missing information or bad SNAC format
    case 0x26: // Link broken
    case 0x27: // Invalid client IP
    case 0x28: // Partner rejected
    case 0x29: // SecureID missing
    case 0x2A: // Blocked account | Bump user

    default:
        icq_LogFatalParam(LPGEN("Connection failed.\nUnknown error during sign on: 0x%02x"), wError);
        break;
    }
}