267 // It does not implement a very good cross-domain verification yet. |
267 // It does not implement a very good cross-domain verification yet. |
268 |
268 |
269 Q_D(const QNetworkCookieJar); |
269 Q_D(const QNetworkCookieJar); |
270 QDateTime now = QDateTime::currentDateTime(); |
270 QDateTime now = QDateTime::currentDateTime(); |
271 QList<QNetworkCookie> result; |
271 QList<QNetworkCookie> result; |
|
272 bool isEncrypted = url.scheme().toLower() == QLatin1String("https"); |
272 |
273 |
273 // scan our cookies for something that matches |
274 // scan our cookies for something that matches |
274 QList<QNetworkCookie>::ConstIterator it = d->allCookies.constBegin(), |
275 QList<QNetworkCookie>::ConstIterator it = d->allCookies.constBegin(), |
275 end = d->allCookies.constEnd(); |
276 end = d->allCookies.constEnd(); |
276 for ( ; it != end; ++it) { |
277 for ( ; it != end; ++it) { |
277 if (!isParentDomain(url.host(), it->domain())) |
278 if (!isParentDomain(url.host(), it->domain())) |
278 continue; |
279 continue; |
279 if (!isParentPath(url.path(), it->path())) |
280 if (!isParentPath(url.path(), it->path())) |
280 continue; |
281 continue; |
281 if (!(*it).isSessionCookie() && (*it).expirationDate() < now) |
282 if (!(*it).isSessionCookie() && (*it).expirationDate() < now) |
|
283 continue; |
|
284 if ((*it).isSecure() && !isEncrypted) |
282 continue; |
285 continue; |
283 |
286 |
284 // insert this cookie into result, sorted by path |
287 // insert this cookie into result, sorted by path |
285 QList<QNetworkCookie>::Iterator insertIt = result.begin(); |
288 QList<QNetworkCookie>::Iterator insertIt = result.begin(); |
286 while (insertIt != result.end()) { |
289 while (insertIt != result.end()) { |