snoop(1m) does not decode time in GETTIME rpcbind operation
The returned time in the rpcbind GETTIME operation should be decoded. The current code uses getxdr_date() to "decode" the time, but this fails and the returned time is never decoded:
________________________________ 127.0.0.1 -> 127.0.0.1 IPNET src zone 0 dst zone 0 127.0.0.1 -> 127.0.0.1 IP D=127.0.0.1 S=127.0.0.1 LEN=56, ID=0, TOS=0x0, TTL=255 127.0.0.1 -> 127.0.0.1 UDP D=37197 S=111 LEN=36 127.0.0.1 -> 127.0.0.1 RPC R (#2) XID=3021490624 Success 127.0.0.1 -> 127.0.0.1 RPCBIND R GETTIME
The problem is that getxdr_date() uses 8 bytes from the stream for time (4 bytes for sec, 4 bytes for usec) while in the GETTIME operation the time is encoded only in 4 bytes - sec only (see RFC 1833).
Updated by Marcel Telka over 7 years ago
- Status changed from Pending RTI to Resolved
commit c64d0c7c2b822e28df7036ee627f438587d05037 Author: Marcel Telka <firstname.lastname@example.org> Date: Tue Jan 14 23:41:19 2014 +0100 4481 snoop(1m) does not decode time in GETTIME rpcbind operation Reviewed by: Sebastien Roy <email@example.com> Reviewed by: Garrett D'Amore <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>