diff options
| author | Mattias Andrée <maandree@operamail.com> | 2014-10-29 14:31:45 +0100 |
|---|---|---|
| committer | Mattias Andrée <maandree@operamail.com> | 2014-10-29 14:31:45 +0100 |
| commit | 94839658c359ccc24aa31969204474ba507c1cb5 (patch) | |
| tree | 80de5b1952ef7a1fa9059031267cca0a46761712 /src/cerberus.c | |
| parent | bump year (diff) | |
| download | cerberus-94839658c359ccc24aa31969204474ba507c1cb5.tar.gz cerberus-94839658c359ccc24aa31969204474ba507c1cb5.tar.bz2 cerberus-94839658c359ccc24aa31969204474ba507c1cb5.tar.xz | |
add HOOK_DENIED
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/cerberus.c')
| -rw-r--r-- | src/cerberus.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/cerberus.c b/src/cerberus.c index 9563ede..1479771 100644 --- a/src/cerberus.c +++ b/src/cerberus.c @@ -291,13 +291,26 @@ void do_login(int argc, char** argv) /* Verify passphrase or other token, if -f has not been used */ + ret = 2; #if AUTH == 0 (void) hostname; #else initialise_login(hostname, username, read_passphrase); - if ((skip_auth == 0) && authenticate_login()) + if (skip_auth == 0) + ret = authenticate_login(); #endif + if (ret == 2) printf("(auto-authenticated)\n"); + if (ret == 0) + { + if (fork() == 0) + { + exec_hook(HOOK_DENIED, argc, argv); + _exit(0); + } + sleep(FAILURE_SLEEP); + _exit(1); + } #if AUTH > 0 /* Passphrase entered, turn off timeout */ |
