diff --git a/kordophone/Bridge/MBIMHTTPConnection.m b/kordophone/Bridge/MBIMHTTPConnection.m index 5507df8..86ed2a0 100644 --- a/kordophone/Bridge/MBIMHTTPConnection.m +++ b/kordophone/Bridge/MBIMHTTPConnection.m @@ -17,6 +17,7 @@ #import #import "HTTPMessage.h" +#import "GCDAsyncSocket.h" @interface HTTPConnection (/* INTERNAL */) - (BOOL)isAuthenticated; @@ -139,6 +140,14 @@ if (![self isAuthenticated] && ![queryAuthToken isValid]) { NSLog(@"Websocket: auth invalid, rejecting."); NSLog(@"Query Token: %@, raw: %@", queryAuthToken, authTokenString); + + + // Respond with 401 unauthorized + HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:401 description:nil version:HTTPVersion1_1]; + [response setHeaderField:@"Content-Length" value:@"0"]; + + NSData *responseData = [self preprocessErrorResponse:response]; + [asyncSocket writeData:responseData withTimeout:30 tag:90]; return nil; }