gpgme error no data for op_verify

Josselin Jacquard josselin.jacquard at gmail.com
Mon Oct 26 00:36:53 CET 2009


Ok I found that the gpgme engine is set to gpg for my system.
I set it explicitely to gpg2 and now it's working using
gpgme_set_engine_info(GPGME_PROTOCOL_OpenPGP, "/usr/bin/gpg2", NULL))
Should this work on Mac too ?

Does someone now how to change the gpgme lib to use gpg2 by default on my
system (archlinux)

Bye

2009/10/23 Josselin Jacquard <josselin.jacquard at gmail.com>

> I've working on my problem, and the data allocation seem solved. (Or maybe
> it never appeared and I misjudge the debug info)
>
> Now it's the gpg engine which throws a no data error. I've got this gpgme
> debug output, can someone ather information from it (I myself don't
> understand it quite well).
>
> For information, before this op_verify call, my program is making calls for
> keys and web of trust management without problems.
>
> Thx in advance.
>
> _gpgme_io_pipe (filedes=0xa2a632c): enter: inherit_idx=1 (GPGME uses it for
> reading)
> _gpgme_io_pipe (filedes=0xa2a632c): leave: read=0x6, write=0x7
> _gpgme_io_set_close_notify (fd=0x6): enter:
> close_handler=0xb7e7722c/0xa2a6318
> _gpgme_io_set_close_notify (fd=0x6): leave: result=0
> _gpgme_io_set_close_notify (fd=0x7): enter:
> close_handler=0xb7e7722c/0xa2a6318
> _gpgme_io_set_close_notify (fd=0x7): leave: result=0
> _gpgme_io_pipe (filedes=0xbfd2e1c8): enter: inherit_idx=0 (GPGME uses it
> for writing)
> _gpgme_io_pipe (filedes=0xbfd2e1c8): leave: read=0x8, write=0x9
> _gpgme_io_set_close_notify (fd=0x8): enter:
> close_handler=0xb7e7722c/0xa2a6318
> _gpgme_io_set_close_notify (fd=0x8): leave: result=0
> _gpgme_io_set_close_notify (fd=0x9): enter:
> close_handler=0xb7e7722c/0xa2a6318
> _gpgme_io_set_close_notify (fd=0x9): leave: result=0
> _gpgme_io_pipe (filedes=0xbfd2e1c8): enter: inherit_idx=0 (GPGME uses it
> for writing)
> _gpgme_io_pipe (filedes=0xbfd2e1c8): leave: read=0xb, write=0xc
> _gpgme_io_set_close_notify (fd=0xb): enter:
> close_handler=0xb7e7722c/0xa2a6318
> _gpgme_io_set_close_notify (fd=0xb): leave: result=0
> _gpgme_io_set_close_notify (fd=0xc): enter:
> close_handler=0xb7e7722c/0xa2a6318
> _gpgme_io_set_close_notify (fd=0xc): leave: result=0
> _gpgme_io_spawn (path=0xa286c30): enter: path=/usr/bin/gpg
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 0] = gpg
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 1] =
> --enable-special-filenames
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 2] = --use-agent
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 3] = --batch
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 4] = --no-sk-comment
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 5] = --lc-messages
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 6] = fr_FR.UTF-8
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 7] = --lc-ctype
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 8] = fr_FR.UTF-8
> _gpgme_io_spawn (path=0xa286c30): check: argv[ 9] = --status-fd
> _gpgme_io_spawn (path=0xa286c30): check: argv[10] = 7
> _gpgme_io_spawn (path=0xa286c30): check: argv[11] = --no-tty
> _gpgme_io_spawn (path=0xa286c30): check: argv[12] = --charset
> _gpgme_io_spawn (path=0xa286c30): check: argv[13] = utf8
> _gpgme_io_spawn (path=0xa286c30): check: argv[14] =
> --enable-progress-filter
> _gpgme_io_spawn (path=0xa286c30): check: argv[15] = --display
> _gpgme_io_spawn (path=0xa286c30): check: argv[16] = :0.0
> _gpgme_io_spawn (path=0xa286c30): check: argv[17] = --verify
> _gpgme_io_spawn (path=0xa286c30): check: argv[18] = --
> _gpgme_io_spawn (path=0xa286c30): check: argv[19] = -&8
> _gpgme_io_spawn (path=0xa286c30): check: argv[20] = -&11
> _gpgme_io_spawn (path=0xa286c30): check: fd[0] = 0x7
> _gpgme_io_spawn (path=0xa286c30): check: fd[1] = 0x8
> _gpgme_io_spawn (path=0xa286c30): check: fd[2] = 0xb
> gpgme:max_fds (((void *)0)=0x0): call: max fds=1024 (RLIMIT_NOFILE)
> _gpgme_io_spawn (path=0xa286c30): check: waiting for child process
> pid=22801
> _gpgme_io_close (fd=0x7): enter
> _gpgme_io_close (fd=0x7): check: invoking close handler
> 0xb7e7722c/0xa2a6318
> _gpgme_io_close (fd=0x7): leave: result=0
> _gpgme_io_close (fd=0x8): enter
> _gpgme_io_close (fd=0x8): check: invoking close handler
> 0xb7e7722c/0xa2a6318
> _gpgme_io_close (fd=0x8): leave: result=0
> _gpgme_io_close (fd=0xb): enter
> _gpgme_io_close (fd=0xb): check: invoking close handler
> 0xb7e7722c/0xa2a6318
> _gpgme_io_close (fd=0xb): leave: result=0
> _gpgme_io_spawn (path=0xa286c30): leave: result=0
> _gpgme_add_io_cb (ctx=0xa285d48): call: fd 6, dir=1 -> tag=0xa286c20
> _gpgme_add_io_cb (ctx=0xa285d48): call: fd 9, dir=0 -> tag=0xa2a6400
> _gpgme_io_set_nonblocking (fd=0x9): enter
> _gpgme_io_set_nonblocking (fd=0x9): leave: result=0
> _gpgme_add_io_cb (ctx=0xa285d48): call: fd 12, dir=0 -> tag=0xa2a6428
> _gpgme_io_set_nonblocking (fd=0xc): enter
> _gpgme_io_set_nonblocking (fd=0xc): leave: result=0
> gpgme:gpg_io_event (gpg=0xa2a6318): call: event 0xb7e6bb9c, type 0,
> type_data (nil)
>
> 2009/10/22 Josselin Jacquard <josselin.jacquard at gmail.com>
>
> Hi,
>> I've got a bug and I can't find the solution.
>>
>> I'm calling gpgme_op_verify with a non empty signature and a non empty
>> plain text, but the gpgme returns a no data error.
>>
>> It looks like when debugging that the _gpgme_op_data_lookup return this
>> error (called by _gpgme_op_verify_init_result)
>>
>> The line 48 - 49 throws the error :
>>
>> data = calloc (1, sizeof (struct ctx_op_data) + size);
>>
>> if (!data)
>>
>>
>> data is initialized by
>> *data = ctx->op_data
>>
>> It looks like data is always null pointer during my debugs.
>>
>>
>> Thanks in advance,
>>
>>
>> Joss
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20091026/ffa32b79/attachment.htm>


More information about the Gnupg-users mailing list