diff options
Diffstat (limited to 'contrib/tcpdump/print-krb.c')
-rw-r--r-- | contrib/tcpdump/print-krb.c | 104 |
1 files changed, 49 insertions, 55 deletions
diff --git a/contrib/tcpdump/print-krb.c b/contrib/tcpdump/print-krb.c index 99cb581..eca6265 100644 --- a/contrib/tcpdump/print-krb.c +++ b/contrib/tcpdump/print-krb.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 1996 + * Copyright (c) 1995, 1996, 1997 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +23,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: print-krb.c,v 1.8 96/12/10 23:17:39 leres Exp $"; + "@(#) $Header: print-krb.c,v 1.9 97/04/26 14:01:45 leres Exp $"; #endif #include <sys/param.h> @@ -73,38 +73,38 @@ void krb_print(const u_char *, u_int); #define KERB_ERR_NULL_KEY 10 struct krb { - u_char pvno; /* Protocol Version */ - u_char type; /* Type+B */ + u_char pvno; /* Protocol Version */ + u_char type; /* Type+B */ }; static char tstr[] = " [|kerberos]"; static struct tok type2str[] = { - { AUTH_MSG_KDC_REQUEST, "KDC_REQUEST" }, - { AUTH_MSG_KDC_REPLY, "KDC_REPLY" }, - { AUTH_MSG_APPL_REQUEST, "APPL_REQUEST" }, - { AUTH_MSG_APPL_REQUEST_MUTUAL, "APPL_REQUEST_MUTUAL" }, - { AUTH_MSG_ERR_REPLY, "ERR_REPLY" }, - { AUTH_MSG_PRIVATE, "PRIVATE" }, - { AUTH_MSG_SAFE, "SAFE" }, - { AUTH_MSG_APPL_ERR, "APPL_ERR" }, - { AUTH_MSG_DIE, "DIE" }, - { 0, NULL } + { AUTH_MSG_KDC_REQUEST, "KDC_REQUEST" }, + { AUTH_MSG_KDC_REPLY, "KDC_REPLY" }, + { AUTH_MSG_APPL_REQUEST, "APPL_REQUEST" }, + { AUTH_MSG_APPL_REQUEST_MUTUAL, "APPL_REQUEST_MUTUAL" }, + { AUTH_MSG_ERR_REPLY, "ERR_REPLY" }, + { AUTH_MSG_PRIVATE, "PRIVATE" }, + { AUTH_MSG_SAFE, "SAFE" }, + { AUTH_MSG_APPL_ERR, "APPL_ERR" }, + { AUTH_MSG_DIE, "DIE" }, + { 0, NULL } }; static struct tok kerr2str[] = { - { KERB_ERR_OK, "OK" }, - { KERB_ERR_NAME_EXP, "NAME_EXP" }, - { KERB_ERR_SERVICE_EXP, "SERVICE_EXP" }, - { KERB_ERR_AUTH_EXP, "AUTH_EXP" }, - { KERB_ERR_PKT_VER, "PKT_VER" }, - { KERB_ERR_NAME_MAST_KEY_VER, "NAME_MAST_KEY_VER" }, - { KERB_ERR_SERV_MAST_KEY_VER, "SERV_MAST_KEY_VER" }, - { KERB_ERR_BYTE_ORDER, "BYTE_ORDER" }, - { KERB_ERR_PRINCIPAL_UNKNOWN, "PRINCIPAL_UNKNOWN" }, - { KERB_ERR_PRINCIPAL_NOT_UNIQUE, "PRINCIPAL_NOT_UNIQUE" }, - { KERB_ERR_NULL_KEY, "NULL_KEY"}, - { 0, NULL} + { KERB_ERR_OK, "OK" }, + { KERB_ERR_NAME_EXP, "NAME_EXP" }, + { KERB_ERR_SERVICE_EXP, "SERVICE_EXP" }, + { KERB_ERR_AUTH_EXP, "AUTH_EXP" }, + { KERB_ERR_PKT_VER, "PKT_VER" }, + { KERB_ERR_NAME_MAST_KEY_VER, "NAME_MAST_KEY_VER" }, + { KERB_ERR_SERV_MAST_KEY_VER, "SERV_MAST_KEY_VER" }, + { KERB_ERR_BYTE_ORDER, "BYTE_ORDER" }, + { KERB_ERR_PRINCIPAL_UNKNOWN, "PRINCIPAL_UNKNOWN" }, + { KERB_ERR_PRINCIPAL_NOT_UNIQUE,"PRINCIPAL_NOT_UNIQUE" }, + { KERB_ERR_NULL_KEY, "NULL_KEY"}, + { 0, NULL} }; @@ -133,7 +133,7 @@ c_print(register const u_char *s, register const u_char *ep) register int flag; flag = 1; - while (ep == NULL || s < ep) { + while (s < ep) { c = *s++; if (c == '\0') { flag = 0; @@ -152,27 +152,26 @@ c_print(register const u_char *s, register const u_char *ep) } if (flag) return NULL; - return(s); + return (s); } const u_char * krb4_print_hdr(const u_char *cp) { - cp+=2; + cp += 2; -#define PRINT if ((cp=c_print(cp, snapend))==NULL) goto trunc +#define PRINT if ((cp = c_print(cp, snapend)) == NULL) goto trunc - TCHECK2(cp, 0); PRINT; - TCHECK2(cp, 0); - putchar('.'); PRINT; - TCHECK2(cp, 0); - putchar('@'); PRINT; - return(cp); + putchar('.'); + PRINT; + putchar('@'); + PRINT; + return (cp); trunc: fputs(tstr, stdout); - return(NULL); + return (NULL); #undef PRINT } @@ -184,7 +183,7 @@ krb4_print(const u_char *cp) u_char type; u_short len; -#define PRINT if ((cp=c_print(cp, snapend))==NULL) goto trunc +#define PRINT if ((cp = c_print(cp, snapend)) == NULL) goto trunc /* True if struct krb is little endian */ #define IS_LENDIAN(kp) (((kp)->type & 0x01) != 0) #define KTOHSP(kp, cp) (IS_LENDIAN(kp) ? vtohsp(cp) : ntohsp(cp)) @@ -206,46 +205,41 @@ krb4_print(const u_char *cp) case AUTH_MSG_KDC_REQUEST: if ((cp = krb4_print_hdr(cp)) == NULL) return; - cp += 4; /* ctime */ - TCHECK2(cp, 0); - printf(" %dmin ", *cp++ * 5); - TCHECK2(cp, 0); - PRINT; - TCHECK2(cp, 0); - putchar('.'); PRINT; - break; + cp += 4; /* ctime */ + TCHECK(*cp); + printf(" %dmin ", *cp++ * 5); + PRINT; + putchar('.'); + PRINT; + break; case AUTH_MSG_APPL_REQUEST: cp += 2; - TCHECK2(cp, 0); + TCHECK(*cp); printf("v%d ", *cp++); - TCHECK2(cp, 0); PRINT; - TCHECK2(cp, 0); + TCHECK(*cp); printf(" (%d)", *cp++); - TCHECK2(cp, 0); + TCHECK(*cp); printf(" (%d)", *cp); - TCHECK2(cp, 0); break; case AUTH_MSG_KDC_REPLY: if ((cp = krb4_print_hdr(cp)) == NULL) return; cp += 10; /* timestamp + n + exp + kvno */ - TCHECK2(cp, 0); + TCHECK2(*cp, sizeof(short)); len = KTOHSP(kp, cp); printf(" (%d)", len); - TCHECK2(cp, 0); break; case AUTH_MSG_ERR_REPLY: if ((cp = krb4_print_hdr(cp)) == NULL) return; cp += 4; /* timestamp */ - TCHECK2(cp, 0); + TCHECK2(*cp, sizeof(short)); printf(" %s ", tok2str(kerr2str, NULL, KTOHSP(kp, cp))); cp += 4; - TCHECK2(cp, 0); PRINT; break; |