BUG REPORT - filter-html corrupting html document

I do not have a support contract so I wish to solve this through the forum. If my findings are correct hopefully this will be submitted as an official bug.

Description: We are using templates to route requests that match a certain url pattern to a template object. In that object we apply various tag filters (and eventually mime type filters) to the html stream. The mime types are working but as to not cloudy the issue or the config I have omiited them for this test. I have embedded in this post the following:

1) obj.conf

2) raw html source of www.afflink.com (what you get with no proxy)

3) proxy error logs at "finest" level

4) corrupted html source returned by proxy

The proxy is NOT caching. I clear my cache and all provate data between every test. FireFox 1.5 is the browser.

The corrupted html is easy to spot but you can also see that the doc is incomplete and cuts off at the bottom. I do not know if its connected but I submitted a bug (through the forum) a while ago about the content length nit being properly set in an html document that has been filtered.

I as going to submit another report but I can just include it here. With the same setup try going to www.yahoo.com. No <script> tags are filtered out of the html.

obj.conf

--

# You can edit this file, but comments and formatting changes

# might be lost when the admin server makes changes.

Init fn="flex-init" access="$accesslog" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->vars.p2c-cl% %Req->vars.remote-status% %Req->vars.r2p-cl% %Req->headers.content-length% %Req->vars.p2r-cl% %Req->vars.c2p-hl% %Req->vars.p2c-hl% %Req->vars.p2r-hl% %Req->vars.r2p-hl% %Req->vars.xfer-time%"

Init fn="init-proxy" timeout="300" timeout-2="15"

<Object name="default">

AuthTrans fn="match-browser" browser=".*MSIE.*" ssl-unclean-shutdown="true"

NameTrans fn="assign-name" name="yahoo" from=".*://192\.168\.2\.101/.*"

NameTrans fn="assign-name" name="afflink" from=".*://.*afflink.*/.*"

NameTrans fn="assign-name" name="yahoo2" from=".*://.*yahoo.*/.*"

PathCheck fn="url-check"

ObjectType fn="block-ip"

Service fn="deny-service"

AddLog fn="flex-log" name="access"

</Object>

<Object name="file">

PathCheck fn="unix-uri-clean"

PathCheck fn="find-index" index-names="index.html"

ObjectType fn="type-by-extension"

ObjectType fn="force-type" type="text/plain"

Service fn="send-file"

</Object>

<Object ppath="ftp://.*">

ObjectType fn="cache-enable" query-maxlen="10" log-report="off"

ObjectType fn="cache-setting" lm-factor="0.10" max-uncheck="7200"

Service fn="proxy-retrieve"

</Object>

<Object ppath="http://.*">

ObjectType fn="cache-enable" query-maxlen="10" log-report="off"

ObjectType fn="cache-setting" lm-factor="0.10" max-uncheck="7200"

Service fn="proxy-retrieve" method="*"

</Object>

<Object ppath="https://.*">

Service fn="proxy-retrieve"

</Object>

<Object ppath="gopher://.*">

ObjectType fn="cache-enable" query-maxlen="10" log-report="off"

ObjectType fn="cache-setting" lm-factor="0.10" max-uncheck="7200"

Service fn="proxy-retrieve"

</Object>

<Object ppath="connect://.*:443">

Service fn="connect" method="CONNECT"

</Object>

<Object ppath="connect://.*:563">

Service fn="connect" method="CONNECT"

</Object>

<Object name="yahoo">

Filter fn="filter-html" start="SCRIPT" end="SCRIPT"

Filter fn="filter-html" start="TITLE" end="TITLE"

</Object>

<Object name="afflink">

Filter fn="filter-html" start="SCRIPT" end="SCRIPT"

Filter fn="filter-html" start="TITLE" end="TITLE"

</Object>

<Object name="yahoo2">

Filter fn="filter-html" start="SCRIPT" end="SCRIPT"

Filter fn="filter-html" start="TITLE" end="TITLE"

</Object>

www.afflink.com raw (good) html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<HTML>

<HEAD>

<TITLE>AFFLINK</TITLE>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

<LINK REL="stylesheet" TYPE="text/css" HREF="main2.css">

<script TYPE="text/javascript" LANGUAGE="JavaScript">

<!--hide from old browsers

if(document.images){

aboutafflinkOn = new Image();

aboutafflinkOn.src="images/1-aboutafflink.gif"

aboutafflinkOff= new Image();

aboutafflinkOff.src="images/white.gif";

employmentOn = new Image();

employmentOn.src="images/1-employment.gif"

employmentOff= new Image();

employmentOff.src="images/white.gif";

contactOn = new Image();

contactOn.src="images/1-contact.gif"

contactOff= new Image();

contactOff.src="images/white.gif";

distributorsOn = new Image();

distributorsOn.src="images/1-distributors.gif"

distributorsOff= new Image();

distributorsOff.src="images/white.gif";

suppliersOn = new Image();

suppliersOn.src="images/1-suppliers.gif"

suppliersOff= new Image();

suppliersOff.src="images/white.gif";

productsOn = new Image();

productsOn.src="images/1-products.gif"

productsOff= new Image();

productsOff.src="images/white.gif";

issOn = new Image();

issOn.src="images/1-iss.gif"

issOff= new Image();

issOff.src="images/white.gif";

busdevOn = new Image();

busdevOn.src="images/1-bdr.gif"

busdevOff= new Image();

busdevOff.src="images/white.gif";

ecommerceOn = new Image();

ecommerceOn.src="images/1-ecomm.gif"

ecommerceOff= new Image();

ecommerceOff.src="images/white.gif";

}

function lightOn(imgName){

if(document.images){

document.images["text"].src = eval(imgName+"On.src")

}

}

function lightOff(imgName){

if(document.images){

document.images["text"].src = eval(imgName+"Off.src")

}

}

//-->

</script>

<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">

function checkIt(e) {

var charCode = (navigator.appName == "Netscape") ? e.which :

e.keyCode

if (charCode == 13) {

if (document.forms["login"].elements["Password"].value.length > 0) {

document.forms["login"].submit()

return false

}

{

alert("Please enter a password")

}

}

return true

}

function checkIt2(e, form) {

var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode

if (charCode == 13) {

form.elements["Password"].focus()

form.elements["Password"].select()

}

}

//function noblank(frm) {

//if (frm.Password.value.length > 0) {

//document.forms["login"].submit()

//return false

//}

//{

//alert('Please enter a password');

//}

//}

</SCRIPT>

<script language="JavaScript" type="text/javascript">

<!--

function SubmitThisValue(varValue) {

// Set the value of the first element of the first form on the page:

document.forms[0].elements[0].value = varValue;

// Submit that form (Note: if you submit to the same page

//this will loop, forever submitting your form):

}

//-->

</script>

</HEAD>

<BODY BGCOLOR="#FFFFFF" leftmargin="0" topmargin="10" marginwidth="0" marginheight="10" text="#000000" link="#3366FF" vlink="#999999" alink="#FF0000">

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=720>

<TR>

<TD WIDTH=275 ALIGN=RIGHT VALIGN=BOTTOM><IMG SRC="images/spacer.gif" WIDTH=275 HEIGHT=1 ALT="AFFLINK.com Spacer">
<IMG SRC="images/aff25anim.gif" WIDTH=176 HEIGHT=65 ALT="AFFLINK"></TD>

<TD WIDTH=2><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" WIDTH=2 HEIGHT=1></TD>

<TD WIDTH=443 VALIGN=BOTTOM>

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>

<TR>

<TD><A HREF="about.asp" onmouseover="lightOn('aboutafflink'); window.status='About AFFLINK';return true;" onmouseout="lightOff('aboutafflink'); window.status=' ';return true;" ><IMG SRC="images/topmenu_1_1a.gif" BORDER=0 ALT="About AFFLINK" name="aboutafflink"></A></TD>

<TD><A HREF="http://www.afflink.com/scripts/cgiip.exe/afflink3/distmem.htm" onmouseover="lightOn('distributors'); window.status='Distributors';return true;" onmouseout="lightOff('distributors'); window.status=' ';return true;"><IMG SRC="images/topmenu_2_1a.gif" BORDER=0 ALT="Distributors" name="distributors"></A></TD>

<TD><A HREF="iss.asp" onmouseover="lightOn('iss'); window.status='Global Account Program';return true;" onmouseout="lightOff('iss'); window.status=' ';return true;"><IMG SRC="images/topmenu_3_1b.gif" BORDER=0 ALT="National Account Program" name="iss"></A></TD>

</TR>

<TR>

<TD><A HREF="employment.asp" onmouseover="lightOn('employment'); window.status='Employment';return true;" onmouseout="lightOff('employment'); window.status=' ';return true;"><IMG SRC="images/topmenu_1_2a.gif" BORDER=0 ALT="Employment" name="employment"></A></TD>

<TD><A HREF="http://www.afflink.com/scripts/cgiip.exe/afflink3/suppliers2.htm" onmouseover="lightOn('suppliers'); window.status='Suppliers';return true;" onmouseout="lightOff('suppliers'); window.status=' ';return true;"><IMG SRC="images/topmenu_2_2a.gif" BORDER=0 ALT="Suppliers" name="suppliers"></A></TD>

<TD><A HREF="bdr.asp" onmouseover="lightOn('busdev'); window.status='Business Development Resources';return true;" onmouseout="lightOff('busdev'); window.status=' ';return true;"><IMG SRC="images/topmenu_3_2a.gif" BORDER=0 ALT="Business Development Resources" name="busdev"></A></TD>

</TR>

<TR>

<TD><A HREF="contact.asp" onmouseover="lightOn('contact'); window.status='Contact Us';return true;" onmouseout="lightOff('contact'); window.status=' ';return true;"><IMG SRC="images/topmenu_1_3a.gif" BORDER=0 ALT="Contact Us" name="contact"></A></TD>

<TD><A HREF="products.asp" onmouseover="lightOn('products'); window.status='Products';return true;" onmouseout="lightOff('products'); window.status=' ';return true;"><IMG SRC="images/topmenu_2_3a.gif" BORDER=0 ALT="Products" name="products"></A></TD>

<TD><A HREF="ecomm.asp" onmouseover="lightOn('ecommerce'); window.status='Electronic Commerce';return true;" onmouseout="lightOff('ecommerce'); window.status=' ';return true;"><IMG SRC="images/topmenu_3_3b.gif" BORDER=0 ALT="Electronic Commerce" name="ecommerce"></A></TD>

</TR>

</TABLE>

</TD>

</TR>

<TR>

<TD COLSPAN=3>

<object width="720" height="152" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#4 ,0,2,0">

<param name="QUALITY" value="high">

<param name="LOOP" value="false">

<param name="SCALE" value="exactfit">

<param name="SRC" value="flash/circles.swf">

<embed width="720" height="152" quality="high" loop="false" scale="exactfit" src="flash/circles.swf" pluginspage="http://www.macromedia.com/shockwave/download/">

<!--<noembed><img src="../flash/files%20from%20Mike/topflash.jpg" width="720" height="152"></noembed>-->

</embed>

</object>

</TD>

</TR>

<TR>

<TD WIDTH=275 BGCOLOR="#E2E2EE">

<FORM ACTION="http://www.afflink.com/scripts/cgiip.exe/aff3/next.htm" METHOD="post" name="login">

<input type="hidden" name="sr" value="0">

<TABLE WIDTH=275 BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#E2E2EE">

<TR>

<TD WIDTH=7><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" WIDTH=7 HEIGHT=1></TD>

<TD WIDTH=121><font face="Verdana, Arial, Helvetica, sans-serif" size="1">user name:</font></TD>

<TD WIDTH=126><font face="Verdana, Arial, Helvetica, sans-serif" size="1">password:</font></TD>

<TD WIDTH=21><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></TD>

</TR>

<TR>

<TD WIDTH=7><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" WIDTH=7 HEIGHT=1></TD>

<TD WIDTH=121>

<input type="text" NAME="Username" onKeyPress="checkIt2(event,this.form)" size="14" style="background-color: rgb(255,255,255); border-width: 1; border-color: rgb(127,127,127)"></TD>

<TD WIDTH=126><input type="password" NAME="Password" onKeyPress="return checkIt(event)" size="14" style="background-color: rgb(255,255,255); border-width: 1; border-color: rgb(127,127,127)"></TD>

<TD WIDTH=21><INPUT TYPE="image" VALUE="go" SRC="images/go.gif" NAME="submit" > </TD>

</TR>

<!- Foreign language stuff ->

<TR>

<TD COLSPAN="4" ALIGN="center" STYLE="font-size:10px;">

<a href="default_fr.asp" style="font-size:10px; font-weight:bold;">En Francais</a>

|

<a href="espanol.asp" style="font-size:10px; font-weight:bold;">En Español</a>



<a href="/scripts/cgiip.exe/aff3/password.htm" style="font-size:10px; font-weight:bold;">Click here to retrieve your login information</a>

</TD>

</TR>

<TR>

<TD COLSPAN="4"><HR STYLE="width:95%; color:#d1d1dd;"></TD>

</TR>

<TR>

<TD colspan="4">

<center><a href="#" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('../www.afflink.com/default.htm');" style="font-size:12px;color:#ffffff;font-family:verdana;"><img src="images/makehome.gif" border="0" ALT="Make AFFLINK.com your Home Page"></a></center>

</TD>

</TR>

</TABLE>

</FORM>

</TD>

<TD WIDTH=2 VALIGN="top"><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" HEIGHT=1 WIDTH=2></TD>

<TD WIDTH=443 VALIGN="top">

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#v ersion=4,0,2,0" width="443" height="66">

<param name=movie value="flash/photos.swf">

<param name=quality value=high>

<param name="LOOP" value="false">

<param name="SCALE" value="exactfit">

<embed src="flash/photos.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Ver sion=ShockwaveFlash" type="application/x-shockwave-flash" width="443" height="66" loop="false" scale="exactfit">

</embed>

</object>

</TD>

</TR>

<TR>

<TD WIDTH=275 VALIGN=TOP>

<TABLE BORDER=0 WIDTH=275 CELLPADDING=5 CELLSPACING=0>

<TR>

<TD WIDTH=265 colspan=2><IMG SRC="images/newsevents2.gif" ALT="News and Events"></td>

</tr>

<tr>

<td width=10><img src="images/box1.gif" ALT="AFFLINK.com News Bullet"></td>

<td width=255><font face="verdana,arial" size=1 color="#3163CE">

<a href="article.asp?id=58">AFFLINK SIGNS AGREEMENT WITH MEDASSETS HEALTHCARE GPO.</a>

</FONT></TD>

</tr>

<tr>

<td width=10><img src="images/box1.gif" ALT="AFFLINK.com News Bullet"></td>

<td width=255><font face="verdana,arial" size=1 color="#3163CE">

<a href="article.asp?id=56">SAFETYLINK DIVISION OPENS NEW MARKET FOR AFFLINK</a>

</FONT></TD>

</tr>

<tr>

<td width=10><img src="images/box1.gif" ALT="AFFLINK.com News Bullet"></td>

<td width=255><font face="verdana,arial" size=1 color="#3163CE">

<a href="article.asp?id=55">PACKAGING CERTIFICATION PROGRAM RECOGNIZES DSR QUALIFICATIONS</a>

</FONT></TD>

</tr>

<tr>

<td width=10><img src="images/box1.gif" ALT="AFFLINK.com News Bullet"></td>

<td width=255><font face="verdana,arial" size=1 color="#3163CE">

<a href="article.asp?id=53">AFFLINK SIGNS AGREEMENT WITH PREMIER HEALTHCARE GPO</a>

</FONT></TD>

</tr>

<tr>

<td width=10><img src="images/box1.gif" ALT="AFFLINK.com News Bullet"></td>

<td width=255><font face="verdana,arial" size=1 color="#3163CE">

<a href="article.asp?id=44">AFFLINK LAUNCHES EC-DOX: THE ULTIMATE E-COMMERCE SOLUTION</a>

</FONT></TD>

</tr>

</table>

</TD>

<TD WIDTH=2><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" HEIGHT=1 WIDTH=2></TD>

<TD WIDTH=443 VALIGN=TOP>
<IMG SRC="images/1-aboutafflink.gif" ALT="About AFFLINK" NAME="text"></TD>

</TR>

</TABLE>

<script TYPE="text/javascript" LANGUAGE="JavaScript">

document.forms[0].elements[1].focus()

</script>

<script TYPE="text/javascript" LANGUAGE="JavaScript">SubmitThisValue(screen.width+"*"+screen.height);</script>

</BODY>

</HTML>

proxy error logs

[11/Aug/2006:13:24:26] info ( 7359): CORE1116: Sun Java System Web Proxy Server 4.0.3 B05/19/2006 05:15

[11/Aug/2006:13:24:26] fine ( 7359): Emulating writev for filter magnus-internal/cache-filter

[11/Aug/2006:13:24:26] fine ( 7359): Emulating sendfile for filter magnus-internal/cache-filter

[11/Aug/2006:13:24:26] fine ( 7359): Emulating writev for filter magnus-internal/html-tag

[11/Aug/2006:13:24:26] fine ( 7359): Emulating sendfile for filter magnus-internal/html-tag

[11/Aug/2006:13:24:26] fine ( 7359): Emulating writev for filter magnus-internal/external-process

[11/Aug/2006:13:24:26] fine ( 7359): Emulating sendfile for filter magnus-internal/external-process

[11/Aug/2006:13:24:26] fine ( 7359): Emulating writev for filter http-compression

[11/Aug/2006:13:24:26] fine ( 7359): Emulating sendfile for filter http-compression

[11/Aug/2006:13:24:26] fine ( 7359): Emulating writev for filter content-rewrite

[11/Aug/2006:13:24:26] fine ( 7359): Emulating sendfile for filter content-rewrite

[11/Aug/2006:13:24:26] fine ( 7359): HTTP3063: KeepAliveTimeout is 30 seconds (default value)

[11/Aug/2006:13:24:26] fine ( 7359): HTTP3067: PostThreadsEarly set to off

[11/Aug/2006:13:24:26] fine ( 7359): createAdminChannel()

[11/Aug/2006:13:24:26] fine ( 7359): CORE3047: Server spawned worker process 7362

[11/Aug/2006:13:24:26] fine ( 7362): HTTP5169: User authentication cache entries expire in 120 seconds.

[11/Aug/2006:13:24:26] fine ( 7362): HTTP5170: User authentication cache holds 200 users

[11/Aug/2006:13:24:26] fine ( 7362): HTTP5171: Up to 4 groups are cached for each cached user.

[11/Aug/2006:13:24:26] fine ( 7362): HTTP4207: file cache module initialized (API versions 1 through 1)

[11/Aug/2006:13:24:26] fine ( 7362): HTTP4302: file cache has been initialized

[11/Aug/2006:13:24:26] fine ( 7362): HTTP3066: MaxKeepAliveConnections set to 256

[11/Aug/2006:13:24:26] fine ( 7362): Installed configuration 1

[11/Aug/2006:13:24:26] info ( 7362): HTTP3072: [LS ls1] http://cygnus-x1:8080 ready to accept requests

[11/Aug/2006:13:24:26] fine ( 7362): Released configuration 1

[11/Aug/2006:13:24:26] fine ( 7362): Installed configuration 1

[11/Aug/2006:13:24:26] fine ( 7362): Started 48 request processing threads

[11/Aug/2006:13:24:26] info ( 7362): CORE3274: successful server startup

[11/Aug/2006:13:24:26] fine ( 7370): entering low latency mode

[11/Aug/2006:13:28:21] fine ( 7377): GET requests for virtual server vs1 can safely bypass ACL checks

[11/Aug/2006:13:28:21] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/, now managing connections to server www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/, attempting to resolve www.afflink.com

[11/Aug/2006:13:28:21] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/, attempting to connect to 208.255.254.21:80

[11/Aug/2006:13:28:21] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/, connected to 208.255.254.21:80

[11/Aug/2006:13:28:21] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/main2.css, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/main2.css, attempting to resolve www.afflink.com

[11/Aug/2006:13:28:21] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/main2.css, attempting to connect to 208.255.254.21:80

[11/Aug/2006:13:28:21] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/main2.css, connected to 208.255.254.21:80

[11/Aug/2006:13:28:21] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/images/spacer.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/images/spacer.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/aff25anim.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/aff25anim.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_1a.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_1a.gif, attempting to resolve www.afflink.com

[11/Aug/2006:13:28:21] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_1a.gif, attempting to connect to 208.255.254.21:80

[11/Aug/2006:13:28:21] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_1a.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:21] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_1a.gif, attempting to resolve www.afflink.com

[11/Aug/2006:13:28:21] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_1a.gif, attempting to connect to 208.255.254.21:80

[11/Aug/2006:13:28:22] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_1a.gif, connected to 208.255.254.21:80

[11/Aug/2006:13:28:22] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_3_1b.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_3_1b.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_1a.gif, connected to 208.255.254.21:80

[11/Aug/2006:13:28:22] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_2a.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_2a.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_2a.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_2a.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_3_2a.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_3_2a.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/flash/circles.swf, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/flash/circles.swf, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/flash/photos.swf, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7377): for host 10.3.120.69 trying to GET http://www.afflink.com/flash/photos.swf, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_3a.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_1_3a.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_3a.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_2_3a.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_3_3b.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/topmenu_3_3b.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/go.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/go.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/makehome.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7379): for host 10.3.120.69 trying to GET http://www.afflink.com/images/makehome.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/newsevents2.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7378): for host 10.3.120.69 trying to GET http://www.afflink.com/images/newsevents2.gif, reusing existing persistent connection to www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/box1.gif, service-http reports: attempting to contact www.afflink.com:80

[11/Aug/2006:13:28:22] fine ( 7380): for host 10.3.120.69 trying to GET http://www.afflink.com/images/box1.gif, reusing existing persistent connection to www.afflink.com:80

corrupted html (when using proxy)

-

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<HTML>

<HEAD>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

<LINK REL="stylesheet" TYPE="text/css" HREF="main2.css">

<script TYPE="text/javascript" LANGUAGE="JavaScript">

<!--hide from old browsers

if(document.images){

aboutafflinkOn = new Image();

aboutafflinkOn.src="images/1-aboutafflink.gif"

aboutafflinkOff= new Image();

aboutafflinkOff.src="images/white.gif";

employmentOn = new Image();

employmentOn.src="images/1-employment.gif"

employmentOff= new Image();

employmentOff.src="images/white.gif";

contactOn = new Image();

contactOn.src="images/1-contact.gif"

contactOff= new Image();

contactOff.src="images/white.gif";

distributorsOn = new Image();

distributorsOn.src="images/1-distributors.gif"

distributorsOff= new Image();

distribut

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

<LINK REL="stylesheet" TYPE="text/css" HREF="main2.css">

<script TYPE="text/javascript" LANGUAGE="JavaScript">

<!--hide from old browsers

if(document.images){

aboutafflinkOn = new Image();

aboutafflinkOn.src="images/1-aboutafflink.gif"

aboutafflinkOff= new Image();

aboutafflinkOff.src="images/white.gif";

employmentOn = new Image();

employmentOn.src="images/1-employment.gif"

employmentOff= new Image();

employmentOff.src="images/white.gif";

contactOn = new Image();

contactOn.src="images/1-contact.gif"

contactOff= new Image();

contactOff.src="images/white.gif";

distributorsOn = new Image();

distributorsOn.src="images/1-distributors.gif"

distributorsOff= new Image();

distribut

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

<LINK REL="stylesheet" TYPE="text/css" HREF="main2.css">

<script TYPE="text/javascript" LANGUAGE="JavaScript">

<!--hide from old browsers

if(document.images){

aboutafflinkOn = new Image();

aboutafflinkOn.src="images/1-aboutafflink.gif"

aboutafflinkOff= new Image();

aboutafflinkOff.src="images/white.gif";

employmentOn = new Image();

employmentOn.src="images/1-employment.gif"

employmentOff= new Image();

employmentOff.src="images/white.gif";

contactOn = new Image();

contactOn.src="images/1-contact.gif"

contactOff= new Image();

contactOff.src="images/white.gif";

distributorsOn = new Image();

distributorsOn.src="images/1-distributors.gif"

distributorsOff= new Image();

distributorsOff.src="images/white.gif";

suppliersOn = new Image();

suppliersOn.src="images/1-suppliers.gif"

suppliersOff= new Image();

suppliersOff.src="images/white.gif";

productsOn = new Image();

productsOn.src="images/1-products.gif"

productsOff= new Image();

productsOff.src="images/white.gif";

issOn = new Image();

issOn.src="images/1-iss.gif"

issOff= new Image();

issOff.src="images/white.gif";

busdevOn = new Image();

busdevOn.src="images/1-bdr.gif"

busdevOff= new Image();

busdevOff.src="images/white.gif";

ecommerceOn = new Image();

ecommerceOn.src="images/1-ecomm.gif"

ecommerceOff= new Image();

ecommerceOff.src="images/white.gif";

}

function lightOn(imgName){

if(document.images){

document.images["text"].src = eval(imgName+"On.src")

}

}

function lightOff(imgName){

if(document.images){

document.images["text"].src = eval(imgName+"Off.src")

}

}

//-->

</script>

<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">

function checkIt(e) {

var charCode = (navigator.appName == "Netscape") ? e.which :

e.keyCode

if (charCode == 13) {

if (document.forms["login"].elements["Password"].value.length > 0) {

document.forms["login"].submit()

return false

}

{

alert("Please enter a password")

}

}

return true

}

function checkIt2(e, form) {

var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode

if (charCode == 13) {

form.elements["Password"].focus()

form.elements["Password"].select()

}

}

//function noblank(frm) {

//if (frm.Password.value.length > 0) {

//document.forms["login"].submit()

//return false

//}

//{

//alert('Please enter a password');

//}

//}

</SCRIPT>

</HEAD>

<BODY BGCOLOR="#FFFFFF" leftmargin="0" topmargin="10" marginwidth="0" marginheight="10" text="#000000" link="#3366FF" vlink="#999999" alink="#FF0000">

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=720>

<TR>

<TD WIDTH=275 ALIGN=RIGHT VALIGN=BOTTOM><IMG SRC="images/spacer.gif" WIDTH=275 HEIGHT=1 ALT="AFFLINK.com Spacer">
<IMG SRC="images/aff25anim.gif" WIDTH=176 HEIGHT=65 ALT="AFFLINK"></TD>

<TD WIDTH=2><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" WIDTH=2 HEIGHT=1></TD>

<TD WIDTH=443 VALIGN=BOTTOM>

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>

<TR>

<TD><A HREF="about.asp" onmouseover="lightOn('aboutafflink'); window.status='About AFFLINK';return true;" onmouseout="lightOff('aboutafflink'); window.status=' ';return true;" ><IMG SRC="images/topmenu_1_1a.gif" BORDER=0 ALT="About AFFLINK" name="aboutafflink"></A></TD>

<TD><A HREF="http://www.afflink.com/scripts/cgiip.exe/afflink3/distmem.htm" onmouseover="lightOn('distributors'); window.status='Distributors';return true;" onmouseout="lightOff('distributors'); window.status=' ';return true;"><IMG SRC="images/topmenu_2_1a.gif" BORDER=0 ALT="Distributors" name="distributors"></A></TD>

<TD><A HREF="iss.asp" onmouseover="lightOn('iss'); window.status='Global Account Program';return true;" onmouseout="lightOff('iss'); window.status=' ';return true;"><IMG SRC="images/topmenu_3_1b.gif" BORDER=0 ALT="National Account Program" name="iss"></A></TD>

</TR>

<TR>

<TD><A HREF="employment.asp" onmouseover="lightOn('employment'); window.status='Employment';return true;" onmouseout="lightOff('employment'); window.status=' ';return true;"><IMG SRC="images/topmenu_1_2a.gif" BORDER=0 ALT="Employment" name="employment"></A></TD>

<TD><A HREF="http://www.afflink.com/scripts/cgiip.exe/afflink3/suppliers2.htm" onmouseover="lightOn('suppliers'); window.status='Suppliers';return true;" onmouseout="lightOff('suppliers'); window.status=' ';return true;"><IMG SRC="images/topmenu_2_2a.gif" BORDER=0 ALT="Suppliers" name="suppliers"></A></TD>

<TD><A HREF="bdr.asp" onmouseover="lightOn('busdev'); window.status='Business Development Resources';return true;" onmouseout="lightOff('busdev'); window.status=' ';return true;"><IMG SRC="images/topmenu_3_2a.gif" BORDER=0 ALT="Business Development Resources" name="busdev"></A></TD>

</TR>

<TR>

<TD><A HREF="contact.asp" onmouseover="lightOn('contact'); window.status='Contact Us';return true;" onmouseout="lightOff('contact'); window.status=' ';return true;"><IMG SRC="images/topmenu_1_3a.gif" BORDER=0 ALT="Contact Us" name="contact"></A></TD>

<TD><A HREF="products.asp" onmouseover="lightOn('products'); window.status='Products';return true;" onmouseout="lightOff('products'); window.status=' ';return true;"><IMG SRC="images/topmenu_2_3a.gif" BORDER=0 ALT="Products" name="products"></A></TD>

<TD><A HREF="ecomm.asp" onmouseover="lightOn('ecommerce'); window.status='Electronic Commerce';return true;" onmouseout="lightOff('ecommerce'); window.status=' ';return true;"><IMG SRC="images/topmenu_3_3b.gif" BORDER=0 ALT="Electronic Commerce" name="ecommerce"></A></TD>

</TR>

</TABLE>

</TD>

</TR>

<TR>

<TD COLSPAN=3>

<object width="720" height="152" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#4 ,0,2,0">

<param name="QUALITY" value="high">

<param name="LOOP" value="false">

<param name="SCALE" value="exactfit">

<param name="SRC" value="flash/circles.swf">

<embed width="720" height="152" quality="high" loop="false" scale="exactfit" src="flash/circles.swf" pluginspage="http://www.macromedia.com/shockwave/download/">

<!--<noembed><img src="../flash/files%20from%20Mike/topflash.jpg" width="720" height="152"></noembed>-->

</embed>

</object>

</TD>

</TR>

<TR>

<TD WIDTH=275 BGCOLOR="#E2E2EE">

<FORM ACTION="http://www.afflink.com/scripts/cgiip.exe/aff3/next.htm" METHOD="post" name="login">

<input type="hidden" name="sr" value="0">

<TABLE WIDTH=275 BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#E2E2EE">

<TR>

<TD WIDTH=7><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" WIDTH=7 HEIGHT=1></TD>

<TD WIDTH=121><font face="Verdana, Arial, Helvetica, sans-serif" size="1">user name:</font></TD>

<TD WIDTH=126><font face="Verdana, Arial, Helvetica, sans-serif" size="1">password:</font></TD>

<TD WIDTH=21><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></TD>

</TR>

<TR>

<TD WIDTH=7><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" WIDTH=7 HEIGHT=1></TD>

<TD WIDTH=121>

<input type="text" NAME="Username" onKeyPress="checkIt2(event,this.form)" size="14" style="background-color: rgb(255,255,255); border-width: 1; border-color: rgb(127,127,127)"></TD>

<TD WIDTH=126><input type="password" NAME="Password" onKeyPress="return checkIt(event)" size="14" style="background-color: rgb(255,255,255); border-width: 1; border-color: rgb(127,127,127)"></TD>

<TD WIDTH=21><INPUT TYPE="image" VALUE="go" SRC="images/go.gif" NAME="submit" > </TD>

</TR>

<!- Foreign language stuff ->

<TR>

<TD COLSPAN="4" ALIGN="center" STYLE="font-size:10px;">

<a href="default_fr.asp" style="font-size:10px; font-weight:bold;">En Francais</a>

|

<a href="espanol.asp" style="font-size:10px; font-weight:bold;">En Español</a>



<a href="/scripts/cgiip.exe/aff3/password.htm" style="font-size:10px; font-weight:bold;">Click here to retrieve your login information</a>

</TD>

</TR>

<TR>

<TD COLSPAN="4"><HR STYLE="width:95%; color:#d1d1dd;"></TD>

</TR>

<TR>

<TD colspan="4">

<center><a href="#" onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('../www.afflink.com/default.htm');" style="font-size:12px;color:#ffffff;font-family:verdana;"><img src="images/makehome.gif" border="0" ALT="Make AFFLINK.com your Home Page"></a></center>

</TD>

</TR>

</TABLE>

</FORM>

</TD>

<TD WIDTH=2 VALIGN="top"><IMG SRC="images/spacer.gif" ALT="AFFLINK.com Spacer" HEIGHT=1 WIDTH=2></TD>

<TD WIDTH=443 VALIGN="top">

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#v ersion=4,0,2,0" width="443" height="66">

<param name=movie value="flash/photos.swf">

<param name=quality value=high>

<param name="LOOP" value="false">

<param name="SCALE" value="exactfit">

<embed src="flash/photos.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Ver sion=ShockwaveFlash" type="application/x-shockwave-flash" width="443" height="66" loop="false" scale="exactfit">

</embed>

</object>

</TD>

</TR>

<TR>

<TD WIDTH=275 VALIGN=TOP>

<TABLE BORDER=0 WIDTH=275 CELLPADDING=5 CELLSPACING=0>

<TR>

<TD WIDTH=265 colspan=2><IMG SRC="images/newsevents2.gif" ALT="News and Events"></td>

</tr>

<tr>

<td width=10><img src="images/box1.gif" ALT="AFFLINK.com News Bullet"></td>

<td width=255><font face="verdana,arial" size=1 color="#3163CE">

<a href="article.asp?id=58">AFFLINK SIGNS AGREEMENT WITH MEDASSETS HEALTHCARE GPO.</a>

</FONT></TD>

</tr>

<tr>

<td width=10><img src="images/box1.gif" ALT="AFFLINK.com News Bullet"></td>

<td width=255><font face="verdana,arial" size=1 color="#3163CE">

<a href="article.asp?id=56">SAFETYLINK DIVISION OPENS NEW MARKET FOR AFFLIN

(yes thats it it stops here)

thanks for your eyes and assistance.

Doug Lochart

Cape Computing

[43640 byte] By [dlochart] at [2007-11-26 9:26:11]
# 1

Hi,

Thanks for the bug report.

I tried to reproduce the same behavior using the same browser, and the obj.conf you had attached, and the html file in your mail. Unfortunately? I can not reproduce the problem you are facing,

So I am including a smaller obj.conf file that you can check with so as to narrow the problem.

# You can edit this file, but comments and formatting changes

# might be lost when the admin server makes changes.

Init fn="flex-init" access="$accesslog" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->vars.p2c-cl% %Req->vars.remote-status% %Req->vars.r2p-cl% %Req->headers.content-length% %Req->vars.p2r-cl% %Req->vars.c2p-hl% %Req->vars.p2c-hl% %Req->vars.p2r-hl% %Req->vars.r2p-hl% %Req->vars.xfer-time%"

Init fn="init-proxy" timeout="300" timeout-2="15"

<Object name="default">

AuthTrans fn="match-browser" browser=".*MSIE.*" ssl-unclean-shutdown="true"

NameTrans fn="assign-name" name="afflink" from="http://webproxy\.india\.sun\.com\/.*"

PathCheck fn="url-check"

ObjectType fn="block-ip"

Service fn="deny-service"

AddLog fn="flex-log" name="access"

</Object>

<Object ppath="http://.*">

ObjectType fn="cache-enable" query-maxlen="10" log-report="off"

ObjectType fn="cache-setting" lm-factor="0.10" max-uncheck="7200"

Service fn="proxy-retrieve" method="*"

</Object>

<Object name="afflink">

Filter fn="filter-html" start="SCRIPT" end="SCRIPT"

Filter fn="filter-html" start="TITLE" end="TITLE"

</Object>

ps: Make sure that you replace the webproxy\.india\.sun\.com with your webserver name. To narrow the problem domain still further, I would suggest you have a webserver running with the html that you pasted as - say test.html

Assuming the machine on which you have your webserver is mymachine.world.com,

the webproxy\.india\.sun\.com regex should be changed to

from="http://mymachine\.world\.com/.*"

make sure it works by denying the request that comes through the object afflink.

Now, use telnet and establish a connection to proxy, and request the test.html

(echo "GET http://mymachine.world.com/test.html HTTP/1.0\n\n";sleep 1) | telnet myproxy.world.com 8080 > out.html

change the port numbers according to where your proxy is listening.

and change myproxy to your proxy machine hostname.

Please do a diff of the out.html and the test.html and post the diff here.

Also please post the diff of requesting a smaller file like

<html>

<title>remove me.</title>

</html>

rahulnair at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 2

Raul,

Thanks for replying back! I will give what you suggest a try but I have to let you know that I have tried serving up static html files from my workstation here at work when I was testing this and it worked fine. It only failed when I delivered it to the customer and we used a rela url that they will be doing this with. I hope you tried the www.afflink.com as the source because some places I go to on th enet work, some don't work at all (like yahoo) , and this one got corrupted.

I used the raw source from both yahoo and afflink from my local box and I got different results which makes me think its a socket read/write issue or something like that. I spent the entire week running different tests with different things. However I will do as you ask and try again.

thanks

Doug

dlochart at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 3

"make sure it works by denying the request that comes through the object afflink."

In a template definition does this do the trick to deny it ?

<Object name="afflink">

Service fn="deny-service"

</Object>

Its not working. However if I rename the Object name to afflink1 then I get an error saying that it parsed the requested url and it could not find the object named afflink. This tells me the template matching is working. Your thoughts

dlochart at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 4

Just try inserting the filter in the default http object,and removing the assign name and the named object. like below.

<Object ppath="http://.*">

ObjectType fn="cache-enable" query-maxlen="10" log-report="off"

ObjectType fn="cache-setting" lm-factor="0.10" max-uncheck="7200"

Filter fn="filter-html" start="SCRIPT" end="SCRIPT"

Filter fn="filter-html" start="TITLE" end="TITLE"

Service fn="proxy-retrieve" method="*"

</Object>

I am also interested in any snoop output you can provide between the proxy and the webserver when you experience the corruption of the html.

ps: Use the patchcheck stage to deny, like below in case you want to follow that route.

<Object name="afflink">

PathCheck fn="deny-service"

</Object>

rahulnair at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 5

Rahul,

I performed the test you asked me to do. The results were as predicted. The tags were removed. My BUG REPORT filing was not based on html documents that were loaded from a local webserver. These all seem to work fine. This is how I originally tested and what prompted me to deliver the proxy to the client. The problems / corruption occurs when we are dealing with web URLs that are outside of our local network (i.e. real world external webservers). I ran the test with the html from afflink on a local webserver and the prxoy worked as it should. But then with the EXACT same obj.conf file I pointed my browser to www.afflink.com and the html was corrupted. Also the script tags from www.yahoo.com are not removed.

Did you try going to the site www.afflink.com directly?

I have tried this test from 3 different networks:

1) our clients ( we do not host them)

2) our internal company network

3) my home network (Verizon DSL)

All had the same results.

I can perform a snoop for you but I need to know what you want. Do you want me to run tcpdump ahen I do the request? Any specific parameters for tcpdump I need to set?

If the file is real big can I zip it and email it to you?

BTW this is the VERY simple obj.conf used. I have used the one you sent me plus a whole host of other tweaks and I still get the same results.

Init fn="flex-init" access="$accesslog" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->vars.p2c-cl% %Req->vars.remote-status% %Req->vars.r2p-cl% %Req->headers.content-length% %Req->vars.p2r-cl% %Req->vars.c2p-hl% %Req->vars.p2c-hl% %Req->vars.p2r-hl% %Req->vars.r2p-hl% %Req->vars.xfer-time%"

Init fn="init-proxy" timeout="300" timeout-2="15"

<Object name="default">

AuthTrans fn="match-browser" browser=".*MSIE.*" ssl-unclean-shutdown="true"

PathCheck fn="url-check"

ObjectType fn="block-ip"

Service fn="deny-service"

AddLog fn="flex-log" name="access"

</Object>

<Object ppath="http://.*">

ObjectType fn="cache-enable" query-maxlen="10" log-report="off"

ObjectType fn="cache-setting" lm-factor="0.10" max-uncheck="7200"

Filter fn="filter-html" start="SCRIPT" end="SCRIPT"

Filter fn="filter-html" start="TITLE" end="TITLE"

Service fn="proxy-retrieve" method="*"

</Object>

dlochart at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 6

Rahul, have you had a chance to look at this? I am ready to send you a tcpdump if you still need it. Basically I will do the following:

tcpdump -v -nn host 10.3.120.69 and port 80

to capture the traffic between the proxy box and the www.afflink.com website. I assume this would be good enough. You did say you wanted a dump between the webproxy and the external web server correct?

thanks

Doug

dlochart at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 7

Yes I am still looking into the bug you gave. I dont have direct access to the net, so I have been trying to get a machine that has outside access.

Since this is the case, any info that you can give on reproducing the bug other than to try direct connection to afflink/yahoo will help a lot.

yes, the tcpdump between the proxy and the server is what is needed, also , use telnet rather than browser to request the document (to restrict the number of simultaneous requests.)

rahulnair at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 8

I will get you a tcpdump from a telnet HTTP request later today.

I find it odd that you do not have a direct internet connection especially as you seem

to be a developer/supporter of this product.

I have not had any problem with filtering when the requests are local (internal LAN). This is why my testing went smoothly. Most of the time it does not work for external sites. The

afflink site is the only one that has been corrupted so far. The rest like www.yahoo.com and www.google.com simply do not get there tags stripped out.

I'll post the tcpdump as soon as I can.

thanks

Doug

dlochart at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 9

TCPDUMP information

Rahul, below is the tcpdump information you requested. Please let me know if you need anything else.

--

root@cygnus-x1:/tmp# tcpdump -v -nn host 10.3.120.69 and port 80

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

15:44:29.641926 IP (tos 0x0, ttl 64, id 11914, offset 0, flags [DF], length: 60) 10.3.120.69.39133 > 208.255.254.21.80: S [tcp sum ok] 3347268052:3347268052(0) win 5840 <mss 1460,sackOK,timestamp 20279134 0,nop,wscale 7>

15:44:29.690206 IP (tos 0x0, ttl 119, id 10330, offset 0, flags [none], length: 64) 208.255.254.21.80 > 10.3.120.69.39133: S [tcp sum ok] 1596508031:1596508031(0) ack 3347268053 win 16384 <mss 1380,nop,wscale 0,nop,nop,timestamp 0 0,nop,nop,sackOK>

15:44:29.690259 IP (tos 0x0, ttl 64, id 11915, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 1 win 46 <nop,nop,timestamp 20279182 0>

15:44:29.691218 IP (tos 0x0, ttl 64, id 11916, offset 0, flags [DF], length: 251) 10.3.120.69.39133 > 208.255.254.21.80: P 1:200(199) ack 1 win 46 <nop,nop,timestamp 20279183 0>

15:44:29.819795 IP (tos 0x0, ttl 119, id 10348, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 1:1369(1368) ack 200 win 65336 <nop,nop,timestamp 1966776 20279183>

15:44:29.819845 IP (tos 0x0, ttl 64, id 11917, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 1369 win 67 <nop,nop,timestamp 20279312 1966776>

15:44:29.826982 IP (tos 0x0, ttl 119, id 10349, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 1369:2737(1368) ack 200 win 65336 <nop,nop,timestamp 1966776 20279183>

15:44:29.827007 IP (tos 0x0, ttl 64, id 11918, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 2737 win 89 <nop,nop,timestamp 20279319 1966776>

15:44:29.895133 IP (tos 0x0, ttl 119, id 10425, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 2737:4105(1368) ack 200 win 65336 <nop,nop,timestamp 1966777 20279312>

15:44:29.895180 IP (tos 0x0, ttl 64, id 11919, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 4105 win 110 <nop,nop,timestamp 20279387 1966777>

15:44:29.902427 IP (tos 0x0, ttl 119, id 10426, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 4105:5473(1368) ack 200 win 65336 <nop,nop,timestamp 1966777 20279312>

15:44:29.902457 IP (tos 0x0, ttl 64, id 11920, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 5473 win 132 <nop,nop,timestamp 20279394 1966777>

15:44:29.925317 IP (tos 0x0, ttl 119, id 10458, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 5473:6841(1368) ack 200 win 65336 <nop,nop,timestamp 1966777 20279319>

15:44:29.925366 IP (tos 0x0, ttl 64, id 11921, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 6841 win 153 <nop,nop,timestamp 20279417 1966777>

15:44:29.940555 IP (tos 0x0, ttl 119, id 10459, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 6841:8209(1368) ack 200 win 65336 <nop,nop,timestamp 1966777 20279319>

15:44:29.940598 IP (tos 0x0, ttl 64, id 11922, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 8209 win 174 <nop,nop,timestamp 20279432 1966777>

15:44:29.978383 IP (tos 0x0, ttl 119, id 10542, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 8209:9577(1368) ack 200 win 65336 <nop,nop,timestamp 1966778 20279387>

15:44:29.978428 IP (tos 0x0, ttl 64, id 11923, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 9577 win 196 <nop,nop,timestamp 20279470 1966778>

15:44:29.985660 IP (tos 0x0, ttl 119, id 10543, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 9577:10945(1368) ack 200 win 65336 <nop,nop,timestamp 1966778 20279387>

15:44:29.985690 IP (tos 0x0, ttl 64, id 11924, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 10945 win 217 <nop,nop,timestamp 20279478 1966778>

15:44:30.008535 IP (tos 0x0, ttl 119, id 10559, offset 0, flags [DF], length: 1420) 208.255.254.21.80 > 10.3.120.69.39133: . 10945:12313(1368) ack 200 win 65336 <nop,nop,timestamp 1966778 20279394>

15:44:30.008583 IP (tos 0x0, ttl 64, id 11925, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 12313 win 238 <nop,nop,timestamp 20279500 1966778>

15:44:30.010543 IP (tos 0x0, ttl 119, id 10560, offset 0, flags [DF], length: 594) 208.255.254.21.80 > 10.3.120.69.39133: P 12313:12855(542) ack 200 win 65336 <nop,nop,timestamp 1966778 20279394>

15:44:30.010563 IP (tos 0x0, ttl 64, id 11926, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 12855 win 238 <nop,nop,timestamp 20279502 1966778>

15:45:07.016255 IP (tos 0x0, ttl 64, id 11927, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: F [tcp sum ok] 200:200(0) ack 12855 win 238 <nop,nop,timestamp20316514 1966778>

15:45:07.067595 IP (tos 0x0, ttl 119, id 7482, offset 0, flags [DF], length: 52) 208.255.254.21.80 > 10.3.120.69.39133: . [tcp sum ok] ack 201 win 65336 <nop,nop,timestamp 1967149 20316514>

15:45:07.067800 IP (tos 0x0, ttl 119, id 7483, offset 0, flags [DF], length: 52) 208.255.254.21.80 > 10.3.120.69.39133: F [tcp sum ok] 12855:12855(0) ack 201 win 65336 <nop,nop,timestamp 1967149 20316514>

15:45:07.067831 IP (tos 0x0, ttl 64, id 212, offset 0, flags [DF], length: 52) 10.3.120.69.39133 > 208.255.254.21.80: . [tcp sum ok] ack 12856 win 238 <nop,nop,timestamp 20316565 1967149>

-

thanks

Doug

dlochart at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 10

Hi,

I got an out word facing machine, and the scenario you described is reproducible for afflink site. I will raise a bug on your behalf. Thanks a *lot* for the bug report and following it up.

(unfortunately being a dev does not automatically translate to having an outword facing machine in easy reach. :( )

rahulnair at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 11

Rahul,

Any idea on how long it may take to resolve? I know thats a hard question to ask but if its fixed would the fix be available immediately or whould it wait until a next release is planned? When is the next release scheduled?

Also if you try site like www.yahoo.com you will see that the filtering does not work either. I can send you a diff but if your open facing machine is still available to you give it a try. Many sites do not work when its directly connected to the internet.

thanks

Doug

dlochart at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 12
Unfortunately I do not know exactly in which release will get addressed, but this being a sufficiently serious bug, I would say soon.
rahulnair at 2007-7-7 0:04:18 > top of Java-index,Web & Directory Servers,Web Servers...
# 13

Rahul,

I also reported a content-length bug about 2-3 months ago. It was not addressed in the 4.0.3 release. Since it occured when tag filters operated on an html page maybe it can be fixed at the same time? To refresh your memory the bug is this.

When loading an html page and HTML tag filters remove the tags the resulting page that the browser sees is smaller than the original document. The content-length of the filtered page still contains the length of the original page. This causes some browsers to complan and some applications that use http to grab html docs to break.

I discovered this bug when I was testing using an internal web server (the situation that actually has the filters working somewhat properly)

Thanks

Doug

dlochart at 2007-7-7 0:04:19 > top of Java-index,Web & Directory Servers,Web Servers...
# 14
I do remember the content-length problem you reported in the earlier thread( http://swforum.sun.com/jive/thread.jspa?threadID=98038&messageID=338068#33 8068)these two will not be addressed in the 4.0.4 also since it is fairly close to release now.
rahulnair at 2007-7-7 0:04:19 > top of Java-index,Web & Directory Servers,Web Servers...