mirror of
https://github.com/moonlight-stream/moonlight-ios.git
synced 2025-07-23 12:44:19 +00:00
Add better messages to pairing
This commit is contained in:
parent
1b98870b41
commit
47850cd658
@ -28,12 +28,16 @@
|
|||||||
|
|
||||||
- (void) main {
|
- (void) main {
|
||||||
NSData* serverInfo = [_httpManager executeRequestSynchronously:[_httpManager newServerInfoRequest]];
|
NSData* serverInfo = [_httpManager executeRequestSynchronously:[_httpManager newServerInfoRequest]];
|
||||||
|
if (serverInfo == NULL) {
|
||||||
|
[_callback pairFailed:@"Unable to connect to PC"];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (![[HttpManager getStringFromXML:serverInfo tag:@"PairStatus"] isEqual:@"1"]) {
|
if (![[HttpManager getStringFromXML:serverInfo tag:@"PairStatus"] isEqual:@"1"]) {
|
||||||
[self initiatePair];
|
[self initiatePair];
|
||||||
} else {
|
} else {
|
||||||
[_callback pairFailed:@"Already Paired"];
|
[_callback pairFailed:@"This device is already paired."];
|
||||||
}
|
}
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newAppListRequest]];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) initiatePair {
|
- (void) initiatePair {
|
||||||
@ -47,8 +51,7 @@
|
|||||||
pairedString = [HttpManager getStringFromXML:pairResp tag:@"paired"];
|
pairedString = [HttpManager getStringFromXML:pairResp tag:@"paired"];
|
||||||
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
||||||
//TODO: better message
|
[_callback pairFailed:@"Pairing was declined by the target."];
|
||||||
[_callback pairFailed:@"pairResp failed"];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,8 +67,7 @@
|
|||||||
pairedString = [HttpManager getStringFromXML:challengeResp tag:@"paired"];
|
pairedString = [HttpManager getStringFromXML:challengeResp tag:@"paired"];
|
||||||
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
||||||
//TODO: better message
|
[_callback pairFailed:@"Pairing stage #2 failed"];
|
||||||
[_callback pairFailed:@"challengeResp failed"];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,8 +85,7 @@
|
|||||||
pairedString = [HttpManager getStringFromXML:secretResp tag:@"paired"];
|
pairedString = [HttpManager getStringFromXML:secretResp tag:@"paired"];
|
||||||
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
||||||
//TODO: better message
|
[_callback pairFailed:@"Pairing stage #3 failed"];
|
||||||
[_callback pairFailed:@"secretResp failed"];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,16 +95,14 @@
|
|||||||
|
|
||||||
if (![cryptoMan verifySignature:serverSecret withSignature:serverSignature andCert:[Utils hexToBytes:plainCert]]) {
|
if (![cryptoMan verifySignature:serverSecret withSignature:serverSignature andCert:[Utils hexToBytes:plainCert]]) {
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
||||||
//TODO: better message
|
[_callback pairFailed:@"Server certificate invalid"];
|
||||||
[_callback pairFailed:@"verifySignature failed"];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSData* serverChallengeRespHash = [cryptoMan SHA1HashData:[self concatData:[self concatData:randomChallenge with:[CryptoManager getSignatureFromCert:[Utils hexToBytes:plainCert]]] with:serverSecret]];
|
NSData* serverChallengeRespHash = [cryptoMan SHA1HashData:[self concatData:[self concatData:randomChallenge with:[CryptoManager getSignatureFromCert:[Utils hexToBytes:plainCert]]] with:serverSecret]];
|
||||||
if (![serverChallengeRespHash isEqual:serverResponse]) {
|
if (![serverChallengeRespHash isEqual:serverResponse]) {
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
||||||
//TODO: better message
|
[_callback pairFailed:@"Incorrect PIN"];
|
||||||
[_callback pairFailed:@"serverChallengeResp failed"];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,8 +111,7 @@
|
|||||||
pairedString = [HttpManager getStringFromXML:clientSecretResp tag:@"paired"];
|
pairedString = [HttpManager getStringFromXML:clientSecretResp tag:@"paired"];
|
||||||
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
||||||
//TODO: better message
|
[_callback pairFailed:@"Pairing stage #4 failed"];
|
||||||
[_callback pairFailed:@"clientSecretResp failed"];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,8 +119,7 @@
|
|||||||
pairedString = [HttpManager getStringFromXML:clientPairChallenge tag:@"paired"];
|
pairedString = [HttpManager getStringFromXML:clientPairChallenge tag:@"paired"];
|
||||||
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
if (pairedString == NULL || ![pairedString isEqualToString:@"1"]) {
|
||||||
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
[_httpManager executeRequestSynchronously:[_httpManager newUnpairRequest]];
|
||||||
//TODO: better message
|
[_callback pairFailed:@"Pairing stage #5 failed"];
|
||||||
[_callback pairFailed:@"clientPairChallenge failed"];
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
[_callback pairSuccessful];
|
[_callback pairSuccessful];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user