2010-05-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Require libgpg-error 1.8. src/ 2010-05-06 Marcus Brinkmann <marcus@g10code.de> * sign.c, data-user.c, conversion.c, debug.c, verify.c, data.c, decrypt.c, delete.c, assuan-support.c, import.c, engine-gpgsm.c, data-mem.c, op-support.c, w32-io.c, w32-util.c, data-compat.c: Use gpg_error_from_syserror instead gpg_error_from_errno, and use gpg_err_set_errno to set error number. * setenv.c: Include <gpg-error.h> and define __set_errno to use gpg_err_set_errno. * gpgme-tool.c (ARGP_ERR_UNKNOWN): Define to EDEADLOCK (which is mapped in Windows CE) instead of E2BIG (which is not). (gt_import_keys): Initialize err.
This commit is contained in:
parent
dfefe1b390
commit
749325d6c1
@ -1,3 +1,7 @@
|
||||
2010-05-06 Marcus Brinkmann <marcus@g10code.de>
|
||||
|
||||
* configure.ac: Require libgpg-error 1.8.
|
||||
|
||||
2010-03-15 Werner Koch <wk@g10code.com>
|
||||
|
||||
* configure.ac (emacs_local_vars_begin)
|
||||
|
2
README
2
README
@ -41,7 +41,7 @@ Check that you have unmodified sources. See below on how to do this.
|
||||
Don't skip it - this is an important step!
|
||||
|
||||
To build GPGME, you need to install libgpg-error. You need at least
|
||||
libgpg-error 0.5.
|
||||
libgpg-error 1.8.
|
||||
|
||||
For support of the OpenPGP protocol (default), you should use the
|
||||
latest version of GnuPG 1.2 or 1.4, available at:
|
||||
|
@ -283,7 +283,7 @@ if test "$ac_cv_func_timegm" != yes; then
|
||||
fi
|
||||
|
||||
# Checking for libgpg-error.
|
||||
AM_PATH_GPG_ERROR(1.4,, AC_MSG_ERROR([libgpg-error was not found]))
|
||||
AM_PATH_GPG_ERROR(1.8,, AC_MSG_ERROR([libgpg-error was not found]))
|
||||
AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GPGME,
|
||||
[The default error source for GPGME.])
|
||||
|
||||
|
@ -77,7 +77,7 @@ my_recvmsg (assuan_context_t ctx, assuan_fd_t fd, assuan_msghdr_t msg,
|
||||
int flags)
|
||||
{
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
errno = ENOSYS;
|
||||
gpg_err_set_errno (ENOSYS);
|
||||
return -1;
|
||||
#else
|
||||
return _gpgme_io_recvmsg (fd, msg, flags);
|
||||
@ -91,7 +91,7 @@ my_sendmsg (assuan_context_t ctx, assuan_fd_t fd, const assuan_msghdr_t msg,
|
||||
int flags)
|
||||
{
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
errno = ENOSYS;
|
||||
gpg_err_set_errno (ENOSYS);
|
||||
return -1;
|
||||
#else
|
||||
return _gpgme_io_sendmsg (fd, msg, flags);
|
||||
@ -118,7 +118,7 @@ my_spawn (assuan_context_t ctx, pid_t *r_pid, const char *name,
|
||||
|
||||
if (! name)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
gpg_err_set_errno (ENOSYS);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -203,7 +203,7 @@ my_socketpair (assuan_context_t ctx, int namespace, int style,
|
||||
int protocol, assuan_fd_t filedes[2])
|
||||
{
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
errno = ENOSYS;
|
||||
gpg_err_set_errno (ENOSYS);
|
||||
return -1;
|
||||
#else
|
||||
/* FIXME: Debug output missing. */
|
||||
|
@ -93,7 +93,7 @@ _gpgme_decode_c_string (const char *src, char **destp, size_t len)
|
||||
string. */
|
||||
dest = malloc (strlen (src) + 1);
|
||||
if (!dest)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
*destp = dest;
|
||||
}
|
||||
@ -198,7 +198,7 @@ _gpgme_decode_percent_string (const char *src, char **destp, size_t len,
|
||||
string. */
|
||||
dest = malloc (strlen (src) + 1);
|
||||
if (!dest)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
*destp = dest;
|
||||
}
|
||||
@ -291,7 +291,7 @@ _gpgme_encode_percent_string (const char *src, char **destp, size_t len)
|
||||
string. */
|
||||
dest = malloc (destlen);
|
||||
if (!dest)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
*destp = dest;
|
||||
}
|
||||
|
@ -158,7 +158,7 @@ gpgme_error_to_errno (gpgme_error_t err)
|
||||
TRACE3 (DEBUG_DATA, "gpgme:gpgme_error_to_errno", 0,
|
||||
"mapping %s <%s> to: %s", gpgme_strerror (err),
|
||||
gpgme_strsource (err), strerror (res));
|
||||
errno = res;
|
||||
gpg_err_set_errno (res);
|
||||
return res ? -1 : 0;
|
||||
}
|
||||
|
||||
@ -188,7 +188,7 @@ old_user_seek (gpgme_data_t dh, off_t offset, int whence)
|
||||
|
||||
if (whence != SEEK_SET || offset)
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
err = (*dh->data.old_user.cb) (dh->data.old_user.handle, NULL, 0, NULL);
|
||||
|
@ -115,7 +115,7 @@ mem_seek (gpgme_data_t dh, off_t offset, int whence)
|
||||
case SEEK_SET:
|
||||
if (offset < 0 || offset > dh->data.mem.length)
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
dh->data.mem.offset = offset;
|
||||
@ -124,7 +124,7 @@ mem_seek (gpgme_data_t dh, off_t offset, int whence)
|
||||
if ((offset > 0 && dh->data.mem.length - dh->data.mem.offset < offset)
|
||||
|| (offset < 0 && dh->data.mem.offset < -offset))
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
dh->data.mem.offset += offset;
|
||||
@ -132,13 +132,13 @@ mem_seek (gpgme_data_t dh, off_t offset, int whence)
|
||||
case SEEK_END:
|
||||
if (offset > 0 || -offset > dh->data.mem.length)
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
dh->data.mem.offset = dh->data.mem.length - offset;
|
||||
break;
|
||||
default:
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
return dh->data.mem.offset;
|
||||
|
@ -34,7 +34,7 @@ user_read (gpgme_data_t dh, void *buffer, size_t size)
|
||||
{
|
||||
if (!dh->data.user.cbs->read)
|
||||
{
|
||||
errno = EBADF;
|
||||
gpg_err_set_errno (EBADF);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -47,7 +47,7 @@ user_write (gpgme_data_t dh, const void *buffer, size_t size)
|
||||
{
|
||||
if (!dh->data.user.cbs->write)
|
||||
{
|
||||
errno = EBADF;
|
||||
gpg_err_set_errno (EBADF);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ user_seek (gpgme_data_t dh, off_t offset, int whence)
|
||||
{
|
||||
if (!dh->data.user.cbs->seek)
|
||||
{
|
||||
errno = EBADF;
|
||||
gpg_err_set_errno (EBADF);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
24
src/data.c
24
src/data.c
@ -46,7 +46,7 @@ _gpgme_data_new (gpgme_data_t *r_dh, struct _gpgme_data_cbs *cbs)
|
||||
*r_dh = NULL;
|
||||
dh = calloc (1, sizeof (*dh));
|
||||
if (!dh)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
dh->cbs = cbs;
|
||||
|
||||
@ -79,12 +79,12 @@ gpgme_data_read (gpgme_data_t dh, void *buffer, size_t size)
|
||||
|
||||
if (!dh)
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
if (!dh->cbs->read)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
gpg_err_set_errno (ENOSYS);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
do
|
||||
@ -107,12 +107,12 @@ gpgme_data_write (gpgme_data_t dh, const void *buffer, size_t size)
|
||||
|
||||
if (!dh)
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
if (!dh->cbs->write)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
gpg_err_set_errno (ENOSYS);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
do
|
||||
@ -134,12 +134,12 @@ gpgme_data_seek (gpgme_data_t dh, off_t offset, int whence)
|
||||
|
||||
if (!dh)
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
if (!dh->cbs->seek)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
gpg_err_set_errno (ENOSYS);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -216,7 +216,7 @@ gpgme_data_set_file_name (gpgme_data_t dh, const char *file_name)
|
||||
{
|
||||
dh->file_name = strdup (file_name);
|
||||
if (!dh->file_name)
|
||||
return TRACE_ERR (gpg_error_from_errno (errno));
|
||||
return TRACE_ERR (gpg_error_from_syserror ());
|
||||
}
|
||||
else
|
||||
dh->file_name = 0;
|
||||
@ -257,7 +257,7 @@ _gpgme_data_inbound_handler (void *opaque, int fd)
|
||||
|
||||
buflen = _gpgme_io_read (fd, buffer, BUFFER_SIZE);
|
||||
if (buflen < 0)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
if (buflen == 0)
|
||||
{
|
||||
_gpgme_io_close (fd);
|
||||
@ -268,7 +268,7 @@ _gpgme_data_inbound_handler (void *opaque, int fd)
|
||||
{
|
||||
ssize_t amt = gpgme_data_write (dh, bufp, buflen);
|
||||
if (amt == 0 || (amt < 0 && errno != EINTR))
|
||||
return TRACE_ERR (gpg_error_from_errno (errno));
|
||||
return TRACE_ERR (gpg_error_from_syserror ());
|
||||
bufp += amt;
|
||||
buflen -= amt;
|
||||
}
|
||||
@ -290,7 +290,7 @@ _gpgme_data_outbound_handler (void *opaque, int fd)
|
||||
{
|
||||
ssize_t amt = gpgme_data_read (dh, dh->pending, BUFFER_SIZE);
|
||||
if (amt < 0)
|
||||
return TRACE_ERR (gpg_error_from_errno (errno));
|
||||
return TRACE_ERR (gpg_error_from_syserror ());
|
||||
if (amt == 0)
|
||||
{
|
||||
_gpgme_io_close (fd);
|
||||
@ -314,7 +314,7 @@ _gpgme_data_outbound_handler (void *opaque, int fd)
|
||||
}
|
||||
|
||||
if (nwritten <= 0)
|
||||
return TRACE_ERR (gpg_error_from_errno (errno));
|
||||
return TRACE_ERR (gpg_error_from_syserror ());
|
||||
|
||||
if (nwritten < dh->pending_len)
|
||||
memmove (dh->pending, dh->pending + nwritten, dh->pending_len - nwritten);
|
||||
|
@ -231,7 +231,7 @@ _gpgme_debug (int level, const char *format, ...)
|
||||
UNLOCK (debug_lock);
|
||||
fflush (errfp);
|
||||
|
||||
errno = saved_errno;
|
||||
gpg_err_set_errno (saved_errno);
|
||||
}
|
||||
|
||||
|
||||
|
@ -126,7 +126,7 @@ parse_enc_to (char *args, gpgme_recipient_t *recp)
|
||||
|
||||
rec = malloc (sizeof (*rec));
|
||||
if (!rec)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
rec->next = NULL;
|
||||
rec->keyid = rec->_keyid;
|
||||
@ -153,7 +153,7 @@ parse_enc_to (char *args, gpgme_recipient_t *recp)
|
||||
|
||||
if (*args)
|
||||
{
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
rec->pubkey_algo = strtol (args, &tail, 0);
|
||||
if (errno || args == tail || *tail != ' ')
|
||||
{
|
||||
@ -239,7 +239,7 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code,
|
||||
{
|
||||
opd->result.unsupported_algorithm = strdup (args);
|
||||
if (!opd->result.unsupported_algorithm)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ delete_status_handler (void *priv, gpgme_status_code_t code, char *args)
|
||||
long problem;
|
||||
char *tail;
|
||||
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
problem = strtol (args, &tail, 0);
|
||||
if (errno || (*tail && *tail != ' '))
|
||||
return gpg_error (GPG_ERR_INV_ENGINE);
|
||||
|
@ -247,7 +247,7 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
|
||||
|
||||
gpgsm = calloc (1, sizeof *gpgsm);
|
||||
if (!gpgsm)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
gpgsm->status_cb.fd = -1;
|
||||
gpgsm->status_cb.dir = 1;
|
||||
@ -288,7 +288,7 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
|
||||
#if !USE_DESCRIPTOR_PASSING
|
||||
if (_gpgme_io_pipe (fds, 0) < 0)
|
||||
{
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
goto leave;
|
||||
}
|
||||
gpgsm->input_cb.fd = fds[1];
|
||||
@ -296,7 +296,7 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
|
||||
|
||||
if (_gpgme_io_pipe (fds, 1) < 0)
|
||||
{
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
goto leave;
|
||||
}
|
||||
gpgsm->output_cb.fd = fds[0];
|
||||
@ -304,7 +304,7 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
|
||||
|
||||
if (_gpgme_io_pipe (fds, 0) < 0)
|
||||
{
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
goto leave;
|
||||
}
|
||||
gpgsm->message_cb.fd = fds[1];
|
||||
@ -372,7 +372,7 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
|
||||
if (asprintf (&optstr, "OPTION display=%s", dft_display) < 0)
|
||||
{
|
||||
free (dft_display);
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
goto leave;
|
||||
}
|
||||
free (dft_display);
|
||||
@ -398,7 +398,7 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
|
||||
{
|
||||
if (asprintf (&optstr, "OPTION ttyname=%s", dft_ttyname) < 0)
|
||||
{
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
goto leave;
|
||||
}
|
||||
err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL, NULL,
|
||||
@ -415,7 +415,7 @@ gpgsm_new (void **engine, const char *file_name, const char *home_dir)
|
||||
if (asprintf (&optstr, "OPTION ttytype=%s", dft_ttytype) < 0)
|
||||
{
|
||||
free (dft_ttytype);
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
goto leave;
|
||||
}
|
||||
free (dft_ttytype);
|
||||
@ -524,7 +524,7 @@ gpgsm_set_locale (void *engine, int category, const char *value)
|
||||
return 0;
|
||||
|
||||
if (asprintf (&optstr, "OPTION %s=%s", catstr, value) < 0)
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
else
|
||||
{
|
||||
err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL,
|
||||
@ -660,7 +660,7 @@ gpgsm_set_fd (engine_gpgsm_t gpgsm, fd_type_t fd_type, const char *opt)
|
||||
int fds[2];
|
||||
|
||||
if (_gpgme_io_pipe (fds, dir) < 0)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
iocb_data->fd = dir ? fds[0] : fds[1];
|
||||
iocb_data->server_fd = dir ? fds[1] : fds[0];
|
||||
@ -832,7 +832,7 @@ status_handler (void *opaque, int fd)
|
||||
{
|
||||
char *newline = realloc (*aline, *alinelen + linelen + 1);
|
||||
if (!newline)
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
else
|
||||
{
|
||||
*aline = newline;
|
||||
@ -917,7 +917,7 @@ status_handler (void *opaque, int fd)
|
||||
if (!nwritten || (nwritten < 0 && errno != EINTR)
|
||||
|| nwritten > linelen)
|
||||
{
|
||||
err = gpg_error_from_errno (errno);
|
||||
err = gpg_error_from_syserror ();
|
||||
break;
|
||||
}
|
||||
src += nwritten;
|
||||
@ -1115,7 +1115,7 @@ gpgsm_delete (void *engine, gpgme_key_t key, int allow_secret)
|
||||
|
||||
line = malloc (length);
|
||||
if (!line)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
strcpy (line, "DELKEYS ");
|
||||
linep = &line[8];
|
||||
@ -1172,7 +1172,7 @@ set_recipients (engine_gpgsm_t gpgsm, gpgme_key_t recp[])
|
||||
linelen = 10 + 40 + 1; /* "RECIPIENT " + guess + '\0'. */
|
||||
line = malloc (10 + 40 + 1);
|
||||
if (!line)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
strcpy (line, "RECIPIENT ");
|
||||
for (i =0; !err && recp[i]; i++)
|
||||
{
|
||||
@ -1278,7 +1278,7 @@ gpgsm_export (void *engine, const char *pattern, gpgme_export_mode_t mode,
|
||||
|
||||
cmd = malloc (7 + strlen (pattern) + 1);
|
||||
if (!cmd)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
strcpy (cmd, "EXPORT ");
|
||||
strcpy (&cmd[7], pattern);
|
||||
|
||||
@ -1335,7 +1335,7 @@ gpgsm_export_ext (void *engine, const char *pattern[], gpgme_export_mode_t mode,
|
||||
}
|
||||
line = malloc (length);
|
||||
if (!line)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
strcpy (line, "EXPORT ");
|
||||
linep = &line[7];
|
||||
@ -1552,7 +1552,7 @@ gpgsm_keylist (void *engine, const char *pattern, int secret_only,
|
||||
|
||||
/* Always send list-mode option because RESET does not reset it. */
|
||||
if (asprintf (&line, "OPTION list-mode=%d", (list_mode & 3)) < 0)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, line, NULL, NULL);
|
||||
free (line);
|
||||
if (err)
|
||||
@ -1580,7 +1580,7 @@ gpgsm_keylist (void *engine, const char *pattern, int secret_only,
|
||||
/* Length is "LISTSECRETKEYS " + p + '\0'. */
|
||||
line = malloc (15 + strlen (pattern) + 1);
|
||||
if (!line)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
if (secret_only)
|
||||
{
|
||||
strcpy (line, "LISTSECRETKEYS ");
|
||||
@ -1626,7 +1626,7 @@ gpgsm_keylist_ext (void *engine, const char *pattern[], int secret_only,
|
||||
|
||||
/* Always send list-mode option because RESET does not reset it. */
|
||||
if (asprintf (&line, "OPTION list-mode=%d", (list_mode & 3)) < 0)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, line, NULL, NULL);
|
||||
free (line);
|
||||
if (err)
|
||||
@ -1663,7 +1663,7 @@ gpgsm_keylist_ext (void *engine, const char *pattern[], int secret_only,
|
||||
}
|
||||
line = malloc (length);
|
||||
if (!line)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
if (secret_only)
|
||||
{
|
||||
strcpy (line, "LISTSECRETKEYS ");
|
||||
@ -1749,7 +1749,7 @@ gpgsm_sign (void *engine, gpgme_data_t in, gpgme_data_t out,
|
||||
requested. */
|
||||
|
||||
if (asprintf (&assuan_cmd, "OPTION include-certs %i", include_certs) < 0)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, assuan_cmd,
|
||||
NULL, NULL);
|
||||
free (assuan_cmd);
|
||||
|
@ -107,7 +107,7 @@ struct argp_state
|
||||
void *pstate;
|
||||
};
|
||||
|
||||
#define ARGP_ERR_UNKNOWN E2BIG
|
||||
#define ARGP_ERR_UNKNOWN EDEADLOCK
|
||||
#define ARGP_KEY_ARG 0
|
||||
#define ARGP_KEY_ARGS 0x1000006
|
||||
#define ARGP_KEY_END 0x1000001
|
||||
@ -1651,7 +1651,7 @@ gt_genkey (gpgme_tool_t gt, const char *parms, gpgme_data_t public,
|
||||
gpg_error_t
|
||||
gt_import_keys (gpgme_tool_t gt, char *fpr[])
|
||||
{
|
||||
gpg_error_t err;
|
||||
gpg_error_t err = 0;
|
||||
int cnt;
|
||||
int idx;
|
||||
gpgme_key_t *keys;
|
||||
|
@ -121,10 +121,10 @@ parse_import (char *args, gpgme_import_status_t *import_status, int problem)
|
||||
|
||||
import = malloc (sizeof (*import));
|
||||
if (!import)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
import->next = NULL;
|
||||
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
nr = strtol (args, &tail, 0);
|
||||
if (errno || args == tail || *tail != ' ')
|
||||
{
|
||||
@ -189,7 +189,7 @@ parse_import_res (char *args, gpgme_import_result_t result)
|
||||
{
|
||||
char *tail;
|
||||
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
|
||||
#define PARSE_NEXT(x) \
|
||||
(x) = strtol (args, &tail, 0); \
|
||||
|
@ -182,7 +182,7 @@ _gpgme_parse_inv_recp (char *args, gpgme_invalid_key_t *key)
|
||||
if (!inv_key)
|
||||
return gpg_error_from_errno (errno);
|
||||
inv_key->next = NULL;
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
reason = strtol (args, &tail, 0);
|
||||
if (errno || args == tail || (*tail && *tail != ' '))
|
||||
{
|
||||
@ -299,7 +299,7 @@ _gpgme_parse_plaintext (char *args, char **filenamep)
|
||||
{
|
||||
char *filename = strdup (args);
|
||||
if (!filename)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
*filenamep = filename;
|
||||
}
|
||||
|
@ -20,6 +20,9 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <gpg-error.h>
|
||||
#define __set_errno(ev) (gpg_err_set_errno (ev))
|
||||
|
||||
#if HAVE_ASSUAN_H
|
||||
/* Fixme: Why do we need to include the assuan header and why the
|
||||
internal ones? */
|
||||
@ -29,12 +32,6 @@
|
||||
#define __builtin_expect(cond,val) (cond)
|
||||
|
||||
#include <errno.h>
|
||||
#if !_LIBC
|
||||
# if !defined errno && !defined HAVE_ERRNO_DECL
|
||||
extern int errno;
|
||||
# endif
|
||||
# define __set_errno(ev) ((errno) = (ev))
|
||||
#endif
|
||||
|
||||
#if _LIBC || HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
|
@ -149,7 +149,7 @@ parse_sig_created (char *args, gpgme_new_signature_t *sigp)
|
||||
|
||||
sig = malloc (sizeof (*sig));
|
||||
if (!sig)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
sig->next = NULL;
|
||||
switch (*args)
|
||||
@ -179,7 +179,7 @@ parse_sig_created (char *args, gpgme_new_signature_t *sigp)
|
||||
return gpg_error (GPG_ERR_INV_ENGINE);
|
||||
}
|
||||
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
sig->pubkey_algo = strtol (args, &tail, 0);
|
||||
if (errno || args == tail || *tail != ' ')
|
||||
{
|
||||
|
18
src/verify.c
18
src/verify.c
@ -227,7 +227,7 @@ prepare_new_sig (op_data_t opd)
|
||||
{
|
||||
sig = calloc (1, sizeof (*sig));
|
||||
if (!sig)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
if (!opd->result.signatures)
|
||||
opd->result.signatures = sig;
|
||||
if (opd->current_sig)
|
||||
@ -293,7 +293,7 @@ parse_new_sig (op_data_t opd, gpgme_status_code_t code, char *args)
|
||||
/* Parse the pubkey algo. */
|
||||
if (!end)
|
||||
goto parse_err_sig_fail;
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
sig->pubkey_algo = strtol (end, &tail, 0);
|
||||
if (errno || end == tail || *tail != ' ')
|
||||
goto parse_err_sig_fail;
|
||||
@ -304,7 +304,7 @@ parse_new_sig (op_data_t opd, gpgme_status_code_t code, char *args)
|
||||
/* Parse the hash algo. */
|
||||
if (!*end)
|
||||
goto parse_err_sig_fail;
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
sig->hash_algo = strtol (end, &tail, 0);
|
||||
if (errno || end == tail || *tail != ' ')
|
||||
goto parse_err_sig_fail;
|
||||
@ -362,7 +362,7 @@ parse_new_sig (op_data_t opd, gpgme_status_code_t code, char *args)
|
||||
{
|
||||
sig->fpr = strdup (args);
|
||||
if (!sig->fpr)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -386,7 +386,7 @@ parse_valid_sig (gpgme_signature_t sig, char *args)
|
||||
free (sig->fpr);
|
||||
sig->fpr = strdup (args);
|
||||
if (!sig->fpr)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
|
||||
/* Skip the creation date. */
|
||||
end = strchr (end, ' ');
|
||||
@ -418,7 +418,7 @@ parse_valid_sig (gpgme_signature_t sig, char *args)
|
||||
if (end)
|
||||
{
|
||||
/* Parse the pubkey algo. */
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
sig->pubkey_algo = strtol (end, &tail, 0);
|
||||
if (errno || end == tail || *tail != ' ')
|
||||
return gpg_error (GPG_ERR_INV_ENGINE);
|
||||
@ -431,7 +431,7 @@ parse_valid_sig (gpgme_signature_t sig, char *args)
|
||||
{
|
||||
/* Parse the hash algo. */
|
||||
|
||||
errno = 0;
|
||||
gpg_err_set_errno (0);
|
||||
sig->hash_algo = strtol (end, &tail, 0);
|
||||
if (errno || end == tail || *tail != ' ')
|
||||
return gpg_error (GPG_ERR_INV_ENGINE);
|
||||
@ -526,14 +526,14 @@ parse_notation (gpgme_signature_t sig, gpgme_status_code_t code, char *args)
|
||||
{
|
||||
dest = notation->value = malloc (len);
|
||||
if (!dest)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
}
|
||||
else
|
||||
{
|
||||
int cur_len = strlen (notation->value);
|
||||
dest = realloc (notation->value, len + strlen (notation->value));
|
||||
if (!dest)
|
||||
return gpg_error_from_errno (errno);
|
||||
return gpg_error_from_syserror ();
|
||||
notation->value = dest;
|
||||
dest += cur_len;
|
||||
}
|
||||
|
52
src/w32-io.c
52
src/w32-io.c
@ -166,7 +166,7 @@ set_synchronize (HANDLE hd)
|
||||
TRACE1 (DEBUG_SYSIO, "gpgme:set_synchronize", hd,
|
||||
"DuplicateHandle failed: ec=%d", (int) GetLastError ());
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
|
||||
@ -492,7 +492,7 @@ _gpgme_io_read (int fd, void *buffer, size_t count)
|
||||
ctx = find_reader (fd, 1);
|
||||
if (!ctx)
|
||||
{
|
||||
errno = EBADF;
|
||||
gpg_err_set_errno (EBADF);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
if (ctx->eof_shortcut)
|
||||
@ -520,7 +520,7 @@ _gpgme_io_read (int fd, void *buffer, size_t count)
|
||||
TRACE_LOG ("EOF but ctx->eof flag not set");
|
||||
return 0;
|
||||
}
|
||||
errno = ctx->error_code;
|
||||
gpg_err_set_errno (ctx->error_code);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -538,7 +538,7 @@ _gpgme_io_read (int fd, void *buffer, size_t count)
|
||||
TRACE_LOG1 ("ResetEvent failed: ec=%d", (int) GetLastError ());
|
||||
UNLOCK (ctx->mutex);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
}
|
||||
@ -548,7 +548,7 @@ _gpgme_io_read (int fd, void *buffer, size_t count)
|
||||
ctx->have_space_ev, (int) GetLastError ());
|
||||
UNLOCK (ctx->mutex);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
UNLOCK (ctx->mutex);
|
||||
@ -837,7 +837,7 @@ _gpgme_io_write (int fd, const void *buffer, size_t count)
|
||||
TRACE_LOG1 ("ResetEvent failed: ec=%d", (int) GetLastError ());
|
||||
UNLOCK (ctx->mutex);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
UNLOCK (ctx->mutex);
|
||||
@ -851,9 +851,9 @@ _gpgme_io_write (int fd, const void *buffer, size_t count)
|
||||
{
|
||||
UNLOCK (ctx->mutex);
|
||||
if (ctx->error_code == ERROR_NO_DATA)
|
||||
errno = EPIPE;
|
||||
gpg_err_set_errno (EPIPE);
|
||||
else
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -873,7 +873,7 @@ _gpgme_io_write (int fd, const void *buffer, size_t count)
|
||||
TRACE_LOG1 ("ResetEvent failed: ec=%d", (int) GetLastError ());
|
||||
UNLOCK (ctx->mutex);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
if (!SetEvent (ctx->have_data))
|
||||
@ -881,7 +881,7 @@ _gpgme_io_write (int fd, const void *buffer, size_t count)
|
||||
TRACE_LOG1 ("SetEvent failed: ec=%d", (int) GetLastError ());
|
||||
UNLOCK (ctx->mutex);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
UNLOCK (ctx->mutex);
|
||||
@ -908,7 +908,7 @@ _gpgme_io_pipe (int filedes[2], int inherit_idx)
|
||||
{
|
||||
TRACE_LOG1 ("CreatePipe failed: ec=%d", (int) GetLastError ());
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -926,7 +926,7 @@ _gpgme_io_pipe (int filedes[2], int inherit_idx)
|
||||
CloseHandle (rh);
|
||||
CloseHandle (wh);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
CloseHandle (rh);
|
||||
@ -940,7 +940,7 @@ _gpgme_io_pipe (int filedes[2], int inherit_idx)
|
||||
CloseHandle (rh);
|
||||
CloseHandle (wh);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
}
|
||||
@ -957,7 +957,7 @@ _gpgme_io_pipe (int filedes[2], int inherit_idx)
|
||||
CloseHandle (rh);
|
||||
CloseHandle (wh);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
CloseHandle (wh);
|
||||
@ -971,7 +971,7 @@ _gpgme_io_pipe (int filedes[2], int inherit_idx)
|
||||
CloseHandle (rh);
|
||||
CloseHandle (wh);
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
}
|
||||
@ -992,7 +992,7 @@ _gpgme_io_close (int fd)
|
||||
|
||||
if (fd == -1)
|
||||
{
|
||||
errno = EBADF;
|
||||
gpg_err_set_errno (EBADF);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -1019,7 +1019,7 @@ _gpgme_io_close (int fd)
|
||||
{
|
||||
TRACE_LOG1 ("CloseHandle failed: ec=%d", (int) GetLastError ());
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -1048,7 +1048,7 @@ _gpgme_io_set_close_notify (int fd, _gpgme_close_notify_handler_t handler,
|
||||
if (i == DIM (notify_table))
|
||||
{
|
||||
UNLOCK (notify_table_lock);
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
notify_table[i].fd = fd;
|
||||
@ -1215,7 +1215,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
|
||||
DeleteFile (tmp_name);
|
||||
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -1245,7 +1245,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
|
||||
DeleteFile (tmp_name);
|
||||
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
/* Return the child name of this handle. */
|
||||
@ -1380,7 +1380,7 @@ _gpgme_io_select (struct io_select_fd_s *fds, size_t nfds, int nonblock)
|
||||
TRACE_END (dbg_help, "oops ]");
|
||||
TRACE_LOG ("Too many objects for WFMO!");
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
waitidx[nwait] = i;
|
||||
@ -1403,7 +1403,7 @@ _gpgme_io_select (struct io_select_fd_s *fds, size_t nfds, int nonblock)
|
||||
TRACE_END (dbg_help, "oops ]");
|
||||
TRACE_LOG ("Too many objects for WFMO!");
|
||||
/* FIXME: Should translate the error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
waitidx[nwait] = i;
|
||||
@ -1492,7 +1492,7 @@ _gpgme_io_select (struct io_select_fd_s *fds, size_t nfds, int nonblock)
|
||||
if (count < 0)
|
||||
{
|
||||
/* FIXME: Should determine a proper error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
}
|
||||
|
||||
return TRACE_SYSRES (count);
|
||||
@ -1533,7 +1533,7 @@ _gpgme_io_dup (int fd)
|
||||
{
|
||||
TRACE_LOG1 ("DuplicateHandle failed: ec=%d\n", (int) GetLastError ());
|
||||
/* FIXME: Translate error code. */
|
||||
errno = EIO;
|
||||
gpg_err_set_errno (EIO);
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -1627,7 +1627,7 @@ _gpgme_io_socket (int domain, int type, int proto)
|
||||
res = socket (domain, type, proto);
|
||||
if (res == INVALID_SOCKET)
|
||||
{
|
||||
errno = wsa2errno (WSAGetLastError ());
|
||||
gpg_err_set_errno (wsa2errno (WSAGetLastError ()));
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
@ -1648,7 +1648,7 @@ _gpgme_io_connect (int fd, struct sockaddr *addr, int addrlen)
|
||||
res = connect (fd, addr, addrlen);
|
||||
if (res)
|
||||
{
|
||||
errno = wsa2errno (WSAGetLastError ());
|
||||
gpg_err_set_errno (wsa2errno (WSAGetLastError ()));
|
||||
return TRACE_SYSRES (-1);
|
||||
}
|
||||
|
||||
|
@ -524,7 +524,7 @@ mkstemp (char *tmpl)
|
||||
len = strlen (tmpl);
|
||||
if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX"))
|
||||
{
|
||||
errno = EINVAL;
|
||||
gpg_err_set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -561,7 +561,7 @@ mkstemp (char *tmpl)
|
||||
fd = open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
|
||||
if (fd >= 0)
|
||||
{
|
||||
errno = save_errno;
|
||||
gpg_err_set_errno (save_errno);
|
||||
return fd;
|
||||
}
|
||||
else if (errno != EEXIST)
|
||||
@ -569,7 +569,7 @@ mkstemp (char *tmpl)
|
||||
}
|
||||
|
||||
/* We got out of the loop because we ran out of combinations to try. */
|
||||
errno = EEXIST;
|
||||
gpg_err_set_errno (EEXIST);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user