diff options
author | Mattias Andrée <maandree@kth.se> | 2021-02-01 17:41:31 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2021-02-01 17:41:31 +0100 |
commit | 6e48590a4b26fad71d6a0b3320f59d696dbcdeb5 (patch) | |
tree | c134d9e4b9c13deb7ec181be18a18344d9843f3b | |
parent | Fix exit value (diff) | |
download | asroot-6e48590a4b26fad71d6a0b3320f59d696dbcdeb5.tar.gz asroot-6e48590a4b26fad71d6a0b3320f59d696dbcdeb5.tar.bz2 asroot-6e48590a4b26fad71d6a0b3320f59d696dbcdeb5.tar.xz |
Add customisation instructions to config.mk, rename ERROR_SLEEP to RETRY_SLEEP, and remove sleep instruction if RETRY_SLEEP is nonpositive
Signed-off-by: Mattias Andrée <maandree@kth.se>
-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 |