Article delegate-en/3356 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A3355@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: Working with CFI
04 Jul 2006 17:16:37 GMT feedback@delegate.org (Yutaka Sato)
The DeleGate Project


Hi,

In message <_A3355@delegate-en.ML_> on 07/04/06(19:12:29)
you "Xavier Cheney" <p2mgabdyi-t7hpjii7obxr.ml@ml.delegate.org> wrote:
 |  1/ You were true : I made a mistake in my command line PHP script filter. 
 |Now, it works under Windows XP !
 |  But I still have a problem under linux : the text is not shown for 
 |google.fr, and text characters are like binary text for yahoo.com. I noticed 
 |that Delegate detects "non-text in text type2 resp" for the both sites ...
 |  Here is the log beside. You will perhaps understand why it doesn't works, 
 |even when cat.cfi !

The text is gzipped in the upstream proxy and passed to the filter
without gunzipped in this case.  DeleGate does gunzip the response
data when it interprets the data for cache, filter, MOUNT or so.
But in this case, it does not recognize the gunzip is necessary.
This problem is caused in 9.2.3-pre4 in which I postponed inserting 
(possibly unnecessary) CFI filter untill it see the response data.
The necessity of gunzip is detemined at the point of request relaying
when Accept-Encoding to be sent to the upstream-proxy or origin-server
is determined.  One of cahce, unconditional filter, or MOUNT need to
be activated in the point.  The most simple way will be activating
cache with short expiration (1 second) as this for example.

 CACHE=do EXPIRE=1s

Or you can (should) stop doing gzip for text data in your upstream-proxy.
If it resides near of your DeleGate, doing gzip/ungzip text data between
the DeleGate and the upstream-proxy will be useless and might decrease
the performance.

Anyway it will be fixed as the enclosed patch in the next release.
(it disables gzip in the upstream-proxy when with CFI and even when CFI
is conditional, thus it acts as 9.2.3-pre3 or former)

 |07/04 11:58:56.70 [11485] 1+1: REQUEST - GET http://www.google.fr/ HTTP/1.1^M
...
 |07/04 11:58:56.72 [11485] 1+1: Forward connected [11] {89.0.15.2:8080 <- 
 |89.0.20.109:35923} [0.001s]
...
 |07/04 11:58:56.72 [11485] 1+1: #PROXY REQUEST = GET http://www.google.fr/ 
 |HTTP/1.1^M
 |07/04 11:59:00.34 [11486] 1+1: -- Fork(FTOCL): 11485 -> 11486
 |07/04 11:59:00.34 [11486] 1+1: #### execFilter[FTOCL] CFI
 |07/04 11:59:00.34 [11486] 1+1: ## CFI/http ##
 |07/04 11:59:00.34 [11485] 1+1: Cancelled DoZIP filter:2
 |07/04 11:59:00.34 [11485] 1+1: #HT11 SERVER ver[HTTP/1.0] conn[keep-alive]
 |07/04 11:59:00.34 [11485] 1+1: #HT11 server KEEP-ALIVE
 |07/04 11:59:00.34 [11485] 1+1: HTTP/1.0 200 Content-{Type:text/html Encoding:
 |[gzip/] Leng:1413} Server:GWS/2.1
 |07/04 11:59:00.34 [11485] 1+1: non-text in text type2 resp.(0/9)11 
 |[www.google.fr]/
 |07/04 11:59:00.34 [11485] 1+1: detach respBuff: non-text data, non keep-alive
 |07/04 11:59:00.34 [11485] 1+1: HTTP transmitted: 
 |229head+1413/1413body=>0txt+0bin->1413/1413, 11i/3o/0f/0.0
 |07/04 11:59:00.34 [11486] 1+1: #### [0.000735] - => 0
 |07/04 11:59:00.35 [11486] 1+1: systemFilter[0,1]: cat

Cheers,
Yutaka
--
  9 9   Yutaka Sato <y.sato@delegate.org> http://delegate.org/y.sato/
 ( ~ )  National Institute of Advanced Industrial Science and Technology
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller

*** ../arc/delegate9.2.3-pre8/src/http.c	Mon Jul  3 02:04:30 2006
--- src/http.c	Wed Jul  5 01:53:04 2006
***************
*** 4996,5001 ****
--- 4996,5002 ----
  
  	rewrite = QX_cpath[0]
  	 || withConversion(Conn,0)
+ 	 || sav_FTOCL && IsCFI(sav_FTOCL)
  	 || (Conn->xf_filters & (XF_FFROMSV|XF_FTOCL));
  	if( !rewrite )
  		return 0;

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V