<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional/
/EN">
<HTML><HEAD>
<META http-equiv=Content-Type conten
t="text/html; charset=gb2312">
<META content="MSHTML 6.0
0.2900.2802" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<
BODY bgColor=#ffffff>
<DIV><FONT face="Times New Roman"
size=2>Hello, all:</FONT></DIV>
<DIV><FONT face="Times N
ew Roman" size=2></FONT> </DIV>
<DIV><FONT face="Ti
mes New Roman" size=2>I found a v6eval bug about IPv4
t
imestamp option.</FONT></DIV>
<DIV><FONT face="Times New
Roman" size=2></FONT> </DIV>
<DIV><FONT face="Time
s New Roman" size=2>In
v6eval-3.0.2/lib/Pz/McIPv4.cc</F
ONT></DIV>
<DIV><FONT face="Times New Roman" size=2>McOp
t_IPv4_Timestamp*
McOpt_IPv4_Timestamp::create(CSTR key
){<BR>McOpt_IPv4_Timestamp* mc =<BR>new
McOpt_IPv4_Timestamp(key, OPT_ICVZERO() );</FONT></DIV>
<DIV><FONT
face="Times New Roman"
size=2>mc->common_member();<
BR>mc->member( new MmUint(
"Pointer", 8, U
N(5), EVALANY() ) );<BR>mc->member( new MmUint(
"Ove
rflow", 4, UN(0), EVALANY() ) );<BR>mc->memb
er( new MmUint(
"Flag", 4, UN(0), EVALA
NY() ) );<BR>mc->member( new
MmMultiple(<BR> <S
TRONG>new MmUint( "Timestamp",8, UN(0), EVALANY()
),</STRONG><BR> (METH_HC_MLC)&McOpt_
IPv4_Timestamp::HC_MLC(Timestamp)
) );<BR> //
di
ct<BR> MmOption_onIPv4::add(mc); //Hdr_IP
v4::option=<BR> return
mc;}</FONT></DIV>
<DIV><FO
NT face="Times New Roman" size=2></FONT> </DIV>
<DI
V><FONT face="Times New Roman" size=2>In the above bold d
isplayed section,
v6eval define the size of timestamp i
s 8 bit.</FONT></DIV>
<DIV><FONT face="Times New Roman"
size=2>however, according to RFC791([Page 22],
Internet
Timestamp)</FONT></DIV>
<DIV><FONT face="Times New Roma
n" size=2> The Timestamp is a
right-justified, <S
TRONG>32-bit</STRONG> timestamp in milliseconds since
m
idnight UT. </FONT></DIV>
<DIV><FONT face="Times New Rom
an" size=2></FONT> </DIV>
<DIV><FONT face="Times Ne
w Roman" size=2>So this is a bug in v6eval, and we test
timestamp option, if it set to 8bit, then it will
be
overflowed.</FONT></DIV>
<DIV><FONT face="Times New
Roman" size=2></FONT> </DIV>
<DIV><FONT face="Time
s New Roman" size=2>Below is the patch we
issued.</FONT
></DIV>
<DIV><FONT face="Times New Roman" size=2></FONT>
</DIV>
<DIV><FONT face="Times New Roman" size=2>--
-
v6eval-3.0.2.orig/lib/Pz/McIPv4.cc 2005-11-08 13
:39:41.133844064
+0800<BR>+++ v6eval-3.0.2/lib/Pz/McIPv
4.cc 2005-11-08 13:41:37.525149896
+0800<BR>@@ -47
6,7 +476,7 @@<BR> mc->member( new MmUint(
"Overflow", 4, UN(0), EVALANY() ) );<BR>
mc->member( new
MmUint( "Flag", 4,&
nbsp;UN(0), EVALANY() )
);<BR> mc->member
( new MmMultiple(<BR>- new
MmUint( "Ti
mestamp",8, UN(0), EVALANY() ),<BR>+ &nbs
p;new
MmUint( "Timestamp",32, UN(0), EVALANY()
)
,<BR> (METH_HC_MLC)&McOpt_IPv4
_Timestamp::HC_MLC(Timestamp)
) );<BR> //
dict<BR> MmOption_onIPv4::add(mc);
//Hdr_IPv4::option=</FONT></DIV>
<DIV><FONT face="Times
New Roman" size=2></FONT> </DIV>
<DIV><FONT size=2>
</FONT> </DIV>
<DIV><FONT size=2>Best Regards, Lv L
iangying<BR></FONT></DIV></BODY></HTML>