NDOize NFS decoder

This commit is contained in:
Denis Ovsienko 2014-04-01 16:05:33 +04:00
parent 341c69d5d3
commit 5d6a1edd06
5 changed files with 518 additions and 493 deletions

View File

@ -166,10 +166,6 @@ extern void ascii_print(const u_char *, u_int);
extern void decnet_print(const u_char *, u_int, u_int);
extern void default_print(const u_char *, u_int);
extern char *q922_string(const u_char *);
extern void nfsreply_print(const u_char *, u_int, const u_char *);
extern void nfsreply_print_noaddr(const u_char *, u_int, const u_char *);
extern void nfsreq_print(const u_char *, u_int, const u_char *);
extern void nfsreq_print_noaddr(const u_char *, u_int, const u_char *);
extern void ospf_print(const u_char *, u_int, const u_char *);
extern void rsvp_print(const u_char *, u_int);
extern void lldp_print(const u_char *, u_int);

View File

@ -498,6 +498,10 @@ extern u_int juniper_frelay_print(netdissect_options *, const struct pcap_pkthdr
extern u_int juniper_chdlc_print(netdissect_options *, const struct pcap_pkthdr *, const u_char *);
extern void snmp_print(netdissect_options *, const u_char *, u_int);
extern void rx_print(netdissect_options *, register const u_char *, int, int, int, u_char *);
extern void nfsreply_print(netdissect_options *, const u_char *, u_int, const u_char *);
extern void nfsreply_print_noaddr(netdissect_options *, const u_char *, u_int, const u_char *);
extern void nfsreq_print(netdissect_options *, const u_char *, u_int, const u_char *);
extern void nfsreq_print_noaddr(netdissect_options *, const u_char *, u_int, const u_char *);
/* stuff that has not yet been rototiled */

File diff suppressed because it is too large Load Diff

View File

@ -723,12 +723,12 @@ tcp_print(register const u_char *bp, register u_int length,
direction = (enum sunrpc_msg_type)EXTRACT_32BITS(&rp->rm_direction);
if (dport == NFS_PORT && direction == SUNRPC_CALL) {
(void)printf(": NFS request xid %u ", EXTRACT_32BITS(&rp->rm_xid));
nfsreq_print_noaddr((u_char *)rp, fraglen, (u_char *)ip);
nfsreq_print_noaddr(gndo, (u_char *)rp, fraglen, (u_char *)ip);
return;
}
if (sport == NFS_PORT && direction == SUNRPC_REPLY) {
(void)printf(": NFS reply xid %u ", EXTRACT_32BITS(&rp->rm_xid));
nfsreply_print_noaddr((u_char *)rp, fraglen, (u_char *)ip);
nfsreply_print_noaddr(gndo, (u_char *)rp, fraglen, (u_char *)ip);
return;
}
}

View File

@ -420,7 +420,7 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length,
sunrpcrequest_print(ndo, (u_char *)rp, length,
(u_char *)ip);
else
nfsreply_print((u_char *)rp, length,
nfsreply_print(ndo, (u_char *)rp, length,
(u_char *)ip); /*XXX*/
break;
@ -493,13 +493,13 @@ udp_print(netdissect_options *ndo, register const u_char *bp, u_int length,
direction = (enum sunrpc_msg_type)EXTRACT_32BITS(&rp->rm_direction);
if (dport == NFS_PORT && direction == SUNRPC_CALL) {
ND_PRINT((ndo, "NFS request xid %u ", EXTRACT_32BITS(&rp->rm_xid)));
nfsreq_print_noaddr((u_char *)rp, length,
nfsreq_print_noaddr(ndo, (u_char *)rp, length,
(u_char *)ip);
return;
}
if (sport == NFS_PORT && direction == SUNRPC_REPLY) {
ND_PRINT((ndo, "NFS reply xid %u ", EXTRACT_32BITS(&rp->rm_xid)));
nfsreply_print_noaddr((u_char *)rp, length,
nfsreply_print_noaddr(ndo, (u_char *)rp, length,
(u_char *)ip);
return;
}