| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/237>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the .test file was generated with a reference to
${installed_tests_dir}/environment, which is only built (from the same
source code) when the module for proxy configuration from environment
variables (without using libproxy) is enabled.
The build-time test already correctly ran environment-libproxy.
Resolves: https://gitlab.gnome.org/GNOME/glib-networking/-/issues/208
Bug-Debian: https://bugs.debian.org/1031166
Signed-off-by: Simon McVittie <smcv@debian.org>
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/235>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When SSL session caching is handled externally, explicitly adding the
SSL session to the OpenSSL internal session cache may cause the session
to become unresumable. When attempting to reuse an unresumable session
from the external cache, OpenSSL will automatically create a new one
which results in a full handshake being performed.
This commit removes the explicit call to SSL_CTX_add_session() as the
call to SSL_add_session() is sufficient to set a session resumable.
Fixes #207
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Based on citemplates!27 and gcr!119, this makes the test results show up
nicely on GitLab.
(This also fixes the Windows artifacts path, although it doesn't matter
because there are no Windows artifacts.)
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/232>
|
|
|
|
|
|
|
|
|
|
| |
These are useless and just waste time of translators. Could remove them
from translation, but they really serve no purpose. Best practice is to
not use them nowadays.
https://gitlab.gnome.org/GNOME/gtk/-/issues/4904
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/231>
|
|
|
|
|
|
|
|
| |
The entry points were not exported, oops! Found by Chun-wei Fan.
Hopefully fixes #185
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/226>
|
|
|
|
|
|
|
|
|
| |
The option is deprecated because it's not useful, but the functionality
is not deprecated. This will avoid future confusion at the expense of
breaking anybody who is currently using the option.
Related: #206
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/233>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. gvsbuild has broken CI multiple times in the past while
2. gvsbuild main branch requires python 3.8, and we only have 3.7
3. Older gvsbuild commits / tags have broken URLs, and even if you fix
them, the glib version is too old
4. gvsbuild actually takes a very long time to build everything
We have an openssl project now. Not suitable for production use, but
it's fine for CI.
Need newer Meson to be able to use --vsenv reliably:
```
[...]
File "C:\Users\user\AppData\Roaming\Python\Python37\site-packages\mesonbuild\mesonlib\vsenv.py", line 96, in _setup_vsenv
k, v = bat_line.split('=', 1)
ValueError: not enough values to unpack (expected 2, got 1)
```
|
|
|
|
|
| |
SecTrustCopyAnchorCertificates is not available on iOS as certificate
data for system-trusted roots is currently unavailable there.
|
| |
|
|
|
|
|
|
|
|
|
| |
TLS exporter does not exist before TLS 1.3 so skip the tls-exporter test
for TLS 1.2.
Fixes https://gitlab.gnome.org/GNOME/glib-networking/-/issues/201
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/227>
|
|
|
|
|
|
| |
The branch we were using has been deleted.
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/228>
|
|
|
|
| |
(cherry picked from commit 5f3ff5706f157ca7d99eeb0e346cc6e431b3ccb4)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I tried to be too clever here and enabled environment proxy support by
default whenever libproxy is disabled. This strategy fails because all
distros enable auto features:
https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/217#note_1529568
The solution is to enable libproxy by default, and disable environment
proxy by default. This leaves only two remaining auto features: GnuTLS,
which is almost always wanted, and GNOME proxy, which is also almost
always wanted. Just pick the right defaults. If you don't want these
enabled, pass the flag to disable them. Simple
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/220>
|
|
|
|
|
|
|
|
|
|
| |
[1/4] Compiling C object tls/tests/connection-gnutls.p/connection.c.o
../../../../Projects/glib-networking/tls/tests/connection.c: In function ‘clock_gettime’:
../../../../Projects/glib-networking/tls/tests/connection.c:600:16: warning: ‘nonnull’ argument ‘tp’ compared to NULL [-Wnonnull-compare]
600 | if (ret == 0 && tp)
| ~~~~~~~~~^~~~~
Part-of: <https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/224>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|