Gpgme_op_sign(..., GPGME_SIG_MODE_CLEAR) output limited to ~20757 with callback data buffers.
marcus.brinkmann at ruhr-uni-bochum.de
Sun Feb 21 01:03:41 CET 2010
Uldis.Ansmits at tieto.com wrote:
> I noticed an unexpected signing behaviour for large files when using plain and crypto callback buffers.
> This happens only in GPGME_SIG_MODE_CLEAR mode. All other operations work fine.
> The same problem also with gpgme_op_sign_start/wait.
> It looks like write callback is called after all reading is done. But only part of clearsign data is written. Depending on OS I got 2 - 7 write callbacks (different PIPE_BUF sizes) with total 20751 - 20757 written.
> Tested on x86_64, IA64, powerpc, sparc. GCC42 was used everywhere.
> To reproduce:
> * plain and crypto callback data buffers must be used
> * only signing opration in GPGME_SIG_MODE_CLEAR mode
> * plain data more than 20757 bytes
thanks for the report. It would help me a lot if you could send me an
isolated test case, that means a small C program and a data set that, for
which you can see the bug. Then I can very quickly see if I can reproduce it
and if yes, I should be able to figure out the problem quickly.
Also, independent of that, sending a GPGME_DEBUG=9 output file that shows the
bug could be helpful.
More information about the Gnupg-devel