Peter P. wrote ...

> When sending encrypted mail from mutt using gpg I do get the following
> error message from gpg:
> 
> gpg: DBG: syscall(getrandom) not supported; errno = 38
> 
> The mail is sent nevertheless, but I am wondering why the error message
> is there. A quick online search did not bring up something and I was
> womdering if this list could help me, or tell me where to ask next.

Came across that message somewhere else, investigated and decided to
share as your question shows up when searching it in the net, but no
explanations.

Executive summary: It's harmless, and it will go away in the future.

Full story: A while ago, the kernel learned a new syscall "getrandom"
that eases access to random data, something always needed when
dealing with cryptography. The gpg programm uses the libgcrypt library
which tries to use that syscall first, which is a good thing. Upon
failure, it emits that warning, and falls back to the old style of
gaining random data. Which is not perfect but it worked the last
years.

Code:
http://sources.debian.net/src/libgcrypt20/1.7.1-2/random/rndlinux.c/#L239

That syscall was introduced around kernel 3.16 but the Debian jessie
kernel appearently does not have it yet. The change in libgcrypt was
after 1.6.3 (as in Debian jessie) and at 1.7.2 (as in Debian stretch)
the latest. I can trigger the message in Debian by running gpg on a
jessie kernel (3.16) inside a stretch chroot.

As soon as you'll switch to a newer kernel, libgcrypt will be happy
again.

    Christoph

Reply via email to