| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
When making a static module on Windows, we should not have `dllexport`
on g_io_* functions. However, G_MODULE_EXPORT is defined to always have
`dllexport` on Windows because it is made for shared modules only.
Building both shared and static modules is not supported on Windows.
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/223>
|
|
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/223>
|
|
|
|
| |
(cherry picked from commit 37a1a98e8400be905e1f10d26f820f2a00bde410)
|
|
|
|
| |
(cherry picked from commit 722bae762bb92685b557a0fa22b9e06b689b8d8b)
|
| |
|
|
|
|
| |
(cherry picked from commit 1f0e0114779dcbf5975f6643f3ebf8fec74d34ec)
|
|
|
|
| |
(cherry picked from commit 6cfbd6754265e382c8a3ee4782e4f44e291f8b3d)
|
| |
|
|
|
|
| |
(cherry picked from commit 3998c84a1be233dc71c2e9542c9e23141b33790b)
|
|
|
|
| |
(cherry picked from commit d3c61870b5d31792dfe13ed71d0747324a9f0912)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modern CDNs should be able to resume sessions even if the IP is different
Hence this commit allows usage of the same session ticket across the
infrastructure of the CDN, if the servers allow that.
In the case where CDN does not allow that, it will just fail to resume the
session. Possibly creating new session tickets for the next connections to
the same hostname.
In the tests we cannot assert that the connection has not been reused as the
allegedly random port might have been assigned multiple times by the OS
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/221>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are too many similarities between GnuTLS session ID and the
session cache, so it is desirable to merge the implementations so
that it is easier to maintain and leads to more similar behaviours
across backends.
This commit moves the OpenSSL backend session cache implementation
to the base class as well as the session id calculation.
In GnuTLS the session id is also used to assert that the copy session
state is done properly (before handshake of the new class and after
handshake of the old class). That behaviour was maintained but the
session id is now computed when the base class is constructed.
Adds as well some operations that need to be abstracted in order for
the lifetime of the different objects in each backend to be
maintained properly.
Fixes #194
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/221>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Client certificates could be very slow to process in certain platforms.
Hence the client should reuse sessions, if it can, in order to skip any
operations that would otherwise slowdown the connection.
We use the same assumptions as the GnuTLS implementation for consistency:
- Cache maximum size is 50
- Session validity should be maximum 10 minutes as per
https://arxiv.org/abs/1810.07304 (section 6)
- TLSv1.3 tickets should only be used once as per RFC 8446 §C.4 to avoid
client tracking (https://www.rfc-editor.org/rfc/rfc8446.html#appendix-C.4)
Glib-networking will use the last session present in the cache for each
connection using the same session id, derived from IP/hostname/port/certificate.
The server is responsible to provide us with session tickets that we can use.
This commit also disables SSL_OP_NO_TICKET.
Fixes #147
Signed-off-by: Goncalo Gomes <goncalo.gomes@youview.com>
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/221>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Otherwise, the test has no way to test the proxy resolver that it claims
to test.
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/222>
|
|
|
|
|
|
|
|
| |
After reversing the priority of the environment proxy vs. libproxy
proxy resolvers, I forgot to also reverse the logic that ensures the
correct resolver gets used when running tests.
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/222>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/184>
|
|
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/184>
|
|
|
|
| |
Fix all deprecation warnings this causes.
|