unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Werner Koch <wk@gnupg.org>
To: storm@cua.dk (Kim F. Storm)
Cc: Sascha Wilde <wilde@sha-bang.de>,
	Chong Yidong <cyd@stupidchicken.com>,
	Daiki Ueno <ueno@unixuser.org>,
	rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Fix needed for communication with gpg-agent
Date: Thu, 22 Feb 2007 09:13:49 +0100	[thread overview]
Message-ID: <87r6siy5he.fsf@wheatstone.g10code.de> (raw)
In-Reply-To: <m3hctfyuez.fsf@kfs-l.imdomain.dk> (Kim F. Storm's message of "Thu\, 22 Feb 2007 00\:15\:16 +0100")

On Thu, 22 Feb 2007 00:15, storm@cua.dk said:

> Since this was the main problem which we were concerned with, the
> problem is reduced to find a way to block Emacs from reading from the
> tty while pinentry needs it.

So the problem is that pinentry does not have exclusive access to the
tty.   What we do is:

  /* Open the desired terminal if necessary.  */
  if (tty_name)
    {
      ttyfi = fopen (tty_name, "r");
      if (!ttyfi)
	return -1;
      ttyfo = fopen (tty_name, "w");
      if (!ttyfo)
	{
	  int err = errno;
	  fclose (ttyfi);
	  errno = err;
	  return -1;
	}
      screen = newterm (tty_type, ttyfo, ttyfi);
      set_term (screen);
    }
  else
    {
      if (!init_screen)
	{
	  init_screen = 1;
	  initscr ();
	}
      else
	clear ();
    }
  
  keypad (stdscr, TRUE); /* Enable keyboard mapping.  */
  nonl ();		/* Tell curses not to do NL->CR/NL on output.  */
  cbreak ();		/* Take input chars one at a time, no wait for \n.  */
  noecho ();		/* Don't echo input - in color.  */

TTY_NAME is taken from the envvar GPG_TTY.  Just an idea:  What about
having emacs allocating a new pty pass that to gpg/gpg-agent.  Emacs
could then monitor the pty and thus notice if pinentry is going to use
it.




Salam-Shalom,

   Werner

  parent reply	other threads:[~2007-02-22  8:13 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-17 20:57 Fix needed for communication with gpg-agent Richard Stallman
2007-02-18 17:42 ` Chong Yidong
2007-02-19 23:35   ` Miles Bader
2007-02-20  1:59     ` Chong Yidong
2007-02-22 17:31       ` Chong Yidong
2007-02-22 17:44         ` Chong Yidong
2007-02-22 18:04         ` Werner Koch
2007-02-22 18:40           ` Chong Yidong
2007-02-22 22:00             ` Sascha Wilde
2007-02-22 22:47               ` Chong Yidong
2007-02-23 20:01                 ` Sascha Wilde
2007-02-24  8:28                   ` Richard Stallman
2007-02-23 22:09               ` Richard Stallman
2007-02-23 23:41                 ` Sascha Wilde
2007-02-25  4:06                   ` Richard Stallman
2007-02-25 19:32                     ` Chong Yidong
2007-02-25 19:50                       ` Andreas Schwab
2007-02-25 20:22                         ` David Kastrup
2007-02-26  3:27                       ` Richard Stallman
2007-02-26 10:27                         ` Werner Koch
2007-02-27  7:38                           ` Richard Stallman
2007-02-27  8:53                             ` Werner Koch
2007-02-28  2:37                               ` Richard Stallman
2007-02-23  8:53             ` Werner Koch
2007-02-23 10:27               ` Sascha Wilde
2007-02-23 16:23               ` Chong Yidong
2007-02-23 16:47                 ` Werner Koch
2007-02-23 19:37                   ` Chong Yidong
2007-02-23 20:10                     ` Sascha Wilde
2007-02-23 22:10                     ` Richard Stallman
2007-02-23 22:09                   ` Richard Stallman
2007-02-23 23:03                     ` Chong Yidong
2007-02-23 17:13           ` Andreas Schwab
2007-02-23 18:30             ` Kim F. Storm
2007-02-23 18:07           ` Stefan Monnier
2007-02-24 14:08             ` Miles Bader
2007-02-23 19:35         ` Richard Stallman
2007-02-20 13:43     ` Richard Stallman
2007-02-20 15:35       ` Chong Yidong
2007-02-21  8:37         ` Richard Stallman
2007-02-21 12:04           ` Chong Yidong
2007-02-22 17:21             ` Richard Stallman
2007-02-20 15:11   ` Kim F. Storm
2007-02-20 15:45     ` Chong Yidong
2007-02-21  8:37     ` Richard Stallman
2007-02-21 13:11       ` Chong Yidong
2007-02-22  7:19         ` Richard Stallman
     [not found]   ` <E1HJCsN-000541-DO@fencepost.gnu.org>
2007-02-21 22:41     ` Sascha Wilde
2007-02-21 23:15       ` Kim F. Storm
2007-02-22  0:14         ` Chong Yidong
2007-02-22  8:04           ` Werner Koch
2007-02-22 12:09           ` Kim F. Storm
2007-02-22  8:13         ` Werner Koch [this message]
2007-02-23 10:22           ` Richard Stallman
2007-02-23 13:20             ` Werner Koch
2007-02-23 16:40               ` Chong Yidong
2007-02-23 22:09               ` Richard Stallman
2007-02-23 19:36           ` Richard Stallman
2007-02-23 23:25             ` Chong Yidong
2007-02-23 23:58               ` Kim F. Storm
2007-02-24  0:19                 ` Chong Yidong
2007-02-24  0:57                   ` Kim F. Storm
2007-02-24  9:58                     ` Sascha Wilde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r6siy5he.fsf@wheatstone.g10code.de \
    --to=wk@gnupg.org \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    --cc=storm@cua.dk \
    --cc=ueno@unixuser.org \
    --cc=wilde@sha-bang.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).