diff options
-rw-r--r-- | asroot.c | 8 | ||||
-rw-r--r-- | config.mk | 13 |
2 files changed, 18 insertions, 3 deletions
@@ -20,8 +20,8 @@ #define EXIT_EXEC 126 #define EXIT_NOENT 127 -#ifndef ERROR_SLEEP -# define ERROR_SLEEP 1 +#ifndef RETRY_SLEEP +# define RETRY_SLEEP 1 #endif #ifndef PROMPT @@ -342,7 +342,9 @@ again: if (strcmp(got, expected)) { fprintf(stderr, "%s: incorrect password, please try again\n", argv0); tcsetattr(fd, TCSAFLUSH, &stty_sleep); - sleep(ERROR_SLEEP); +#if RETRY_SLEEP > 0 + sleep(RETRY_SLEEP); +#endif tcsetattr(fd, TCSAFLUSH, &stty_enter); goto again; } @@ -5,4 +5,17 @@ CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE CFLAGS = -std=c99 -Wall -O2 $(CPPFLAGS) LDFLAGS = -s -lcrypt + # To use libpassphrase, add -DWITH_LIBPASSPHRASE to CPPFLAGS and -lpassphrase to LDFLAGS + +# To customise the sleep time between authentication attempts, add -DRETRY_SLEEP=### +# to CPPFLAGS, where ### is the number of seconds (integers only) to sleep, the +# default ### is 1 (= 1 second) + +# To customise the password prompt, add -DPROMPT=### to CPPFLAGS, where ### is the +# format string and arguments for fprintf(3), do not forget quotes to escape spaces, +# the default ### is (with the surrounding quotes) +# '"%s (%s@%s) password: ", argv0, pwd->pw_name, hostname' +# argv0 is the name of the process, +# pwd->pw_name is the user name, and +# hostname is the machine name |