[gnutls-devel] gnutls 3.5.5
Andreas Metzler
ametzler at bebt.de
Sat Oct 22 11:58:03 CEST 2016
On 2016-10-22 Nikos Mavrogiannopoulos <nmav at gnutls.org> wrote:
> On Fri, 2016-10-21 at 20:08 +0200, Stefan Bühler wrote:
> > I'd like to point out that gnutls_certificate_set_key* had an API
> > incompatible change: they now might return integers > 0 when
> > successful,
> > which breaks previously documented behaviour of always returning
> > GNUTLS_E_SUCCESS (i.e. 0).
[...]
> My expectation was that few software will check for equality with zero,
> mainly due to the examples which use the <0 pattern, and that even if
> they did, the fact that the first certificate index would be zero, will
> mitigate any issue (most applications load a single certificate).
> Do you think this is going to cause issues? Most likely we can still
> revert the change by introducing a flag in
> gnutls_certificate_set_flags() which can enable the behavior of
> returning indexes, instead of returning them by default.
Hello,
I have just started browsing over
<https://codesearch.debian.net/search?q=gnutls_certificate_set_%5B%5E+%5D*key>.
While checking for ret < 0 is common some software does not:
exim:
#define exim_gnutls_err_check(Label) do { \
if (rc != GNUTLS_E_SUCCESS) { return tls_error((Label), gnutls_strerror(rc), host); } } while (0)
[...]
rc = gnutls_certificate_set_x509_key_file(state->x509_cred,
CS state->exp_tls_certificate, CS state->exp_tls_privatekey,
GNUTLS_X509_FMT_PEM);
exim_gnutls_err_check(
string_sprintf("cert/key setup: cert=%s key=%s",
state->exp_tls_certificate, state->exp_tls_privatekey));
samba:
ret = gnutls_certificate_set_x509_key_file(tlsp->x509_cred,
cert_file, key_file,
GNUTLS_X509_FMT_PEM);
if (ret != GNUTLS_E_SUCCESS) {
DEBUG(0,("TLS failed to initialise certfile %s and keyfile %s - %s\n",
cert_file, key_file, gnutls_strerror(ret)));
talloc_free(tlsp);
return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;
}
cups:
status = gnutls_certificate_set_x509_key_file(*credentials, crtfile, keyfile, GNUTLS_X509_FMT_PEM);
}
if (!status)
status = gnutls_credentials_set(http->tls, GNUTLS_CRD_CERTIFICATE, *credentials);
I have no idea whether these support loading multiple certificates.
cu Andreas
--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
More information about the Gnutls-devel
mailing list