Pull Request (patch libgcrypt)

Antonio Harres tom.mharres at gmail.com
Fri Aug 21 02:05:37 CEST 2020


I will also attach gdb's output, here my program is called tool.c. When it
attempts to initialize libcurl, it changes errno to ENOENT because of
/etc/gcrypt/fips_enabled, this also changes errno attached to libcurl,
which, in turn, makes my program exit with an "FIle/ directory not found
message".
I almost forgot, answering your previous question:
No, I am not under the impression that libgcrypt may not change errno when
I call any arbitrary function, but that this specific circumstance differs
from the documented behaviour by not considering /etc/gcrypt/fips_enabled
*may* not exist.
Also, my setup doesn't have neither files that gcrypt tries to open to
check fips mode, which is the debian default configuration.

Breakpoint 2, main (argc=1, argv=0x7fffffffe128) at tool.c:656
656             if ( curl_global_init(CURL_GLOBAL_ALL) != 0 ) { // init
libcurl
(gdb) watch *errno_p
Hardware watchpoint 3: *errno_p
(gdb) c
Continuing.

Hardware watchpoint 3: *errno_p

Old value = 0
New value = 2
0x00007ffff7e0171c in __access (file=0x7ffff76c335b
"/etc/gcrypt/fips_enabled", type=0) at
../sysdeps/unix/sysv/linux/access.c:27
27      ../sysdeps/unix/sysv/linux/access.c: No such file or directory.
(gdb) bt
#0  0x00007ffff7e0171c in __access (file=0x7ffff76c335b
"/etc/gcrypt/fips_enabled", type=0)
    at ../sysdeps/unix/sysv/linux/access.c:27
#1  0x00007ffff760024e in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.20
#2  0x00007ffff75f88ea in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.20
#3  0x00007ffff75f9a5f in ?? () from /lib/x86_64-linux-gnu/libgcrypt.so.20
#4  0x00007ffff75f5789 in gcry_control () from
/lib/x86_64-linux-gnu/libgcrypt.so.20
#5  0x00007ffff7c76794 in libssh2_init () from
/lib/x86_64-linux-gnu/libssh2.so.1
#6  0x00007ffff7f428fb in ?? () from
/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#7  0x00007ffff7f032d7 in ?? () from
/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
#8  0x0000555555556110 in main (argc=1, argv=0x7fffffffe128) at tool.c:656
(gdb)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gcrypt-devel/attachments/20200820/1422af4d/attachment.html>


More information about the Gcrypt-devel mailing list