git://git.jankratochvil.net
/
tac_plus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
"referenced entity .* not found" message fixed to be fatal
[tac_plus.git]
/
pw.c
diff --git
a/pw.c
b/pw.c
index
96c761e
..
a749262
100644
(file)
--- 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
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 */
/* Tacacs+ password lookup routine for those systems which don't have
setpwfile. Not for use on /etc/passwd files */
+
#include "tac_plus.h"
#include "tac_plus.h"
+
+#include <stdlib.h>
#include <pwd.h>
#include <string.h>
#include <pwd.h>
#include <string.h>
+#include "pw.h"
+#include "report.h"
+#include "main.h"
+
+
static struct passwd pw_passwd;
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)
struct passwd *
tac_passwd_lookup(name, file)
- char *name, *file;
+const char *name;
+const char *file;
{
FILE *passwd_fp = NULL;
{
FILE *passwd_fp = NULL;
@@
-44,10
+55,10
@@
tac_passwd_lookup(name, file)
if (passwd_fp) {
if (debug & DEBUG_PASSWD_FLAG)
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 {
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);
}
file);
return(NULL);
}
@@
-113,16
+124,18
@@
tac_passwd_lookup(name, file)
pw_passwd.pw_name = uname;
pw_passwd.pw_passwd = password;
pw_passwd.pw_name = uname;
pw_passwd.pw_passwd = password;
-#if
ndef NO_PW
AGE
+#if
def HAVE_PASSWD_PW_
AGE
pw_passwd.pw_age = NULL;
pw_passwd.pw_age = NULL;
+#endif
+#ifdef HAVE_PASSWD_PW_COMMENT
pw_passwd.pw_comment = NULL;
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)
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);
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)
/* 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);
file, fileno(passwd_fp));
fclose(passwd_fp);
return(NULL);