PERFORCE change 113686 for review
Paolo Pisati
piso at FreeBSD.org
Tue Jan 30 01:32:53 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=113686
Change 113686 by piso at piso_newluxor on 2007/01/30 01:32:35
Remove another usage of ip_next(): pass down tcp offset and seq number, and
axe ip_next() from AddSeq().
Affected files ...
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#21 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#15 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#16 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#16 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#17 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#16 edit
Differences ...
==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#21 (text+ko) ====
@@ -2085,7 +2085,8 @@
void
-AddSeq(struct ip *pip, struct alias_link *lnk, int delta)
+AddSeq(struct ip *pip, struct alias_link *lnk, int delta, u_int th_off,
+ u_int th_seq)
{
/*
When a TCP packet has been altered in length, save this
@@ -2093,19 +2094,16 @@
been altered, then this list will begin to overwrite itself.
*/
- struct tcphdr *tc;
struct ack_data_record x;
int hlen, tlen, dlen;
int i;
- tc = ip_next(pip);
-
- hlen = (pip->ip_hl + tc->th_off) << 2;
+ hlen = (pip->ip_hl + th_off) << 2;
tlen = ntohs(pip->ip_len);
dlen = tlen - hlen;
- x.ack_old = htonl(ntohl(tc->th_seq) + dlen);
- x.ack_new = htonl(ntohl(tc->th_seq) + dlen + delta);
+ x.ack_old = htonl(ntohl(th_seq) + dlen);
+ x.ack_new = htonl(ntohl(th_seq) + dlen + delta);
x.delta = delta;
x.active = 1;
==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#15 (text+ko) ====
@@ -734,7 +734,8 @@
SetAckModified(lnk);
delta = GetDeltaSeqOut(lnk, tc->th_seq);
- AddSeq(pip, lnk, delta + slen - dlen);
+ AddSeq(pip, lnk, delta + slen - dlen, tc->th_off,
+ tc->th_seq);
}
/* Revise IP header */
==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#16 (text+ko) ====
@@ -432,7 +432,8 @@
SetAckModified(lnk);
delta = GetDeltaSeqOut(lnk, tc->th_seq);
- AddSeq(pip, lnk, delta + copyat + iCopy - dlen);
+ AddSeq(pip, lnk, delta + copyat + iCopy - dlen,
+ tc->th_off, tc->th_seq);
}
/* Revise IP header */
==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#16 (text+ko) ====
@@ -300,7 +300,8 @@
int GetAckModified(struct alias_link *_lnk);
int GetDeltaAckIn(struct alias_link *_lnk, u_long ack);
int GetDeltaSeqOut(struct alias_link *_lnk, u_long seq);
-void AddSeq (struct ip *_pip, struct alias_link *_lnk, int _delta);
+void AddSeq (struct ip *_pip, struct alias_link *_lnk, int _delta,
+ u_int th_off, u_int th_seq);
void SetExpire (struct alias_link *_lnk, int _expire);
void ClearCheckNewLink(struct libalias *la);
void SetProtocolFlags(struct alias_link *_lnk, int _pflags);
==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#17 (text+ko) ====
@@ -454,7 +454,7 @@
SetAckModified(lnk);
delta = GetDeltaSeqOut(lnk, tc->th_seq);
- AddSeq(pip, lnk, delta + slen);
+ AddSeq(pip, lnk, delta + slen, tc->th_off, tc->th_seq);
}
/* Update IP header packet length and checksum */
==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#16 (text+ko) ====
@@ -405,7 +405,7 @@
SetAckModified(lnk);
delta = GetDeltaSeqOut(lnk, tc->th_seq);
- AddSeq(pip, lnk, delta + new_dlen - dlen);
+ AddSeq(pip, lnk, delta + new_dlen - dlen, tc->th_off, tc->th_seq);
new_len = htons(hlen + new_dlen);
DifferentialChecksum(&pip->ip_sum,
More information about the p4-projects
mailing list