diff options
author | Jeroen Nijhof <jeroen@jeroennijhof.nl> | 2012-07-25 11:37:30 +0200 |
---|---|---|
committer | Jeroen Nijhof <jeroen@jeroennijhof.nl> | 2012-07-25 11:37:30 +0200 |
commit | 1891a3d7aca2cefd6495266c236a71296994c2a4 (patch) | |
tree | 1a3d9710b7812aaa361005dddfb0cb3151130757 | |
parent | f56d9e4acba1e49db2659b95fb6b3c8f8fd70f0f (diff) | |
download | pam_tacplus-1891a3d7aca2cefd6495266c236a71296994c2a4.tar.gz pam_tacplus-1891a3d7aca2cefd6495266c236a71296994c2a4.zip |
tac_encryption fully handled by libtac
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | libtac/lib/connect.c | 6 | ||||
-rw-r--r-- | pam_tacplus.c | 3 | ||||
-rw-r--r-- | support.c | 3 |
4 files changed, 6 insertions, 7 deletions
@@ -1,4 +1,5 @@ 1.3.7 +* Tac_encryption fully handled by libtac no need to enable it manually * Handle attributes which contains no value, thanks to James Allwright <jamesallwright@yahoo.co.uk> * Global variables tac_login and tac_secret not static anymore, diff --git a/libtac/lib/connect.c b/libtac/lib/connect.c index ef4d706..1494976 100644 --- a/libtac/lib/connect.c +++ b/libtac/lib/connect.c @@ -153,7 +153,11 @@ int tac_connect_single(struct addrinfo *server, char *key) { retval = fd; /* set current tac_secret */ - tac_secret = key; + tac_encryption = 0; + if (key != NULL && strcmp(key, "") != 0) { + tac_encryption = 1; + tac_secret = key; + } free(ip); diff --git a/pam_tacplus.c b/pam_tacplus.c index 350e042..56a38b2 100644 --- a/pam_tacplus.c +++ b/pam_tacplus.c @@ -75,9 +75,6 @@ extern void *_xcalloc (size_t size); /* magic.c */ extern u_int32_t magic(); -/* libtac */ -extern int tac_encryption; - /* address of server discovered by pam_sm_authenticate */ static struct addrinfo *active_server; char *active_key; @@ -43,7 +43,6 @@ char *tac_prompt = NULL; /* libtac */ extern char *tac_login; -extern int tac_encryption; extern int tac_timeout; #ifndef xcalloc @@ -200,7 +199,6 @@ int _pam_parse (int argc, const char **argv) { /* otherwise the list will grow with each call */ tac_srv_no = tac_srv_key_no = 0; - tac_encryption = 0; for (ctrl = 0; argc-- > 0; ++argv) { if (!strcmp (*argv, "debug")) { /* all */ @@ -250,7 +248,6 @@ int _pam_parse (int argc, const char **argv) { TAC_PLUS_MAXSERVERS); } } else if (!strncmp (*argv, "secret=", 7)) { - tac_encryption = 1; if(tac_srv_key_no < TAC_PLUS_MAXSERVERS) { tac_srv_key[tac_srv_key_no] = (char *) _xcalloc (strlen (*argv + 7) + 1); strcpy (tac_srv_key[tac_srv_key_no], *argv + 7); |