common: Introduce FD_DBG to display gnupg_fd_t value.

* common/sysutils.h (FD_DBG): New.
* agent/gpg-agent.c (check_nonce): Use FD_DBG.
(do_start_connection_thread, start_connection_thread_ssh): Likewise.
* common/iobuf.c (fd_cache_close, file_filter, do_open): Likewise.
(do_iobuf_fdopen): Likewise.
* dirmngr/dirmngr.c (check_nonce, start_connection_thread)
(handle_connections): Likewise.
* dirmngr/http.c (_my_socket_new, _my_socket_ref): Likewise.
(_my_socket_unref): Likewise.
* g10/decrypt.c (decrypt_message_fd): Likewise.
* g10/encrypt.c (encrypt_crypt): Likewise.
* g10/openfile.c (open_outfile): Likewise.
* g10/plaintext.c (get_output_file, hash_datafile_by_fd): Likewise.
* g10/verify.c (gpg_verify): Likewise.
* kbx/keyboxd.c (check_nonce, do_start_connection_thread): Likewise.
* scd/scdaemon.c (start_connection_thread): Likewise.
(handle_connections): Likewise.
* sm/gpgsm.c (open_es_fread, open_es_fwrite): Likewise.
* tpm2d/tpm2daemon.c (start_connection_thread): Likewise.
(handle_connections): Likewise.

--

GnuPG-bug-id: 6597
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2023-07-18 11:54:16 +09:00
parent ee9e3578ce
commit b849c930e9
No known key found for this signature in database
GPG Key ID: 640114AF89DE6054
14 changed files with 41 additions and 37 deletions

View File

@ -2569,7 +2569,7 @@ check_nonce (ctrl_t ctrl, assuan_sock_nonce_t *nonce)
if (assuan_sock_check_nonce (ctrl->thread_startup.fd, nonce)) if (assuan_sock_check_nonce (ctrl->thread_startup.fd, nonce))
{ {
log_info (_("error reading nonce on fd %d: %s\n"), log_info (_("error reading nonce on fd %d: %s\n"),
FD2INT(ctrl->thread_startup.fd), strerror (errno)); FD_DBG (ctrl->thread_startup.fd), strerror (errno));
assuan_sock_close (ctrl->thread_startup.fd); assuan_sock_close (ctrl->thread_startup.fd);
xfree (ctrl); xfree (ctrl);
return -1; return -1;
@ -2869,12 +2869,12 @@ do_start_connection_thread (ctrl_t ctrl)
agent_init_default_ctrl (ctrl); agent_init_default_ctrl (ctrl);
if (opt.verbose > 1 && !DBG_IPC) if (opt.verbose > 1 && !DBG_IPC)
log_info (_("handler 0x%lx for fd %d started\n"), log_info (_("handler 0x%lx for fd %d started\n"),
(unsigned long) npth_self(), FD2INT(ctrl->thread_startup.fd)); (unsigned long) npth_self(), FD_DBG (ctrl->thread_startup.fd));
start_command_handler (ctrl, GNUPG_INVALID_FD, ctrl->thread_startup.fd); start_command_handler (ctrl, GNUPG_INVALID_FD, ctrl->thread_startup.fd);
if (opt.verbose > 1 && !DBG_IPC) if (opt.verbose > 1 && !DBG_IPC)
log_info (_("handler 0x%lx for fd %d terminated\n"), log_info (_("handler 0x%lx for fd %d terminated\n"),
(unsigned long) npth_self(), FD2INT(ctrl->thread_startup.fd)); (unsigned long) npth_self(), FD_DBG (ctrl->thread_startup.fd));
agent_deinit_default_ctrl (ctrl); agent_deinit_default_ctrl (ctrl);
xfree (ctrl); xfree (ctrl);
@ -2949,12 +2949,12 @@ start_connection_thread_ssh (void *arg)
agent_init_default_ctrl (ctrl); agent_init_default_ctrl (ctrl);
if (opt.verbose) if (opt.verbose)
log_info (_("ssh handler 0x%lx for fd %d started\n"), log_info (_("ssh handler 0x%lx for fd %d started\n"),
(unsigned long) npth_self(), FD2INT(ctrl->thread_startup.fd)); (unsigned long) npth_self(), FD_DBG (ctrl->thread_startup.fd));
start_command_handler_ssh (ctrl, ctrl->thread_startup.fd); start_command_handler_ssh (ctrl, ctrl->thread_startup.fd);
if (opt.verbose) if (opt.verbose)
log_info (_("ssh handler 0x%lx for fd %d terminated\n"), log_info (_("ssh handler 0x%lx for fd %d terminated\n"),
(unsigned long) npth_self(), FD2INT(ctrl->thread_startup.fd)); (unsigned long) npth_self(), FD_DBG (ctrl->thread_startup.fd));
agent_deinit_default_ctrl (ctrl); agent_deinit_default_ctrl (ctrl);
xfree (ctrl); xfree (ctrl);

View File

@ -390,7 +390,7 @@ fd_cache_close (const char *fname, gnupg_fd_t fp)
close (fp); close (fp);
#endif #endif
if (DBG_IOBUF) if (DBG_IOBUF)
log_debug ("fd_cache_close (%d) real\n", (int)fp); log_debug ("fd_cache_close (%d) real\n", FD_DBG (fp));
return; return;
} }
/* try to reuse a slot */ /* try to reuse a slot */
@ -697,7 +697,7 @@ file_filter (void *opaque, int control, iobuf_t chain, byte * buf,
if (f != FD_FOR_STDIN && f != FD_FOR_STDOUT) if (f != FD_FOR_STDIN && f != FD_FOR_STDOUT)
{ {
if (DBG_IOBUF) if (DBG_IOBUF)
log_debug ("%s: close fd/handle %d\n", a->fname, FD2INT (f)); log_debug ("%s: close fd/handle %d\n", a->fname, FD_DBG (f));
if (!a->keep_open) if (!a->keep_open)
fd_cache_close (a->no_cache ? NULL : a->fname, f); fd_cache_close (a->no_cache ? NULL : a->fname, f);
} }
@ -1472,7 +1472,8 @@ do_open (const char *fname, int special_filenames,
file_filter (fcx, IOBUFCTRL_INIT, NULL, NULL, &len); file_filter (fcx, IOBUFCTRL_INIT, NULL, NULL, &len);
if (DBG_IOBUF) if (DBG_IOBUF)
log_debug ("iobuf-%d.%d: open '%s' desc=%s fd=%d\n", log_debug ("iobuf-%d.%d: open '%s' desc=%s fd=%d\n",
a->no, a->subno, fname, iobuf_desc (a, desc), FD2INT (fcx->fp)); a->no, a->subno, fname, iobuf_desc (a, desc),
FD_DBG (fcx->fp));
return a; return a;
} }
@ -1509,7 +1510,7 @@ do_iobuf_fdopen (gnupg_fd_t fp, const char *mode, int keep_open)
fcx->fp = fp; fcx->fp = fp;
fcx->print_only_name = 1; fcx->print_only_name = 1;
fcx->keep_open = keep_open; fcx->keep_open = keep_open;
sprintf (fcx->fname, "[fd %d]", (int)(intptr_t)fp); sprintf (fcx->fname, "[fd %d]", FD_DBG (fp));
a->filter = file_filter; a->filter = file_filter;
a->filter_ov = fcx; a->filter_ov = fcx;
file_filter (fcx, IOBUFCTRL_INIT, NULL, NULL, &len); file_filter (fcx, IOBUFCTRL_INIT, NULL, NULL, &len);

View File

@ -39,11 +39,13 @@ typedef void *gnupg_fd_t;
#define GNUPG_INVALID_FD ((void*)(-1)) #define GNUPG_INVALID_FD ((void*)(-1))
#define INT2FD(s) ((void *)(s)) #define INT2FD(s) ((void *)(s))
#define FD2INT(h) ((unsigned int)(h)) #define FD2INT(h) ((unsigned int)(h))
#define FD_DBG(h) ((int)(intptr_t)(h))
#else #else
typedef int gnupg_fd_t; typedef int gnupg_fd_t;
#define GNUPG_INVALID_FD (-1) #define GNUPG_INVALID_FD (-1)
#define INT2FD(s) (s) #define INT2FD(s) (s)
#define FD2INT(h) (h) #define FD2INT(h) (h)
#define FD_DBG(h) (h)
#endif #endif
#ifdef HAVE_STAT #ifdef HAVE_STAT

View File

@ -2232,7 +2232,7 @@ check_nonce (assuan_fd_t fd, assuan_sock_nonce_t *nonce)
if (assuan_sock_check_nonce (fd, nonce)) if (assuan_sock_check_nonce (fd, nonce))
{ {
log_info (_("error reading nonce on fd %d: %s\n"), log_info (_("error reading nonce on fd %d: %s\n"),
FD2INT (fd), strerror (errno)); FD_DBG (fd), strerror (errno));
assuan_sock_close (fd); assuan_sock_close (fd);
return -1; return -1;
} }
@ -2266,7 +2266,7 @@ start_connection_thread (void *arg)
active_connections++; active_connections++;
if (opt.verbose) if (opt.verbose)
log_info (_("handler for fd %d started\n"), FD2INT (fd)); log_info (_("handler for fd %d started\n"), FD_DBG (fd));
session_id = ++last_session_id; session_id = ++last_session_id;
if (!session_id) if (!session_id)
@ -2274,7 +2274,7 @@ start_connection_thread (void *arg)
start_command_handler (fd, session_id); start_command_handler (fd, session_id);
if (opt.verbose) if (opt.verbose)
log_info (_("handler for fd %d terminated\n"), FD2INT (fd)); log_info (_("handler for fd %d terminated\n"), FD_DBG (fd));
active_connections--; active_connections--;
workqueue_run_post_session_tasks (session_id); workqueue_run_post_session_tasks (session_id);
@ -2493,7 +2493,7 @@ handle_connections (assuan_fd_t listen_fd)
memset (&argval, 0, sizeof argval); memset (&argval, 0, sizeof argval);
argval.afd = fd; argval.afd = fd;
snprintf (threadname, sizeof threadname, snprintf (threadname, sizeof threadname,
"conn fd=%d", FD2INT(fd)); "conn fd=%d", FD_DBG (fd));
ret = npth_create (&thread, &tattr, ret = npth_create (&thread, &tattr,
start_connection_thread, argval.aptr); start_connection_thread, argval.aptr);

View File

@ -397,7 +397,7 @@ _my_socket_new (int lnr, assuan_fd_t fd)
so->refcount = 1; so->refcount = 1;
if (opt_debug) if (opt_debug)
log_debug ("http.c:%d:socket_new: object %p for fd %d created\n", log_debug ("http.c:%d:socket_new: object %p for fd %d created\n",
lnr, so, (int)so->fd); lnr, so, FD_DBG (so->fd));
return so; return so;
} }
#define my_socket_new(a) _my_socket_new (__LINE__, (a)) #define my_socket_new(a) _my_socket_new (__LINE__, (a))
@ -409,7 +409,7 @@ _my_socket_ref (int lnr, my_socket_t so)
so->refcount++; so->refcount++;
if (opt_debug > 1) if (opt_debug > 1)
log_debug ("http.c:%d:socket_ref: object %p for fd %d refcount now %d\n", log_debug ("http.c:%d:socket_ref: object %p for fd %d refcount now %d\n",
lnr, so, (int)so->fd, so->refcount); lnr, so, FD_DBG (so->fd), so->refcount);
return so; return so;
} }
#define my_socket_ref(a) _my_socket_ref (__LINE__,(a)) #define my_socket_ref(a) _my_socket_ref (__LINE__,(a))
@ -427,7 +427,7 @@ _my_socket_unref (int lnr, my_socket_t so,
so->refcount--; so->refcount--;
if (opt_debug > 1) if (opt_debug > 1)
log_debug ("http.c:%d:socket_unref: object %p for fd %d ref now %d\n", log_debug ("http.c:%d:socket_unref: object %p for fd %d ref now %d\n",
lnr, so, (int)so->fd, so->refcount); lnr, so, FD_DBG (so->fd), so->refcount);
if (!so->refcount) if (!so->refcount)
{ {

View File

@ -144,7 +144,7 @@ decrypt_message_fd (ctrl_t ctrl, gnupg_fd_t input_fd,
char xname[64]; char xname[64];
err = gpg_error (GPG_ERR_EPERM); err = gpg_error (GPG_ERR_EPERM);
snprintf (xname, sizeof xname, "[fd %d]", (int)(intptr_t)output_fd); snprintf (xname, sizeof xname, "[fd %d]", FD_DBG (output_fd));
log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (err)); log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (err));
iobuf_close (fp); iobuf_close (fp);
release_progress_context (pfx); release_progress_context (pfx);
@ -157,7 +157,7 @@ decrypt_message_fd (ctrl_t ctrl, gnupg_fd_t input_fd,
char xname[64]; char xname[64];
err = gpg_error_from_syserror (); err = gpg_error_from_syserror ();
snprintf (xname, sizeof xname, "[fd %d]", (int)(intptr_t)output_fd); snprintf (xname, sizeof xname, "[fd %d]", FD_DBG (output_fd));
log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (err)); log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (err));
iobuf_close (fp); iobuf_close (fp);
release_progress_context (pfx); release_progress_context (pfx);

View File

@ -842,7 +842,7 @@ encrypt_crypt (ctrl_t ctrl, gnupg_fd_t filefd, const char *filename,
rc = gpg_error_from_syserror (); rc = gpg_error_from_syserror ();
if (filefd != GNUPG_INVALID_FD) if (filefd != GNUPG_INVALID_FD)
snprintf (xname, sizeof xname, "[fd %d]", (int)(intptr_t)filefd); snprintf (xname, sizeof xname, "[fd %d]", FD_DBG (filefd));
else if (!filename) else if (!filename)
strcpy (xname, "[stdin]"); strcpy (xname, "[stdin]");
else else

View File

@ -193,12 +193,12 @@ open_outfile (gnupg_fd_t out_fd, const char *iname, int mode,
if (!*a) if (!*a)
{ {
rc = gpg_error_from_syserror (); rc = gpg_error_from_syserror ();
snprintf (xname, sizeof xname, "[fd %d]", (int)(intptr_t)out_fd); snprintf (xname, sizeof xname, "[fd %d]", FD_DBG (out_fd));
log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (rc)); log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (rc));
} }
else if (opt.verbose) else if (opt.verbose)
{ {
snprintf (xname, sizeof xname, "[fd %d]", (int)(intptr_t)out_fd); snprintf (xname, sizeof xname, "[fd %d]", FD_DBG (out_fd));
log_info (_("writing to '%s'\n"), xname); log_info (_("writing to '%s'\n"), xname);
} }
} }

View File

@ -124,7 +124,7 @@ get_output_file (const byte *embedded_name, int embedded_namelen,
else if (!(fp = open_stream_nc (fd, "wb"))) else if (!(fp = open_stream_nc (fd, "wb")))
{ {
err = gpg_error_from_syserror (); err = gpg_error_from_syserror ();
snprintf (xname, sizeof xname, "[fd %d]", (int)(intptr_t)fd); snprintf (xname, sizeof xname, "[fd %d]", FD_DBG (fd));
log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (err)); log_error (_("can't open '%s': %s\n"), xname, gpg_strerror (err));
goto leave; goto leave;
} }
@ -740,7 +740,7 @@ hash_datafile_by_fd (gcry_md_hd_t md, gcry_md_hd_t md2,
{ {
int rc = gpg_error_from_syserror (); int rc = gpg_error_from_syserror ();
log_error (_("can't open signed data fd=%d: %s\n"), log_error (_("can't open signed data fd=%d: %s\n"),
data_fd, strerror (errno)); FD_DBG (data_fd), strerror (errno));
release_progress_context (pfx); release_progress_context (pfx);
return rc; return rc;
} }

View File

@ -261,7 +261,8 @@ gpg_verify (ctrl_t ctrl, gnupg_fd_t sig_fd, gnupg_fd_t data_fd,
if (!fp) if (!fp)
{ {
rc = gpg_error_from_syserror (); rc = gpg_error_from_syserror ();
log_error (_("can't open fd %d: %s\n"), sig_fd, strerror (errno)); log_error (_("can't open fd %d: %s\n"), FD_DBG (sig_fd),
strerror (errno));
goto leave; goto leave;
} }

View File

@ -1395,7 +1395,7 @@ check_nonce (ctrl_t ctrl, assuan_sock_nonce_t *nonce)
if (assuan_sock_check_nonce (ctrl->thread_startup.fd, nonce)) if (assuan_sock_check_nonce (ctrl->thread_startup.fd, nonce))
{ {
log_info (_("error reading nonce on fd %d: %s\n"), log_info (_("error reading nonce on fd %d: %s\n"),
FD2INT(ctrl->thread_startup.fd), strerror (errno)); FD_DBG (ctrl->thread_startup.fd), strerror (errno));
assuan_sock_close (ctrl->thread_startup.fd); assuan_sock_close (ctrl->thread_startup.fd);
xfree (ctrl); xfree (ctrl);
return -1; return -1;
@ -1415,7 +1415,7 @@ do_start_connection_thread (ctrl_t ctrl)
kbxd_init_default_ctrl (ctrl); kbxd_init_default_ctrl (ctrl);
if (opt.verbose && !DBG_IPC) if (opt.verbose && !DBG_IPC)
log_info (_("handler 0x%lx for fd %d started\n"), log_info (_("handler 0x%lx for fd %d started\n"),
(unsigned long) npth_self(), FD2INT(ctrl->thread_startup.fd)); (unsigned long) npth_self(), FD_DBG (ctrl->thread_startup.fd));
session_id = ++last_session_id; session_id = ++last_session_id;
if (!session_id) if (!session_id)
@ -1423,7 +1423,7 @@ do_start_connection_thread (ctrl_t ctrl)
kbxd_start_command_handler (ctrl, ctrl->thread_startup.fd, session_id); kbxd_start_command_handler (ctrl, ctrl->thread_startup.fd, session_id);
if (opt.verbose && !DBG_IPC) if (opt.verbose && !DBG_IPC)
log_info (_("handler 0x%lx for fd %d terminated\n"), log_info (_("handler 0x%lx for fd %d terminated\n"),
(unsigned long) npth_self(), FD2INT(ctrl->thread_startup.fd)); (unsigned long) npth_self(), FD_DBG (ctrl->thread_startup.fd));
kbxd_deinit_default_ctrl (ctrl); kbxd_deinit_default_ctrl (ctrl);
xfree (ctrl); xfree (ctrl);

View File

@ -1183,7 +1183,7 @@ start_connection_thread (void *arg)
&& assuan_sock_check_nonce (ctrl->thread_startup.fd, &socket_nonce)) && assuan_sock_check_nonce (ctrl->thread_startup.fd, &socket_nonce))
{ {
log_info (_("error reading nonce on fd %d: %s\n"), log_info (_("error reading nonce on fd %d: %s\n"),
FD2INT(ctrl->thread_startup.fd), strerror (errno)); FD_DBG (ctrl->thread_startup.fd), strerror (errno));
assuan_sock_close (ctrl->thread_startup.fd); assuan_sock_close (ctrl->thread_startup.fd);
xfree (ctrl); xfree (ctrl);
return NULL; return NULL;
@ -1194,7 +1194,7 @@ start_connection_thread (void *arg)
scd_init_default_ctrl (ctrl); scd_init_default_ctrl (ctrl);
if (opt.verbose) if (opt.verbose)
log_info (_("handler for fd %d started\n"), log_info (_("handler for fd %d started\n"),
FD2INT(ctrl->thread_startup.fd)); FD_DBG (ctrl->thread_startup.fd));
/* If this is a pipe server, we request a shutdown if the command /* If this is a pipe server, we request a shutdown if the command
handler asked for it. With the next ticker event and given that handler asked for it. With the next ticker event and given that
@ -1206,7 +1206,7 @@ start_connection_thread (void *arg)
if (opt.verbose) if (opt.verbose)
log_info (_("handler for fd %d terminated\n"), log_info (_("handler for fd %d terminated\n"),
FD2INT (ctrl->thread_startup.fd)); FD_DBG (ctrl->thread_startup.fd));
scd_deinit_default_ctrl (ctrl); scd_deinit_default_ctrl (ctrl);
xfree (ctrl); xfree (ctrl);
@ -1417,7 +1417,7 @@ handle_connections (gnupg_fd_t listen_fd)
npth_t thread; npth_t thread;
snprintf (threadname, sizeof threadname, "conn fd=%d", snprintf (threadname, sizeof threadname, "conn fd=%d",
FD2INT (fd)); FD_DBG (fd));
ctrl->thread_startup.fd = fd; ctrl->thread_startup.fd = fd;
ret = npth_create (&thread, &tattr, start_connection_thread, ctrl); ret = npth_create (&thread, &tattr, start_connection_thread, ctrl);
if (ret) if (ret)

View File

@ -2335,7 +2335,7 @@ open_es_fread (const char *filename, const char *mode)
fp = es_fdopen_nc (fd, mode); fp = es_fdopen_nc (fd, mode);
if (!fp) if (!fp)
{ {
log_error ("es_fdopen(%d) failed: %s\n", (int)(intptr_t)fd, log_error ("es_fdopen(%d) failed: %s\n", FD_DBG (fd),
strerror (errno)); strerror (errno));
gpgsm_exit (2); gpgsm_exit (2);
} }
@ -2375,7 +2375,7 @@ open_es_fwrite (const char *filename)
if (!fp) if (!fp)
{ {
log_error ("es_fdopen(%d) failed: %s\n", log_error ("es_fdopen(%d) failed: %s\n",
(int)(intptr_t)fd, strerror (errno)); FD_DBG (fd), strerror (errno));
gpgsm_exit (2); gpgsm_exit (2);
} }
return fp; return fp;

View File

@ -1012,7 +1012,7 @@ start_connection_thread (void *arg)
&& assuan_sock_check_nonce (ctrl->thread_startup.fd, &socket_nonce)) && assuan_sock_check_nonce (ctrl->thread_startup.fd, &socket_nonce))
{ {
log_info (_("error reading nonce on fd %d: %s\n"), log_info (_("error reading nonce on fd %d: %s\n"),
FD2INT (ctrl->thread_startup.fd), strerror (errno)); FD_DBG (ctrl->thread_startup.fd), strerror (errno));
assuan_sock_close (ctrl->thread_startup.fd); assuan_sock_close (ctrl->thread_startup.fd);
xfree (ctrl); xfree (ctrl);
return NULL; return NULL;
@ -1023,7 +1023,7 @@ start_connection_thread (void *arg)
tpm2d_init_default_ctrl (ctrl); tpm2d_init_default_ctrl (ctrl);
if (opt.verbose) if (opt.verbose)
log_info (_("handler for fd %d started\n"), log_info (_("handler for fd %d started\n"),
FD2INT (ctrl->thread_startup.fd)); FD_DBG (ctrl->thread_startup.fd));
/* If this is a pipe server, we request a shutdown if the command /* If this is a pipe server, we request a shutdown if the command
handler asked for it. With the next ticker event and given that handler asked for it. With the next ticker event and given that
@ -1035,7 +1035,7 @@ start_connection_thread (void *arg)
if (opt.verbose) if (opt.verbose)
log_info (_("handler for fd %d terminated\n"), log_info (_("handler for fd %d terminated\n"),
FD2INT (ctrl->thread_startup.fd)); FD_DBG (ctrl->thread_startup.fd));
tpm2d_deinit_default_ctrl (ctrl); tpm2d_deinit_default_ctrl (ctrl);
xfree (ctrl); xfree (ctrl);
@ -1255,7 +1255,7 @@ handle_connections (gnupg_fd_t listen_fd)
char threadname[50]; char threadname[50];
npth_t thread; npth_t thread;
snprintf (threadname, sizeof threadname, "conn fd=%d", FD2INT (fd)); snprintf (threadname, sizeof threadname, "conn fd=%d", FD_DBG (fd));
ctrl->thread_startup.fd = fd; ctrl->thread_startup.fd = fd;
ret = npth_create (&thread, &tattr, start_connection_thread, ctrl); ret = npth_create (&thread, &tattr, start_connection_thread, ctrl);
if (ret) if (ret)