On Thu, Feb 22, 2007, Brett Lymn wrote: > > 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? Yup! Squid is currently sending a HTTP/1.0 request and getting a HTTP/1.1 reply back. Henrik's got some basic chunked reply parsing stuff in the Squid-2 development branch (http://www.squid-cache.org/Versions/v2/HEAD/ i believe) which might handle this case better. Let me know if it works better! Adrian > > 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 -- - Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support - - $25/pm entry-level bandwidth-capped VPSes available in WA -