MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / ValidateUser

Function ValidateUser

netcon/mtclient/mtpilottracker.cpp:563–614  ·  view source on GitHub ↗

Return codes: -3 Still waiting (returned if we were waiting for a tracker response and ValidateUser was called with a non-NULL value -2 Timeout waiting for tracker to respond -1 User invalid 0 Still waiting for response from tracker/Idle 1 User valid

Source from the content-addressed store, hash-verified

561// 0 Still waiting for response from tracker/Idle
562// 1 User valid
563int ValidateUser(validate_id_request *valid_id, char *trackerid) {
564 ValidIdle();
565 if (valid_id == NULL) {
566 switch (ValidState) {
567 case VALID_STATE_IDLE:
568 return 0;
569 break;
570 case VALID_STATE_WAITING:
571 return 0;
572 break;
573 case VALID_STATE_VALID:
574 ValidState = VALID_STATE_IDLE;
575 return 1;
576 break;
577 case VALID_STATE_INVALID:
578 ValidState = VALID_STATE_IDLE;
579 return -1;
580 case VALID_STATE_TIMEOUT:
581 ValidState = VALID_STATE_IDLE;
582 return -2;
583 }
584 return 0;
585 } else {
586 // if(ValidState==VALID_STATE_IDLE)
587 {
588 /*
589 //First, flush the input buffer for the socket
590 uint32_t bytesin;
591 udp_packet_header inpacket;
592 do
593 {
594 bytesin = ReceivePilotTracker(&inpacket);
595 }while(bytesin && (bytesin!=-1));
596 */
597 Psztracker_id = trackerid;
598 ValidSecurity = (uint32_t)rand();
599 PacketHeader.security = ValidSecurity;
600 // strcpy(ValidIDReq->tracker_id,valid_id->tracker_id);
601 strcpy(ValidIDReq->login, valid_id->login);
602 strcpy(ValidIDReq->password, valid_id->password);
603 SendPilotTrackerPacket(&PacketHeader);
604 ValidState = VALID_STATE_WAITING;
605 ValidFirstSent = DLLtimer_GetTime();
606 ValidLastSent = DLLtimer_GetTime();
607 return 0;
608 }
609 // else
610 // {
611 // return -3;
612 // }
613 }
614}
615
616void ValidIdle() {
617 PollPTrackNet();

Callers 3

LoginMasterTrackerFunction · 0.85
AutoLoginAndJoinGameFunction · 0.85
AutoLoginAndStartGameFunction · 0.85

Calls 2

ValidIdleFunction · 0.85
SendPilotTrackerPacketFunction · 0.85

Tested by

no test coverage detected