History log of /haiku/src/kits/network/libnetapi/UrlContext.cpp
Revision Date Author Comments
# de48af7a 14-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

Adapt all consumers of HashSet and HashMap to the slightly-different APIs.

No functional changes intended. Tested and verified as working.

Change-Id: Iaa67c2e5f0d9aff433ac7348e63e901a6a80e589
Reviewed-on: https://review.haiku-os.org/c/1043
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 55af491f 09-Nov-2015 Adrien Destugues <pulkomandy@pulkomandy.tk>

BUrlContext: fix logic reversal in certificate comparison

The Predicate for BObjectList::FindIf must actually be a difference
operator, and return 0 if there is a match.


# 4849ab6c 09-Nov-2015 Adrien Destugues <pulkomandy@pulkomandy.tk>

BHttpRequest: add SSL certificate exception management.

When an HTTPS request uses an SSL certificate that OpenSSL considers
untrusted, and the user decides to continue anyway, add the certificate
to an exception list. Match certificates against this list and don't ask
the user again if they are already there.

Fixes #12004. Thanks to markh for the initial patch and peeking into the
WebKit code!


# c98378e5 15-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Add HTTP proxy support.

* Move default context management to BUrlRequest since some code
(including the testsuite) bypass the BUrlProtocolRoster.
* Introduce proxy host and port in BUrlContext
* Have BHttpRequest use the proxy when making requests


# 895fa41e 11-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make handling of Http Authentication thread safe

* Each BHttpAuthentication object is locked on all field accesses,
* They are owned by the BUrlContext and never deleted, so there is no
need for reference-counting them,
* The BUrlContext itself is now reference counted, and all BUrlRequests
hold a reference to it.

This makes sure using the BHttpAuthentication objects from requests is
thread-safe.


# 5eba63a6 05-Jun-2014 Stephan Aßmus <superstippi@gmx.de>

UrlContext: Improved comment


# 97ddf901 25-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

libnetapi: style cleanup


# 564e2566 15-Nov-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Various fixes to Services Kit

* Remove useless dummy protocol loop in UrlRequest
* Stop HTTP requests before deleting the socket and other things the
loop may still be using
* Deletion of items from the authentication map wasn't working
* Remove some debug traces


# 9ce2f7e3 28-Oct-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Improve HTTP authentication support.

The authentication state is stored (in a hash map, using the domain+path
as a key) in the UrlContext class. It can then be reused for multiple
requests to the same place. We also lookup stored authentications for
parent directories and stop at the first we find.

Authentication state is not stored on disk (unlike cookies), and there
can only be one for each domain+path.


# 45939109 27-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Patch done by Christophe Huriaux as part of GSoC 2010 "Services Kit" project:
Integrated the classes in the Network Kit (libbnetapi.so). Only the foundation
classed BUrl, BUrlContext, BNetworkCookie, BNetworkCookieJar and the private
HttpTime code is currently compiled. The BUrlProtocol currently contains some
misplaced BUrlProtocolHttp specific stuff, and the HTTP stuff itself has a
dependency on libcrypto and should live in an add-on instead. I've sprinkled
some TODOs in the code, and I've done some renaming compared to the last
version of the GSoC patch. Any help to bring this further along is appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39161 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c98378e51ae02d8ad6e833c7eb8223a10cbd46f5 15-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Add HTTP proxy support.

* Move default context management to BUrlRequest since some code
(including the testsuite) bypass the BUrlProtocolRoster.
* Introduce proxy host and port in BUrlContext
* Have BHttpRequest use the proxy when making requests


# 895fa41e0b50a1117eb2a20a539f394aaa26de51 11-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make handling of Http Authentication thread safe

* Each BHttpAuthentication object is locked on all field accesses,
* They are owned by the BUrlContext and never deleted, so there is no
need for reference-counting them,
* The BUrlContext itself is now reference counted, and all BUrlRequests
hold a reference to it.

This makes sure using the BHttpAuthentication objects from requests is
thread-safe.


# 5eba63a6803ed907115a867188cd5df1dd571fd4 05-Jun-2014 Stephan Aßmus <superstippi@gmx.de>

UrlContext: Improved comment


# 97ddf9019d06adbca5a68046ba8afa74ee4e9eb7 25-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

libnetapi: style cleanup


# 564e2566492c1b9cf9bf7fdaede7ea7683dab5dd 15-Nov-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Various fixes to Services Kit

* Remove useless dummy protocol loop in UrlRequest
* Stop HTTP requests before deleting the socket and other things the
loop may still be using
* Deletion of items from the authentication map wasn't working
* Remove some debug traces


# 9ce2f7e3863c7c69284eaad6466c6b0247f0037b 28-Oct-2013 Adrien Destugues <pulkomandy@pulkomandy.tk>

Improve HTTP authentication support.

The authentication state is stored (in a hash map, using the domain+path
as a key) in the UrlContext class. It can then be reused for multiple
requests to the same place. We also lookup stored authentications for
parent directories and stop at the first we find.

Authentication state is not stored on disk (unlike cookies), and there
can only be one for each domain+path.


# 45939109b4d2aebac59573a0cac0ff5641d47d57 27-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Patch done by Christophe Huriaux as part of GSoC 2010 "Services Kit" project:
Integrated the classes in the Network Kit (libbnetapi.so). Only the foundation
classed BUrl, BUrlContext, BNetworkCookie, BNetworkCookieJar and the private
HttpTime code is currently compiled. The BUrlProtocol currently contains some
misplaced BUrlProtocolHttp specific stuff, and the HTTP stuff itself has a
dependency on libcrypto and should live in an add-on instead. I've sprinkled
some TODOs in the code, and I've done some renaming compared to the last
version of the GSoC patch. Any help to bring this further along is appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39161 a95241bf-73f2-0310-859d-f6bbb57e9c96