-/*
+/*
Copyright (c) 1995-1998 by Cisco systems, Inc.
Permission to use, copy, modify, and distribute this software for
FITNESS FOR A PARTICULAR PURPOSE.
*/
+
#include "tac_plus.h"
+#include <netinet/in.h> /* for ntohl() */
+
+#include "dump.h"
+#include "report.h"
+#include "utils.h"
+#include "packet.h"
+#include "do_author.h"
+#include "main.h"
+
+
+char *summarise_outgoing_packet_type TAC_ARGS((u_char *pak));
+
/* Routines for dumping packets to stderr */
char *
summarise_outgoing_packet_type(pak)
return (p);
}
-void
+static void dump_header TAC_ARGS((u_char *pak));
+
+static void
dump_header(pak)
u_char *pak;
{
report(LOG_DEBUG, "PACKET: key=%s", session.key ? session.key : "<NULL>");
report(LOG_DEBUG, "version %d (0x%x), type %d, seq no %d, encryption %d",
- hdr->version, hdr->version,
+ hdr->version, hdr->version,
hdr->type, hdr->seq_no, hdr->encryption);
report(LOG_DEBUG, "session_id %u (0x%x), Data length %d (0x%x)",
ntohl(hdr->session_id), ntohl(hdr->session_id),
}
+void dump_nas_pak TAC_ARGS((u_char *pak));
+
/* Dump packets originated by a NAS */
+void
dump_nas_pak(pak)
u_char *pak;
{
}
switch(start->service) {
-
+
case TAC_PLUS_AUTHEN_SVC_LOGIN:
report(LOG_DEBUG, "service=login");
break;
break;
}
- report(LOG_DEBUG,
+ report(LOG_DEBUG,
"user_len=%d port_len=%d (0x%x), rem_addr_len=%d (0x%x)",
start->user_len, start->port_len, start->port_len,
start->rem_addr_len, start->rem_addr_len);
author = (struct author *) (pak + TAC_PLUS_HDR_SIZE);
report(LOG_DEBUG, "type=AUTHOR, priv_lvl=%d, authen=%d",
- author->priv_lvl,
+ author->priv_lvl,
author->authen_type);
switch(author->authen_method) {
case AUTHEN_METH_NONE:
report(LOG_DEBUG, "method=none");
- break;
+ break;
case AUTHEN_METH_KRB5:
report(LOG_DEBUG, "method=krb5");
- break;
+ break;
case AUTHEN_METH_LINE:
report(LOG_DEBUG, "method=line");
- break;
+ break;
case AUTHEN_METH_ENABLE:
report(LOG_DEBUG, "method=enable");
- break;
+ break;
case AUTHEN_METH_LOCAL:
report(LOG_DEBUG, "method=local");
- break;
+ break;
case AUTHEN_METH_TACACSPLUS:
report(LOG_DEBUG, "method=tacacs+");
- break;
+ break;
case AUTHEN_METH_RCMD:
report(LOG_DEBUG, "method=rcmd");
- break;
+ break;
default:
report(LOG_DEBUG, "method=unknown %d", author->authen_method);
- break;
+ break;
}
report(LOG_DEBUG, "svc=%d user_len=%d port_len=%d rem_addr_len=%d",
- author->service, author->user_len,
+ author->service, author->user_len,
author->port_len, author->rem_addr_len);
report(LOG_DEBUG, "arg_cnt=%d", author->arg_cnt);
/* Dump packets originated by Tacacsd */
+void dump_tacacs_pak TAC_ARGS((u_char *pak));
+
+void
dump_tacacs_pak(pak)
u_char *pak;
{
seq = hdr->seq_no;
if (seq % 2 != 0) {
- report(LOG_ERR, "%s: Bad sequence number %d should be even",
+ report(LOG_ERR, "%s: Bad sequence number %d should be even",
session.peer, seq);
tac_exit(1);
}
p = pak + TAC_PLUS_HDR_SIZE + TAC_ACCT_REPLY_FIXED_FIELDS_SIZE;
report(LOG_DEBUG, "msg: ");
-
+
report_string(LOG_DEBUG, p, acct->msg_len);
p += acct->msg_len;
report(LOG_DEBUG, "End packet");
}
+char *summarise_incoming_packet_type TAC_ARGS((u_char *pak));
+
/* summarise packet types for logging routines. */
char *
summarise_incoming_packet_type(pak)