/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
- *
+ *
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
#include <afsconfig.h>
#include <afs/param.h>
-RCSID
- ("$Header$");
+#include <roken.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <time.h>
-#include <stdio.h>
-#ifndef AFS_NT40_ENV
-#include <strings.h>
-#endif
#include <afs/cmd.h>
+#include <afs/afsutil.h>
+
#include "kauth.h"
#include "kalog.h"
-#include <afs/afsutil.h>
#ifdef AUTH_DBM_LOG
const char *dbmfile;
static int
-cmdproc(register struct cmd_syndesc *as, void * arock)
+cmdproc(struct cmd_syndesc *as, void * arock)
{
DBM *kdb;
datum key, data;
kalog_elt rdata;
afs_int32 cnt = 0;
- register struct cmd_item *ti;
+ struct cmd_item *ti;
if (as->parms[0].items) {
dbmfile = as->parms[0].items->data;
if (as->parms[2].items) {
data = dbm_fetch(kdb, key);
if (!data.dptr) {
- fprintf(stderr, "%s: no entry exists\n", ti->data);
+ fprintf(stderr, "%s: no entry exists\n", (char *)key.dptr);
continue;
}
if (data.dsize != sizeof(kalog_elt)) {
- fprintf(stderr, "%s: data came out corrupt\n", ti->data);
+ fprintf(stderr, "%s: data came out corrupt\n",
+ (char *)key.dptr);
continue;
}
memcpy(&rdata, data.dptr, sizeof(kalog_elt));
if (! as->parms[3].items) {
char *hostName;
hostName = hostutil_GetNameByINet(rdata.host);
- printf("%s: last operation from host %s at %s",
- (char *)key.dptr, hostName,
+ printf("%s: last operation from host %s at %s",
+ (char *)key.dptr, hostName,
ctime(&rdata.last_use));
} else {
char *hostIP;
- hostIP = afs_inet_ntoa(rdata.host);
- printf("%s: last operation from host %s at %s",
- (char *)key.dptr, hostIP,
+ char hoststr[16];
+ hostIP = afs_inet_ntoa_r(rdata.host, hoststr);
+ printf("%s: last operation from host %s at %s",
+ (char *)key.dptr, hostIP,
ctime(&rdata.last_use));
}
} else {
int
main(int argc, char **argv)
{
- register struct cmd_syndesc *ts;
- register afs_int32 code;
- char dbmfile_help[AFSDIR_PATH_MAX];
+ struct cmd_syndesc *ts;
+ afs_int32 code;
+ char *dbmfile_help;
- sprintf(dbmfile_help, "dbmfile to use (default %s)",
- AFSDIR_SERVER_KALOGDB_FILEPATH);
+ if (asprintf(&dbmfile_help, "dbmfile to use (default %s)",
+ AFSDIR_SERVER_KALOGDB_FILEPATH) < 0)
+ dbmfile_help = "dbmfile to use";
dbmfile = AFSDIR_SERVER_KALOGDB_FILEPATH;
- ts = cmd_CreateSyntax(NULL, cmdproc, NULL, "Dump contents of dbm database");
+ ts = cmd_CreateSyntax(NULL, cmdproc, NULL, 0, "Dump contents of dbm database");
cmd_AddParm(ts, "-dbmfile", CMD_SINGLE, CMD_OPTIONAL, dbmfile_help);
cmd_AddParm(ts, "-key", CMD_SINGLE, CMD_OPTIONAL,
"extract entries that match specified key");