X-Git-Url: http://git.jankratochvil.net/?p=tac_plus.git;a=blobdiff_plain;f=pw.c;h=a7492620f27a211ef0a604f5572ecf911c9620c5;hp=96c761ebdca39634d56071d5c084445ca514706b;hb=33efcad5728d54fa7368a424556e883e556a4791;hpb=a4d53c2fe3dc1952c7c7d8a4283545389ba5aa64 diff --git a/pw.c b/pw.c index 96c761e..a749262 100644 --- a/pw.c +++ b/pw.c @@ -1,4 +1,4 @@ -/* +/* Copyright (c) 1995-1998 by Cisco systems, Inc. Permission to use, copy, modify, and distribute this software for @@ -20,15 +20,26 @@ /* Tacacs+ password lookup routine for those systems which don't have setpwfile. Not for use on /etc/passwd files */ + #include "tac_plus.h" + +#include #include #include +#include "pw.h" +#include "report.h" +#include "main.h" + + static struct passwd pw_passwd; +struct passwd *tac_passwd_lookup TAC_ARGS((const char *name, const char *file)); + struct passwd * tac_passwd_lookup(name, file) - char *name, *file; +const char *name; +const char *file; { FILE *passwd_fp = NULL; @@ -44,10 +55,10 @@ tac_passwd_lookup(name, file) if (passwd_fp) { if (debug & DEBUG_PASSWD_FLAG) - report(LOG_DEBUG, "tac_passwd_lookup: open %s %d", + report(LOG_DEBUG, "tac_passwd_lookup: open %s %d", file, fileno(passwd_fp)); } else { - report(LOG_ERR, "tac_passwd_lookup: cannot open file %s for reading", + report(LOG_ERR, "tac_passwd_lookup: cannot open file %s for reading", file); return(NULL); } @@ -113,16 +124,18 @@ tac_passwd_lookup(name, file) pw_passwd.pw_name = uname; pw_passwd.pw_passwd = password; -#ifndef NO_PWAGE +#ifdef HAVE_PASSWD_PW_AGE pw_passwd.pw_age = NULL; +#endif +#ifdef HAVE_PASSWD_PW_COMMENT pw_passwd.pw_comment = NULL; -#endif /* NO_PWAGE */ +#endif pw_passwd.pw_gecos = gecos; pw_passwd.pw_dir = homedir; pw_passwd.pw_shell = shell; if (debug & DEBUG_PASSWD_FLAG) - report(LOG_DEBUG, "tac_passwd_lookup: close %s %d", + report(LOG_DEBUG, "tac_passwd_lookup: close %s %d", file, fileno(passwd_fp)); fclose(passwd_fp); return(&pw_passwd); @@ -130,7 +143,7 @@ tac_passwd_lookup(name, file) /* no match found */ if (debug & DEBUG_PASSWD_FLAG) - report(LOG_DEBUG, "tac_passwd_lookup: close %s %d", + report(LOG_DEBUG, "tac_passwd_lookup: close %s %d", file, fileno(passwd_fp)); fclose(passwd_fp); return(NULL);