PERFORCE change 113678 for review

Paolo Pisati piso at FreeBSD.org
Mon Jan 29 23:49:39 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=113678

Change 113678 by piso at piso_newluxor on 2007/01/29 23:49:36

	Eliminate an usage of ip_next() in alias_proxy.c::ProxyCheck(), and push its
	usage at an upper layer.

Affected files ...

.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#35 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#12 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#13 edit

Differences ...

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#35 (text+ko) ====

@@ -974,10 +974,11 @@
 
 	LIBALIAS_LOCK_ASSERT(la);
 	tc = (struct tcphdr *)ip_next(pip);
-
+	dest_port = tc->th_dport;
+	
 	if (create)
-		proxy_type =
-		    ProxyCheck(la, pip, &proxy_server_address, &proxy_server_port);
+		proxy_type = ProxyCheck(la, pip, &proxy_server_address, 
+		    &proxy_server_port, dest_port);
 	else
 		proxy_type = 0;
 
@@ -986,7 +987,6 @@
 
 /* If this is a transparent proxy, save original destination,
    then alter the destination and adjust checksums */
-	dest_port = tc->th_dport;
 	dest_address = pip->ip_dst;
 	if (proxy_type != 0) {
 		int accumulate;

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#12 (text+ko) ====

@@ -321,7 +321,7 @@
 /* Transparent proxy routines */
 int
 ProxyCheck(struct libalias *la, struct ip *_pip, struct in_addr *_proxy_server_addr,
-    u_short * _proxy_server_port);
+    u_short * _proxy_server_port, u_short dst_port);
 void
 ProxyModify(struct libalias *la, struct alias_link *_lnk, struct ip *_pip,
     int _maxpacketsize, int _proxy_type);

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#13 (text+ko) ====

@@ -563,9 +563,8 @@
 int
 ProxyCheck(struct libalias *la, struct ip *pip,
     struct in_addr *proxy_server_addr,
-    u_short * proxy_server_port)
+    u_short * proxy_server_port, u_short dst_port)
 {
-	u_short dst_port;
 	struct in_addr src_addr;
 	struct in_addr dst_addr;
 	struct proxy_entry *ptr;
@@ -573,8 +572,6 @@
 	LIBALIAS_LOCK_ASSERT(la);
 	src_addr = pip->ip_src;
 	dst_addr = pip->ip_dst;
-	dst_port = ((struct tcphdr *)ip_next(pip))
-	    ->th_dport;
 
 	ptr = la->proxyList;
 	while (ptr != NULL) {


More information about the p4-projects mailing list