diff options
author | Mattias Andrée <maandree@operamail.com> | 2013-11-22 10:37:49 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2013-11-22 10:37:49 +0100 |
commit | eb4d860255ea9e0aa9c2a758ba074ac224c029e5 (patch) | |
tree | 6509f345347b3c3ba89c61ac27816d57855e573c | |
parent | add install and uninstall to makefile (diff) | |
download | libpassphrase-eb4d860255ea9e0aa9c2a758ba074ac224c029e5.tar.gz libpassphrase-eb4d860255ea9e0aa9c2a758ba074ac224c029e5.tar.bz2 libpassphrase-eb4d860255ea9e0aa9c2a758ba074ac224c029e5.tar.xz |
optionally do not hide the input
Signed-off-by: Mattias Andrée <maandree@operamail.com>
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | src/passphrase.c | 8 |
2 files changed, 12 insertions, 1 deletions
@@ -2,8 +2,11 @@ PREFIX = /usr LIB = /lib INCLUDE = /include +OPTIONS = +# PASSPHRASE_ECHO: Do not hide the passphrase + OPTIMISE = -Os -CPPFLAGS = +CPPFLAGS = $(foreach D, $(OPTIONS), -D'$(D)=1') CFLAGS = -std=c90 -Wall -Wextra -fPIC LDFLAGS = -shared diff --git a/src/passphrase.c b/src/passphrase.c index 724ff09..43f1431 100644 --- a/src/passphrase.c +++ b/src/passphrase.c @@ -27,10 +27,12 @@ #define START_PASSPHRASE_LIMIT 32 +#ifndef PASSPHRASE_ECHO /** * The original TTY settings */ static struct termios saved_stty; +#endif /** @@ -72,7 +74,9 @@ char* passphrase_read(void) /* NUL-terminate passphrase */ *(rc + len) = 0; +#ifndef PASSPHRASE_ECHO printf("\n"); +#endif return rc; } @@ -82,12 +86,14 @@ char* passphrase_read(void) */ void passphrase_disable_echo(void) { +#ifndef PASSPHRASE_ECHO struct termios stty; tcgetattr(STDIN_FILENO, &stty); saved_stty = stty; stty.c_lflag &= ~ECHO; tcsetattr(STDIN_FILENO, TCSAFLUSH, &stty); +#endif } @@ -96,6 +102,8 @@ void passphrase_disable_echo(void) */ void passphrase_reenable_echo(void) { +#ifndef PASSPHRASE_ECHO tcsetattr(STDIN_FILENO, TCSAFLUSH, &saved_stty); +#endif } |