projects
/
freeradius.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Signed / unsigned fixes and function prototypes
[freeradius.git]
/
src
/
main
/
radwho.c
diff --git
a/src/main/radwho.c
b/src/main/radwho.c
index
ad07084
..
fec34c9
100644
(file)
--- a/
src/main/radwho.c
+++ b/
src/main/radwho.c
@@
-20,26
+20,24
@@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
- * Copyright 2000 The FreeRADIUS server project
+ * Copyright 2000
,2006
The FreeRADIUS server project
* Copyright 2000 Alan DeKok <aland@ox.org>
*/
* Copyright 2000 Alan DeKok <aland@ox.org>
*/
-static const char rcsid[] =
-"$Id$";
+#include <freeradius-devel/ident.h>
+RCSID("$Id$")
-#include <freeradius-devel/autoconf.h>
+#include <freeradius-devel/radiusd.h>
+#include <freeradius-devel/sysutmp.h>
+#include <freeradius-devel/radutmp.h>
-#include <stdlib.h>
-#include <string.h>
+#ifdef HAVE_PWD_H
#include <pwd.h>
#include <pwd.h>
+#endif
+
#include <sys/stat.h>
#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <ctype.h>
-#include <freeradius-devel/sysutmp.h>
-#include <freeradius-devel/radutmp.h>
-#include <freeradius-devel/radiusd.h>
-#include <freeradius-devel/conffile.h>
+#include <ctype.h>
/*
* FIXME: put in header file.
/*
* FIXME: put in header file.
@@
-51,13
+49,13
@@
static const char rcsid[] =
* Header above output and format.
*/
static const char *hdr1 =
* Header above output and format.
*/
static const char *hdr1 =
-"Login Name What TTY When From Location";
-static const char *rfmt1 = "%-10.10s %-17.17s %-5.5s %s%-3u %-9.9s %-
9.9
s %-.19s%s";
+"Login Name What TTY When From
Location";
+static const char *rfmt1 = "%-10.10s %-17.17s %-5.5s %s%-3u %-9.9s %-
15.15
s %-.19s%s";
static const char *rfmt1r = "%s,%s,%s,%s%u,%s,%s,%s%s";
static const char *hdr2 =
static const char *rfmt1r = "%s,%s,%s,%s%u,%s,%s,%s%s";
static const char *hdr2 =
-"Login Port What When From Location";
-static const char *rfmt2 = "%-10.10s %s%-5u %-6.6s %-13.13s %-1
0.10
s %-.28s%s";
+"Login Port What When From
Location";
+static const char *rfmt2 = "%-10.10s %s%-5u %-6.6s %-13.13s %-1
5.15
s %-.28s%s";
static const char *rfmt2r = "%s,%s%u,%s,%s,%s,%s%s";
static const char *eol = "\n";
static const char *rfmt2r = "%s,%s%u,%s,%s,%s,%s%s";
static const char *eol = "\n";
@@
-69,7
+67,7
@@
const char *progname = "radwho";
const char *radlog_dir = NULL;
const char *radutmp_file = NULL;
const char *radlog_dir = NULL;
const char *radutmp_file = NULL;
-c
onst c
har *radius_dir = NULL;
+char *radius_dir = NULL;
const char *radacct_dir = NULL;
const char *radlib_dir = NULL;
uint32_t myip = INADDR_ANY;
const char *radacct_dir = NULL;
const char *radlib_dir = NULL;
uint32_t myip = INADDR_ANY;
@@
-79,6
+77,14
@@
int log_stripped_names;
* Global, for log.c to use.
*/
struct main_config_t mainconfig;
* Global, for log.c to use.
*/
struct main_config_t mainconfig;
+char *request_log_file = NULL;
+char *debug_log_file = NULL;
+int radius_xlat(char *out, UNUSED int outlen, UNUSED const char *fmt,
+ UNUSED REQUEST *request, UNUSED RADIUS_ESCAPE_STRING func)
+{
+ *out = 0;
+ return 0;
+}
struct radutmp_config_t {
char *radutmp_fn;
struct radutmp_config_t {
char *radutmp_fn;
@@
-100,7
+106,7
@@
static FILE *safe_popen(const char *cmd, const char *mode)
/*
* Change all suspect characters into a space.
*/
/*
* Change all suspect characters into a space.
*/
- str
n
cpy(buf, cmd, sizeof(buf));
+ str
l
cpy(buf, cmd, sizeof(buf));
buf[sizeof(buf) - 1] = 0;
for (p = buf; *p; p++) {
if (isalnum((int) *p))
buf[sizeof(buf) - 1] = 0;
for (p = buf; *p; p++) {
if (isalnum((int) *p))
@@
-114,7
+120,7
@@
static FILE *safe_popen(const char *cmd, const char *mode)
/*
* Print a file from FINGER_DIR. If the file is executable,
/*
* Print a file from FINGER_DIR. If the file is executable,
- * execute it instead. Return 0 if succes
ful
l.
+ * execute it instead. Return 0 if succes
sfu
l.
*/
static int ffile(const char *arg)
{
*/
static int ffile(const char *arg)
{
@@
-180,6
+186,7
@@
static void sys_finger(const char *l)
*/
static char *fullname(char *username)
{
*/
static char *fullname(char *username)
{
+#ifdef HAVE_PWD_Hx
struct passwd *pwd;
char *s;
struct passwd *pwd;
char *s;
@@
-187,6
+194,8
@@
static char *fullname(char *username)
if ((s = strchr(pwd->pw_gecos, ',')) != NULL) *s = 0;
return pwd->pw_gecos;
}
if ((s = strchr(pwd->pw_gecos, ',')) != NULL) *s = 0;
return pwd->pw_gecos;
}
+#endif
+
return username;
}
return username;
}
@@
-221,10
+230,10
@@
static char *dotime(time_t t)
char *s = ctime(&t);
if (showname) {
char *s = ctime(&t);
if (showname) {
- str
ncpy(s + 4, s + 11, 5
);
+ str
lcpy(s + 4, s + 11, 6
);
s[9] = 0;
} else {
s[9] = 0;
} else {
- str
ncpy(s + 4, s + 8, 8
);
+ str
lcpy(s + 4, s + 8, 9
);
s[12] = 0;
}
s[12] = 0;
}
@@
-389,7
+398,7
@@
int main(int argc, char **argv)
printf("Acct-Delay-Time = 0\n");
exit(0); /* don't bother printing anything else */
}
printf("Acct-Delay-Time = 0\n");
exit(0); /* don't bother printing anything else */
}
-
+
/*
* Initialize mainconfig
*/
/*
* Initialize mainconfig
*/
@@
-398,7
+407,7
@@
int main(int argc, char **argv)
/* Read radiusd.conf */
snprintf(buffer, sizeof(buffer), "%.200s/radiusd.conf", radius_dir);
/* Read radiusd.conf */
snprintf(buffer, sizeof(buffer), "%.200s/radiusd.conf", radius_dir);
- maincs = c
onf_read(NULL, 0, buffer, NULL
);
+ maincs = c
f_file_read(buffer
);
if (!maincs) {
fprintf(stderr, "%s: Error reading radiusd.conf.\n", argv[0]);
exit(1);
if (!maincs) {
fprintf(stderr, "%s: Error reading radiusd.conf.\n", argv[0]);
exit(1);
@@
-502,10
+511,10
@@
int main(int argc, char **argv)
if (nas_ip_address != INADDR_NONE) {
if (rt.nas_address != nas_ip_address) continue;
}
if (nas_ip_address != INADDR_NONE) {
if (rt.nas_address != nas_ip_address) continue;
}
-
+
memcpy(session_id, rt.session_id, sizeof(rt.session_id));
session_id[sizeof(rt.session_id)] = 0;
memcpy(session_id, rt.session_id, sizeof(rt.session_id));
session_id[sizeof(rt.session_id)] = 0;
-
+
if (!rawoutput && rt.nas_port > (showname ? 999 : 99999)) {
portind = ">";
portno = (showname ? 999 : 99999);
if (!rawoutput && rt.nas_port > (showname ? 999 : 99999)) {
portind = ">";
portno = (showname ? 999 : 99999);
@@
-521,11
+530,11
@@
int main(int argc, char **argv)
memcpy(nasname, rt.login, sizeof(rt.login));
nasname[sizeof(rt.login)] = '\0';
memcpy(nasname, rt.login, sizeof(rt.login));
nasname[sizeof(rt.login)] = '\0';
-
librad_safeprint(nasname, -1
, buffer,
+
fr_print_string(nasname, 0
, buffer,
sizeof(buffer));
printf("User-Name = \"%s\"\n", buffer);
sizeof(buffer));
printf("User-Name = \"%s\"\n", buffer);
-
librad_safeprint(session_id, -1
, buffer,
+
fr_print_string(session_id, 0
, buffer,
sizeof(buffer));
printf("Acct-Session-Id = \"%s\"\n", buffer);
sizeof(buffer));
printf("Acct-Session-Id = \"%s\"\n", buffer);
@@
-554,7
+563,7
@@
int main(int argc, char **argv)
hostname(buffer, sizeof(buffer),
rt.framed_address));
}
hostname(buffer, sizeof(buffer),
rt.framed_address));
}
-
+
/*
* Some sanity checks on the time
*/
/*
* Some sanity checks on the time
*/
@@
-568,8
+577,8
@@
int main(int argc, char **argv)
memcpy(nasname, rt.caller_id,
sizeof(rt.caller_id));
nasname[sizeof(rt.caller_id)] = '\0';
memcpy(nasname, rt.caller_id,
sizeof(rt.caller_id));
nasname[sizeof(rt.caller_id)] = '\0';
-
-
librad_safeprint(nasname, -1
, buffer,
+
+
fr_print_string(nasname, 0
, buffer,
sizeof(buffer));
printf("Calling-Station-Id = \"%s\"\n", buffer);
}
sizeof(buffer));
printf("Calling-Station-Id = \"%s\"\n", buffer);
}