<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, May 18, 2018 at 5:58 AM, Werner Koch <span dir="ltr"><<a href="mailto:wk@gnupg.org" target="_blank">wk@gnupg.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><br><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px">Here you show the result of the start operation which is usuallay<br>success.  What you need to check here instead is STAT as returned by<div class="gmail_extra"><div class="gmail_quote">gpgme_wait.</div></div></blockquote><br><div class="gmail_extra"><div class="gmail_quote">Thanks for that! I just fixed that and now the error I get the second time I upload is the "NO_DATA" error (which is reasonable as it decrypts anyways with no data), Again the file that is obtained through the upload can still be decrypted via the command line just fine.</div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote><br><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote">Is there a reason why you use the asynchronous operaions and not the</div></div><div class="gmail_extra"><div class="gmail_quote">synchronous?  Your code would not work with multiple threads because</div></div><div class="gmail_extra"><div class="gmail_quote">gpgme_wait may only be called by one thread.</div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote><br><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote>The only reason I have it as asynchronous would be because the file that is being decrypted is then unzipped and its contents loaded elsewhere - but rather than using a library (as of current), I just called a system() to execute the zip and without this.<br><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><br><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote">gpgme has a function to figure this out:</div></div><div class="gmail_extra"><div class="gmail_quote"><br></div></div><div class="gmail_extra"><div class="gmail_quote">  /* Get the information about the configured engines.  A pointer to the</div></div><div class="gmail_extra"><div class="gmail_quote">   * first engine in the statically allocated linked list is returned.</div></div><div class="gmail_extra"><div class="gmail_quote">   * The returned data is valid until the next gpgme_ctx_set_engine_info.  */</div></div><div class="gmail_extra"><div class="gmail_quote">  gpgme_engine_info_t gpgme_ctx_get_engine_info (gpgme_ctx_t ctx);</div><div class="gmail_quote"><br></div></div></blockquote>With this I can confirm its using 2.0.22.<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0.8ex;border-left:1px solid rgb(204,204,204);border-right:1px solid rgb(204,204,204);padding-left:1ex;padding-right:1ex"></blockquote></div></div><div><br></div><div>Cheers,</div><div>Randy</div></div>