Overview
Comment: | Use case insensitive compare for URL scheme |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
ccc1b1989df6bb2a9646696e3ad715f8 |
User & Date: | js on 2020-04-01 22:36:49 |
Other Links: | manifest | tags |
Context
2020-04-05
| ||
11:46 | configure: Check whether *_l need _GNU_SOURCE check-in: fdbe09e8ea user: js tags: trunk | |
2020-04-01
| ||
22:36 | Use case insensitive compare for URL scheme check-in: ccc1b1989d user: js tags: trunk | |
21:41 | OFHTTPClient: Improve redirection checking logic check-in: efbbf65df2 user: js tags: trunk | |
Changes
Modified src/OFHTTPClient.m from [d31701c86f] to [85a479fa56].
︙ | ︙ | |||
311 312 313 314 315 316 317 | response.protocolVersionString = _version; response.statusCode = _status; response.headers = _serverHeaders; connectionHeader = [_serverHeaders objectForKey: @"Connection"]; if ([_version isEqual: @"1.1"]) { if (connectionHeader != nil) | | < | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | response.protocolVersionString = _version; response.statusCode = _status; response.headers = _serverHeaders; connectionHeader = [_serverHeaders objectForKey: @"Connection"]; if ([_version isEqual: @"1.1"]) { if (connectionHeader != nil) keepAlive = [connectionHeader isEqual: @"close"]; else keepAlive = true; } else { if (connectionHeader != nil) keepAlive = ([connectionHeader caseInsensitiveCompare: @"keep-alive"] == OF_ORDERED_SAME); else |
︙ | ︙ | |||
691 692 693 694 695 696 697 | OFURL *URL = _request.URL; OFTCPSocket *sock; uint16_t port; OFNumber *URLPort; [_client close]; | | > | 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 | OFURL *URL = _request.URL; OFTCPSocket *sock; uint16_t port; OFNumber *URLPort; [_client close]; if ([URL.scheme caseInsensitiveCompare: @"https"] == OF_ORDERED_SAME) { if (of_tls_socket_class == Nil) @throw [OFUnsupportedProtocolException exceptionWithURL: URL]; sock = [[[of_tls_socket_class alloc] init] autorelease]; port = 443; } else { |
︙ | ︙ | |||
1243 1244 1245 1246 1247 1248 1249 | - (void)asyncPerformRequest: (OFHTTPRequest *)request redirects: (unsigned int)redirects { void *pool = objc_autoreleasePoolPush(); OFURL *URL = request.URL; OFString *scheme = URL.scheme; | > | | 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 | - (void)asyncPerformRequest: (OFHTTPRequest *)request redirects: (unsigned int)redirects { void *pool = objc_autoreleasePoolPush(); OFURL *URL = request.URL; OFString *scheme = URL.scheme; if ([scheme caseInsensitiveCompare: @"http"] != OF_ORDERED_SAME && [scheme caseInsensitiveCompare: @"https"] != OF_ORDERED_SAME) @throw [OFUnsupportedProtocolException exceptionWithURL: URL]; if (_inProgress) /* TODO: Find a better exception */ @throw [OFAlreadyConnectedException exception]; _inProgress = true; |
︙ | ︙ |
Modified src/OFHTTPCookieManager.m from [b42d33b466] to [0f44cd343b].
︙ | ︙ | |||
61 62 63 64 65 66 67 | void *pool = objc_autoreleasePoolPush(); OFString *cookieDomain, *URLHost; size_t i; if (![cookie.path hasPrefix: @"/"]) cookie.path = @"/"; | | > | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | void *pool = objc_autoreleasePoolPush(); OFString *cookieDomain, *URLHost; size_t i; if (![cookie.path hasPrefix: @"/"]) cookie.path = @"/"; if (cookie.secure && [URL.scheme caseInsensitiveCompare: @"https"] != OF_ORDERED_SAME) { objc_autoreleasePoolPop(pool); return; } cookieDomain = cookie.domain.lowercaseString; cookie.domain = cookieDomain; |
︙ | ︙ | |||
121 122 123 124 125 126 127 | OFString *cookieDomain, *URLHost, *cookiePath, *URLPath; bool match; expires = cookie.expires; if (expires != nil && expires.timeIntervalSinceNow <= 0) continue; | | > | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | OFString *cookieDomain, *URLHost, *cookiePath, *URLPath; bool match; expires = cookie.expires; if (expires != nil && expires.timeIntervalSinceNow <= 0) continue; if (cookie.secure && [URL.scheme caseInsensitiveCompare: @"https"] != OF_ORDERED_SAME) continue; pool = objc_autoreleasePoolPush(); cookieDomain = cookie.domain.lowercaseString; URLHost = URL.host.lowercaseString; if ([cookieDomain hasPrefix: @"."]) { |
︙ | ︙ |
Modified src/OFHTTPServer.m from [0402f29968] to [cf25c913ea].
︙ | ︙ | |||
251 252 253 254 255 256 257 | @throw [OFNotOpenException exceptionWithObject: self]; @try { if (!_headersSent) [self of_sendHeaders]; if (_chunked) | | < | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | @throw [OFNotOpenException exceptionWithObject: self]; @try { if (!_headersSent) [self of_sendHeaders]; if (_chunked) [_socket writeString: @"0\r\n\r\n"]; } @catch (OFWriteFailedException *e) { id <OFHTTPServerDelegate> delegate = _server.delegate; if ([delegate respondsToSelector: @selector(server: didReceiveExceptionForResponse:request:exception:)]) [delegate server: _server didReceiveExceptionForResponse: self |
︙ | ︙ |