mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-07 17:33:02 +01:00
tests: Set fake-pinentry's stdout and stdin to _IOLBF.
* tests/openpgp/fake-pinentry.c (main): Call setvbuf. Show passphrase at startup. Increase buffer. -- Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
4159567f7e
commit
94504b3d5a
@ -25,19 +25,36 @@
|
|||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
static char *passphrase;
|
||||||
|
char *p;
|
||||||
|
|
||||||
(void) argc, (void) argv;
|
(void) argc, (void) argv;
|
||||||
|
|
||||||
|
setvbuf (stdin, NULL, _IOLBF, BUFSIZ);
|
||||||
|
setvbuf (stdout, NULL, _IOLBF, BUFSIZ);
|
||||||
|
|
||||||
|
if (!passphrase)
|
||||||
|
{
|
||||||
|
passphrase = getenv ("PINENTRY_USER_DATA");
|
||||||
|
if (!passphrase)
|
||||||
|
passphrase = "";
|
||||||
|
for (p=passphrase; *p; p++)
|
||||||
|
if (*p == '\r' || *p == '\n')
|
||||||
|
*p = '.';
|
||||||
|
printf ("# Passphrase='%s'\n", passphrase);
|
||||||
|
}
|
||||||
|
|
||||||
printf ("OK - what's up?\n");
|
printf ("OK - what's up?\n");
|
||||||
|
|
||||||
while (! feof (stdin))
|
while (! feof (stdin))
|
||||||
{
|
{
|
||||||
char buffer[128];
|
char buffer[1024];
|
||||||
|
|
||||||
if (fgets (buffer, sizeof buffer, stdin) == NULL)
|
if (fgets (buffer, sizeof buffer, stdin) == NULL)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (strncmp (buffer, "GETPIN", 6) == 0)
|
if (strncmp (buffer, "GETPIN", 6) == 0)
|
||||||
printf ("D %s\nOK\n", getenv ("PINENTRY_USER_DATA") ?: "");
|
printf ("D %s\nOK\n", passphrase);
|
||||||
else if (strncmp (buffer, "BYE", 3) == 0)
|
else if (strncmp (buffer, "BYE", 3) == 0)
|
||||||
{
|
{
|
||||||
printf ("OK\n");
|
printf ("OK\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user