[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20908: 25.0.50; gnutls-negotiate error "Invalid format operation %u"
From: |
Eli Zaretskii |
Subject: |
bug#20908: 25.0.50; gnutls-negotiate error "Invalid format operation %u" |
Date: |
Sat, 27 Jun 2015 11:05:19 +0300 |
> From: lo2net <fangtao0901@gmail.com>
> Date: Sat, 27 Jun 2015 11:55:43 +0800
>
> I've got a problem: when using (gnutls-negotiate :verify-error t) to
> initialize a SSL/TLS
> connection , server has an expired certificate cause gnutls-boot signal
> an error "Invalid format operation %u", apparently it's not related to
> gnutls-error. So digging into the source
> code, here is the error signal:
>
> src/gnutls.c:1511
>
> if (verify_error_all
> || !NILP (Fmember (QCgnutls_bootprop_trustfiles, verify_error)))
> {
> emacs_gnutls_deinit (proc);
> error ("Certificate validation failed %s, verification code %u",
> c_hostname, peer_verification);
> }
>
> After checking elisp manual and source code, function Fformat(error call
> it to format string) does not
> support '%u', here should using '%d' instead.
>
> I made a simple patch for this:
Thanks. I used %x instead of %d in the change I just pushed, because
the peer_verification value is actually a bitwise OR of the various
bits, so displaying it in hex will make its interpretation easier.
With that, I'm marking this bug done.