Compare commits
No commits in common. "mkirk/handle-sec-err" and "master" have entirely different histories.
mkirk/hand
...
master
@ -35,6 +35,12 @@ CFHTTPMessageRef SRHTTPConnectMessageCreate(NSURLRequest *request,
|
||||
// Set host first so it defaults
|
||||
CFHTTPMessageSetHeaderFieldValue(message, CFSTR("Host"), (__bridge CFStringRef)_SRHTTPConnectMessageHost(url));
|
||||
|
||||
NSMutableData *keyBytes = [[NSMutableData alloc] initWithLength:16];
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes);
|
||||
if (result != 0) {
|
||||
//TODO: (nlutsenko) Check if there was an error.
|
||||
}
|
||||
|
||||
// Apply cookies if any have been provided
|
||||
if (cookies) {
|
||||
NSDictionary<NSString *, NSString *> *messageCookies = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
|
||||
|
||||
@ -15,13 +15,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
NSData *SRRandomData(NSUInteger length)
|
||||
{
|
||||
NSMutableData *_Nullable data = [NSMutableData dataWithLength:length];
|
||||
if (data == nil) {
|
||||
[NSException raise:NSInternalInconsistencyException format:@"Failed to allocate random data"];
|
||||
}
|
||||
|
||||
NSMutableData *data = [NSMutableData dataWithLength:length];
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, data.length, data.mutableBytes);
|
||||
if (result != errSecSuccess) {
|
||||
if (result != 0) {
|
||||
[NSException raise:NSInternalInconsistencyException format:@"Failed to generate random bytes with OSStatus: %d", result];
|
||||
}
|
||||
return data;
|
||||
|
||||
@ -1380,10 +1380,12 @@ static const size_t SRFrameHeaderOverhead = 32;
|
||||
|
||||
const uint8_t *unmaskedPayloadBuffer = (uint8_t *)data.bytes;
|
||||
uint8_t *maskKey = frameBuffer + frameBufferSize;
|
||||
|
||||
|
||||
size_t randomBytesSize = sizeof(uint32_t);
|
||||
NSData *randomData = SRRandomData(randomBytesSize);
|
||||
[randomData getBytes:maskKey range:NSMakeRange(0, randomBytesSize)];
|
||||
int result = SecRandomCopyBytes(kSecRandomDefault, randomBytesSize, maskKey);
|
||||
if (result != 0) {
|
||||
//TODO: (nlutsenko) Check if there was an error.
|
||||
}
|
||||
frameBufferSize += randomBytesSize;
|
||||
|
||||
// Copy and unmask the buffer
|
||||
|
||||
Loading…
Reference in New Issue
Block a user