[squid-users] problems with spellcheck in owa with squid reverse proxy

From: Brett Lymn <blymn@dont-contact.us>
Date: Thu, 22 Feb 2007 16:42:18 +1030

Hi,

I am having a problem with getting the spellcheck functionality of the
Microsoft OWA working with a Squid 2.6STABLE9 reverse proxy. When you
attempt to spellcheck a mail message OWA pops up a box saying the
message is being checked and then sometime later pops up another
message box saying "The spelling in this item can't be checked. Try
again later". The obvious things tried:

1) the reverse proxy seems to function fine for everything else, just
the spellcheck seems to be broken

2) all the settings on the OWA settings seem correct, it allows basic
authentication for accessing the spellcheck - in fact the spell check
runs and spits stuff back (see later)

3) This all works fine if I don't have the the reverse proxy in the
loop - I have set up an internal machine as a test rproxy, the spell
check fails, just pointing the browser at the origin server directly
and the spell check works fine.

4) the browser is configured to talk direct to the machine(s) - both
rproxy and origin server

Here is a lightly edited sniff of the traffic between the reverse
proxy machine (squid) and the OWA origin server (exchange). Looking
at this you can see that there is a post to the owaspell.dll that
passes the contents of the message, a reply is generated giving
options for the misspelt words but the client behaves as though this
response never arrives. Has anyone any clues they can hit me with?

The sniff:

       squid -> exchange HTTP POST /exchweb/bin/spell/owaspell.dll HTTP/1.0

           0: 0000 0c07 ac03 0800 20d2 0a45 0800 4500 ........ ..E..E.
          16: 0293 4a24 4000 4006 b920 96cf 035d 96cf ..J$@.@.. ...]..
          32: 0425 b33b 0050 a0d5 69be 8ccf 10e6 5018 .%.;.P..i.....P.
          48: c1e8 f628 0000 504f 5354 202f 6578 6368 ...(..POST /exch
          64: 7765 622f 6269 6e2f 7370 656c 6c2f 6f77 web/bin/spell/ow
          80: 6173 7065 6c6c 2e64 6c6c 2048 5454 502f aspell.dll HTTP/
          96: 312e 300d 0a41 6363 6570 743a 202a 2f2a 1.0..Accept: */*
         112: 0d0a 5265 6665 7265 723a 2068 7474 703a ..Referer: http:
         128: 2f2f 3135 302e 3230 372e 332e 3933 2f65 //150.207.3.93/e
         144: 7863 6861 6e67 652f 6272 6574 742e 6c79 xchange/brett.ly
         160: 6d6e 2f3f 636d 643d 7370 656c 6c63 6865 mn/?cmd=spellche
         176: 636b 0d0a 7365 6e64 6572 726f 726f 6666 ck..senderroroff
         192: 7365 7473 3a20 540d 0a69 676e 6f72 656d sets: T..ignorem
         224: 7065 6c6c 6c61 6e67 3a20 656e 2d61 750d pelllang: en-au.
         240: 0a43 6f6e 7465 6e74 2d54 7970 653a 2074 .Content-Type: t
         256: 6578 742f 706c 6169 6e3b 2063 6861 7273 ext/plain; chars
         272: 6574 3d75 7466 2d38 0d0a 4163 6365 7074 et=utf-8..Accept
         288: 2d4c 616e 6775 6167 653a 2065 6e2d 6175 -Language: en-au
         304: 0d0a 6967 6e6f 7265 616c 6c63 6170 733a ..ignoreallcaps:
         320: 2046 0d0a 4163 6365 7074 2d45 6e63 6f64 F..Accept-Encod
         336: 696e 673a 2067 7a69 702c 2064 6566 6c61 ing: gzip, defla
         352: 7465 0d0a 5573 6572 2d41 6765 6e74 3a20 te..User-Agent:
         368: 4d6f 7a69 6c6c 612f 342e 3020 2863 6f6d Mozilla/4.0 (com
         384: 7061 7469 626c 653b 204d 5349 4520 362e patible; MSIE 6.
         400: 303b 2057 696e 646f 7773 204e 5420 352e 0; Windows NT 5.
         432: 2031 2e31 2e34 3332 3229 0d0a 486f 7374 1.1.4322)..Host
         448: 3a20 3135 302e 3230 372e 332e 3933 0d0a : 150.207.3.93..
         464: 436f 6e74 656e 742d 4c65 6e67 7468 3a20 Content-Length:
         480: 3134 0d0a 4175 7468 6f72 697a 6174 696f 14..Authorizatio
         496: 6e3a 2042 6173 6963 20XX XXXX XXXX XXXX n: Basic XXXXXXX
         512: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXXXXXXXXXXXXX
         528: XXXX XXXX XXXX 0a56 6961 3a20 312e 3120 XXXXX..Via: 1.1
         544: 7371 7569 643a 3830 2028 7371 7569 642f squid:80 (squid/
         560: 322e 362e 5354 4142 4c45 3929 0d0a 582d 2.6.STABLE9)..X-
         576: 466f 7277 6172 6465 642d 466f 723a 2031 Forwarded-For: 1
         592: 3530 2e32 3037 2e31 382e 3937 0d0a 4361 50.207.18.97..Ca
         608: 6368 652d 436f 6e74 726f 6c3a 206e 6f2d che-Control: no-
         624: 6361 6368 652c 206d 6178 2d61 6765 3d32 cache, max-age=2
         640: 3539 3230 300d 0a43 6f6e 6e65 6374 696f 59200..Connectio
         656: 6e3a 206b 6565 702d 616c 6976 650d 0a0d n: keep-alive...
         672: 0a .

       squid -> exchange HTTP tesata teratat

           0: 0000 0c07 ac03 0800 20d2 0a45 0800 4500 ........ ..E..E.
          16: 0036 4a25 4000 4006 bb7c 96cf 035d 96cf .6J%@.@..|...]..
          32: 0425 b33b 0050 a0d5 6c29 8ccf 10e6 5018 .%.;.P..l)....P.
          48: c1e8 b57d 0000 7465 7361 7461 2074 6572 ...}..tesata ter
          64: 6174 6174 atat

    exchange -> squid HTTP R port=45883

           0: 0800 20d2 0a45 000e d797 78ff 0800 4500 .. ..E....x...E.
          16: 0028 cc9a 4000 7e06 fb14 96cf 0425 96cf .(..@.~......%..
          32: 035d 0050 b33b 8ccf 10e6 a0d5 6c37 5010 .].P.;......l7P.
          48: fd86 1edf 0000 0000 0000 0000 ............

    exchange -> squid HTTP HTTP/1.1 200 OK

           0: 0800 20d2 0a45 000e d797 78ff 0800 4500 .. ..E....x...E.
          16: 00f7 cc9b 4000 7e06 fa44 96cf 0425 96cf ....@.~.úD...%..
          32: 035d 0050 b33b 8ccf 10e6 a0d5 6c37 5018 .].P.;......l7P.
          48: fd86 1541 0000 4854 5450 2f31 2e31 2032 ...A..HTTP/1.1 2
          64: 3030 204f 4b0d 0a43 6f6e 6e65 6374 696f 00 OK..Connectio
          80: 6e3a 206b 6565 702d 616c 6976 650d 0a44 n: keep-alive..D
          96: 6174 653a 2054 6875 2c20 3232 2046 6562 ate: Thu, 22 Feb
         112: 2032 3030 3720 3035 3a35 323a 3336 2047 2007 05:52:36 G
         128: 4d54 0d0a 5365 7276 6572 3a20 4d69 6372 MT..Server: Micr
         144: 6f73 6f66 742d 4949 532f 362e 300d 0a58 osoft-IIS/6.0..X
         160: 2d50 6f77 6572 6564 2d42 793a 2041 5350 -Powered-By: ASP
         176: 2e4e 4554 0d0a 436f 6e74 656e 742d 7479 .NET..Content-ty
         192: 7065 3a20 7465 7874 2f78 6d6c 0d0a 5472 pe: text/xml..Tr
         208: 616e 7366 6572 2d45 6e63 6f64 696e 673a ansfer-Encoding:
         224: 2063 6875 6e6b 6564 0d0a 4361 6368 652d chunked..Cache-
         240: 436f 6e74 726f 6c3a 206e 6f2d 6361 6368 Control: no-cach
         256: 650d 0a0d 0a e....
       squid -> exchange HTTP C port=45883

           0: 0000 0c07 ac03 0800 20d2 0a45 0800 4500 ........ ..E..E.
          16: 0028 4a26 4000 4006 bb89 96cf 035d 96cf .(J&@.@......]..
          32: 0425 b33b 0050 a0d5 6c37 8ccf 11b5 5010 .%.;.P..l7....P.
          48: c119 5a7d 0000 ..Z}..

    exchange -> squid HTTP (body)

           0: 0800 20d2 0a45 000e d797 78ff 0800 4500 .. ..E....x...E.
          16: 01f4 cc9d 4000 7e06 f945 96cf 0425 96cf ....@.~.ùE...%..
          32: 035d 0050 b33b 8ccf 11b5 a0d5 6c37 5018 .].P.;......l7P.
          48: fd86 d6e2 0000 3163 300d 0a3c 7370 656c ......1c0..<spel
          64: 6c63 6865 636b 7265 7375 6c74 733e 3c66 lcheckresults><f
          80: 6c61 6767 6564 776f 7264 733e 3c66 773e laggedwords><fw>
          96: 3c77 6f72 643e 7465 7361 7461 3c2f 776f <word>tesata</wo
         128: 576f 7264 3c2f 7479 7065 3e3c 6f66 6673 Word</type><offs
         144: 6574 3e30 3c2f 6f66 6673 6574 3e3c 2f66 et>0</offset></f
         160: 773e 3c66 773e 3c77 6f72 643e 7465 7261 w><fw><word>tera
         176: 7461 743c 2f77 6f72 643e 3c74 7970 653e tat</word><type>
         192: 556e 6b6e 6f77 6e57 6f72 643c 2f74 7970 UnknownWord</typ
         208: 653e 3c6f 6666 7365 743e 373c 2f6f 6666 e><offset>7</off
         224: 7365 743e 3c2f 6677 3e3c 2f66 6c61 6767 set></fw></flagg
         240: 6564 776f 7264 733e 3c73 7567 6765 7374 edwords><suggest
         256: 696f 6e73 3e3c 736c 3e3c 776f 7264 3e74 ions><sl><word>t
         272: 6572 6174 6174 3c2f 776f 7264 3e3c 7375 eratat</word><su
         288: 673e 7465 7261 7461 3c2f 7375 673e 3c73 g>terata</sug><s
         304: 7567 3e74 6172 6174 613c 2f73 7567 3e3c ug>tarata</sug><
         320: 7375 673e 7465 7261 7761 7474 3c2f 7375 sug>terawatt</su
         336: 673e 3c2f 736c 3e3c 736c 3e3c 776f 7264 g></sl><sl><word
         352: 3e74 6573 6174 613c 2f77 6f72 643e 3c73 >tesata</word><s
         368: 7567 3e74 6573 7461 7461 3c2f 7375 673e ug>testata</sug>
         384: 3c73 7567 3e74 6573 7461 3c2f 7375 673e <sug>testa</sug>
         400: 3c73 7567 3e74 6572 6174 613c 2f73 7567 <sug>terata</sug
         416: 3e3c 7375 673e 7465 7374 6165 3c2f 7375 ><sug>testae</su
         432: 673e 3c73 7567 3e74 6573 7461 7465 3c2f g><sug>testate</
         448: 7375 673e 3c73 7567 3e74 6573 7465 3c2f sug><sug>teste</
         464: 7375 673e 3c2f 736c 3e3c 2f73 7567 6765 sug></sl></sugge
         480: 7374 696f 6e73 3e3c 2f73 7065 6c6c 6368 stions></spellch
         496: 6563 6b72 6573 756c 7473 3e0d 0a30 0d0a eckresults>..0..
         512: 0d0a ..

       squid -> exchange HTTP C port=45883

           0: 0000 0c07 ac03 0800 20d2 0a45 0800 4500 ........ ..E..E.
          16: 0028 4a27 4000 4006 bb88 96cf 035d 96cf .(J'@.@......]..
          32: 0425 b33b 0050 a0d5 6c37 8ccf 1381 5010 .%.;.P..l7....P.

-- 
Brett Lymn
Received on Wed Feb 21 2007 - 23:12:34 MST

This archive was generated by hypermail pre-2.1.9 : Thu Mar 01 2007 - 12:00:01 MST