2 * radzap Zap a user from the radutmp and radwtmp file.
4 * Version: @(#)radzap 2.13 08-Aug-1999 miquels@cistron.nl
10 #include <sys/types.h>
21 #include <netinet/in.h>
30 char *progname = "radzap";
31 char *radlog_dir = NULL;
34 * Zap a user from the radutmp and radwtmp file.
36 int main(int argc, char **argv)
46 if (argc < 2 || argc > 4 || (argc > 1 && argv[1][0] == '-')) {
47 fprintf(stderr, "Usage: radzap termserver [port] [user]\n");
48 fprintf(stderr, " radzap is only an admin tool to clean the radutmp file!\n");
53 if (*s == 's' || *s == 'S') s++;
56 if (argc > 3) user = argv[3];
59 * Read the "naslist" file.
61 sprintf(buf, "%s/%s", RADIUS_DIR, RADIUS_NASLIST);
62 if (read_naslist_file(buf) < 0)
66 * Find the IP address of the terminal server.
68 if ((nas = nas_findbyname(argv[1])) == NULL && argv[1][0] != 0) {
69 if ((ip = ip_getaddr(argv[1])) == 0) {
70 fprintf(stderr, "%s: host not found.\n", argv[1]);
74 if (nas) ip = nas->ipaddr;
76 printf("radzap: zapping termserver %s, port %d",
77 ip_hostname(ip), nas_port);
78 if (user) printf(", user %s", user);
82 radutmp_zap(ip, nas_port, user, t);