Version: (using KDE KDE 3.3.0) Installed from: Gentoo Packages OS: Linux The exchange plugin no longer works for me in kde3.3, whereas it used to work in kde3.2. We have an exchange 2000 server supporting ssl. The plugin configuration in .kontactrc is as follows: Calendar/Exchange Plugin] MS-ID= auto-mailbox=false host=exc.mail.ac.uk mailbox=webdavs://exc.mail.ac.uk/exchange/hwd user=hwd Korganizer is able to authenticate against the server but the response is as follows(Server response could not be interpreted): WebDAV SEARCH response: <error-report xmlns="DAV:"> <offending-response xmlns="DAV:"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html dir=ltr> <head> <style> a:link {font:8pt/11pt verdana; color:FF0000} a:visited {font:8pt/11pt verdana; color:#4e4e4e} </style> <META NAME="ROBOTS" CONTENT="NOINDEX"> <title>The page cannot be found</title> <META HTTP-EQUIV="Content-Type" Content="text-html; charset=Windows-1252"> </head> <script> function Homepage(){ <!-- // in real bits, urls get returned to our script like this: // res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm //For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm" DocURL=document.URL; //this is where the http or https will be, as found by searching for :// but skipping the res:// protocolIndex=DocURL.indexOf("://",4); //this finds the ending slash for the domain server serverIndex=DocURL.indexOf("/",protocolIndex + 3); //for the href, we need a valid URL to the domain. We search for the # symbol to find the begining //of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker. //urlresult=DocURL.substring(protocolIndex - 4,serverIndex); BeginURL=DocURL.indexOf("#",1) + 1; urlresult=DocURL.substring(BeginURL,serverIndex); //for display, we need to skip after http://, and go to the next slash displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex); InsertElementAnchor(urlresult, displayresult); } function HtmlEncode(text) { return text.replace(/&/g, '&amp').replace(/'/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;'); } function TagAttrib(name, value) { return ' '+name+'="'+HtmlEncode(value)+'"'; } function PrintTag(tagName, needCloseTag, attrib, inner){ document.write( '<' + tagName + attrib + '>' + HtmlEncode(inner) ); if (needCloseTag) document.write( '</' + tagName +'>' ); } function URI(href) { IEVer = window.navigator.appVersion; IEVer = IEVer.substr( IEVer.indexOf('MSIE') + 5, 3 ); return (IEVer.charAt(1)=='.' && IEVer >= '5.5') ? encodeURI(href) : escape(href).replace(/%3A/g, ':').replace(/%3B/g, ';'); } function InsertElementAnchor(href, text) { PrintTag('A', true, TagAttrib('HREF', URI(href)), text); } //--> </script> <body bgColor="FFFFFF"> <table width="410" cellpadding="3" cellspacing="5"> <td align="left" valign="middle" width="360"> <h1 style="COLOR:000000; FONT: 13pt/15pt verdana"><!--Problem-->The page cannot be found</h1> </td> </tr> <tr> <td width="400" colspan="2"> <font style="COLOR:000000; FONT: 8pt/11pt verdana">The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.</font></td> </tr> <tr> <td width="400" colspan="2"> <font style="COLOR:000000; FONT: 8pt/11pt verdana"> <hr color="#C0C0C0" noshade> <p>Please try the following:</p> <ul> <li>If you typed the page address in the Address bar, make sure that it is spelled correctly.</li> <li>Open the <script language="JavaScript"> <!-- if (!((window.navigator.userAgent.indexOf("MSIE") > 0) && (window.navigator.appVersion.charAt(0) == "2"))) { Homepage(); } --> </script> home page, and then look for links to the information you want.</li> <li>Click the <a href="javascript:history.back(1)"> Back</a> button to try another link.</li> </ul> <h2 style="COLOR:000000; FONT: 8pt/11pt verdana">HTTP 400 - Bad Request<br> Internet Information Services</h2> <hr color="#C0C0C0" noshade> <p>Technical Information (for support personnel)</p> <ul> <li>More information:<br> <a href="http://www.microsoft.com/ContentRedirect.asp?prd=iis&sbp=&pver=5.0&pid=&ID=400&cat=web&os=&over=&hrd=&Opt1=&Opt2=&Opt3=" target="_blank">Microsoft Support</a> </li> </ul> </font></td> </tr> </table> </body> </html> </offending-response> </error-report> Thanks
I see the same error in kde-3.3.0. It worked fine for me in kde-3.2. I am also using gentoo linux. The ldap address lookup is broken for me now, too, using the same settings that worked for me in kde-3.2.
I see this same behavior with the Debian packages as well.
I can also confirm this problem in kde-3.3.0. I also used this plugin with kde-3.2. The exchange server has not changed or been patched.
*** This bug has been confirmed by popular vote. ***
Hi, Thanks for the bug report. Unfortunately I can't reproduce that problem with an Exchange 2003 Server. Does any of you have the URL that is requested from the server? The error page in this bug report does not list the requested URL, so I don't know what might be wrong there. Cheers, Reinhold
Where / how can I get you the info on the URL? > > From: Reinhold Kainhofer <reinhold@kainhofer.com> > Date: 2004/11/17 Wed PM 03:54:32 CST > To: cader@charter.net > Subject: [Bug 87706] Exchange plugin stopped working in kde 3.3 > > ------- You are receiving this mail because: ------- > You are a voter for the bug, or are watching someone who is. > > http://bugs.kde.org/show_bug.cgi?id=87706 > > > > > ------- Additional Comments From reinhold kainhofer com 2004-11-17 22:54 ------- > Hi, > Thanks for the bug report. > Unfortunately I can't reproduce that problem with an Exchange 2003 Server. Does any of you have the URL that is requested from the server? The error page in this bug report does not list the requested URL, so I don't know what might be wrong there. > > Cheers, > Reinhold > Cade Robinson
Should this even work with Exchange 2003? I get a "cyclic link detected" error when trying to access our Exchange 2003 server.
On Friday 26 November 2004 13:44, Tais M.Hansen wrote: > Should this even work with Exchange 2003? I get a "cyclic link > detected" error when trying to access our Exchange 2003 server. Yes, I tested it with an Exchange 2003 server (actually, I can only test it with an Exchange 2003 server)... Reinhold
Hi, Here's a packet dump from the http transfer.. Looks like it fails on the SEARCH request. Here are the packets that make up the search request. 1st packet 0000 00 04 96 10 2b b0 00 11 11 4b e5 3c 08 00 45 00 ....+....K.<..E. 0010 02 52 e9 48 40 00 40 06 c1 c1 0a 11 6b 19 0a 10 .R.H@.@.....k... 0020 0e 62 d1 0a 00 50 78 96 9b 7d f3 28 e6 c3 80 18 .b...Px..}.(.... 0030 00 2e 96 8e 00 00 01 01 08 0a 66 02 72 3b 00 00 ..........f.r;.. 0040 00 00 53 45 41 52 43 48 20 2f 65 78 63 68 61 6e ..SEARCH /exchan 0050 67 65 2f 6b 65 6e 2f 43 61 6c 65 6e 64 61 72 20 ge/ken/Calendar 0060 48 54 54 50 2f 31 2e 31 0d 0a 43 6f 6e 6e 65 63 HTTP/1.1..Connec 0070 74 69 6f 6e 3a 20 4b 65 65 70 2d 41 6c 69 76 65 tion: Keep-Alive 0080 0d 0a 55 73 65 72 2d 41 67 65 6e 74 3a 20 4d 6f ..User-Agent: Mo 0090 7a 69 6c 6c 61 2f 35 2e 30 20 28 63 6f 6d 70 61 zilla/5.0 (compa 00a0 74 69 62 6c 65 3b 20 4b 6f 6e 71 75 65 72 6f 72 tible; Konqueror 00b0 2f 33 2e 33 3b 20 4c 69 6e 75 78 29 20 28 4b 48 /3.3; Linux) (KH 00c0 54 4d 4c 2c 20 6c 69 6b 65 20 47 65 63 6b 6f 29 TML, like Gecko) 00d0 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f 2d 63 61 63 ..Pragma: no-cac 00e0 68 65 0d 0a 43 61 63 68 65 2d 63 6f 6e 74 72 6f he..Cache-contro 00f0 6c 3a 20 6e 6f 2d 63 61 63 68 65 0d 0a 41 63 63 l: no-cache..Acc 0100 65 70 74 3a 20 74 65 78 74 2f 68 74 6d 6c 2c 20 ept: text/html, 0110 69 6d 61 67 65 2f 6a 70 65 67 2c 20 69 6d 61 67 image/jpeg, imag 0120 65 2f 70 6e 67 2c 20 74 65 78 74 2f 2a 2c 20 69 e/png, text/*, i 0130 6d 61 67 65 2f 2a 2c 20 2a 2f 2a 0d 0a 41 63 63 mage/*, */*..Acc 0140 65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 78 2d ept-Encoding: x- 0150 67 7a 69 70 2c 20 78 2d 64 65 66 6c 61 74 65 2c gzip, x-deflate, 0160 20 67 7a 69 70 2c 20 64 65 66 6c 61 74 65 0d 0a gzip, deflate.. 0170 41 63 63 65 70 74 2d 43 68 61 72 73 65 74 3a 20 Accept-Charset: 0180 69 73 6f 2d 38 38 35 39 2d 31 2c 20 75 74 66 2d iso-8859-1, utf- 0190 38 3b 71 3d 30 2e 35 2c 20 2a 3b 71 3d 30 2e 35 8;q=0.5, *;q=0.5 01a0 0d 0a 41 63 63 65 70 74 2d 4c 61 6e 67 75 61 67 ..Accept-Languag 01b0 65 3a 20 65 6e 0d 0a 48 6f 73 74 3a 20 70 61 2d e: en..Host: pa- 01c0 65 63 6c 75 73 74 65 72 31 2e 76 6d 77 61 72 65 ecluster1.vmware 01d0 2e 63 6f 6d 0d 0a 43 6f 6f 6b 69 65 3a 20 73 65 .com..Cookie: se 01e0 73 73 69 6f 6e 69 64 3d 32 34 63 36 34 36 39 62 ssionid=24c6469b 01f0 2d 64 61 34 63 2d 34 64 64 64 2d 38 39 35 30 2d -da4c-4ddd-8950- 0200 61 38 37 33 66 66 33 38 61 65 39 32 3a 30 78 39 a873ff38ae92:0x9 0210 0d 0a 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a ..Authorization: 0220 20 42 61 73 69 63 20 61 32 56 75 4f 6e 45 78 59 Basic a2VuOnExY 0230 57 35 73 4d 51 3d 3d 0d 0a 43 6f 6e 74 65 6e 74 W5sMQ==..Content 0240 2d 54 79 70 65 3a 20 74 65 78 74 2f 78 6d 6c 3b -Type: text/xml; 0250 20 63 68 61 72 73 65 74 3d 75 74 66 2d 38 0d 0a charset=utf-8.. 2nd packet 0000 00 04 96 10 2b b0 00 11 11 4b e5 3c 08 00 45 00 ....+....K.<..E. 0010 00 4b e9 49 40 00 40 06 c3 c7 0a 11 6b 19 0a 10 .K.I@.@.....k... 0020 0e 62 d1 0a 00 50 78 96 9d 9b f3 28 e6 c3 80 18 .b...Px....(.... 0030 00 2e d9 fc 00 00 01 01 08 0a 66 02 72 3b 00 00 ..........f.r;.. 0040 00 00 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 ..Content-Length 0050 3a 20 34 31 38 0d 0a 0d 0a : 418.... 3rd packet 0000 00 04 96 10 2b b0 00 11 11 4b e5 3c 08 00 45 00 ....+....K.<..E. 0010 01 d6 e9 4a 40 00 40 06 c2 3b 0a 11 6b 19 0a 10 ...J@.@..;..k... 0020 0e 62 d1 0a 00 50 78 96 9d b2 f3 28 e6 c3 80 18 .b...Px....(.... 0030 00 2e 66 c2 00 00 01 01 08 0a 66 02 72 3b 00 00 ..f.......f.r;.. 0040 00 00 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d ..<?xml version= 0050 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 "1.0" encoding=" 0060 75 74 66 2d 38 22 3f 3e 0d 0a 3c 73 65 61 72 63 utf-8"?>..<searc 0070 68 72 65 71 75 65 73 74 20 78 6d 6c 6e 73 3d 22 hrequest xmlns=" 0080 44 41 56 3a 22 3e 0a 20 3c 73 71 6c 20 78 6d 6c DAV:">. <sql xml 0090 6e 73 3d 22 44 41 56 3a 22 3e 53 45 4c 45 43 54 ns="DAV:">SELECT 00a0 20 26 71 75 6f 74 3b 44 41 56 3a 68 72 65 66 26 "DAV:href& 00b0 71 75 6f 74 3b 2c 20 26 71 75 6f 74 3b 75 72 6e quot;, "urn 00c0 3a 73 63 68 65 6d 61 73 3a 63 61 6c 65 6e 64 61 :schemas:calenda 00d0 72 3a 69 6e 73 74 61 6e 63 65 74 79 70 65 26 71 r:instancetype&q 00e0 75 6f 74 3b 2c 20 26 71 75 6f 74 3b 75 72 6e 3a uot;, "urn: 00f0 73 63 68 65 6d 61 73 3a 63 61 6c 65 6e 64 61 72 schemas:calendar 0100 3a 75 69 64 26 71 75 6f 74 3b 0d 0a 46 52 4f 4d :uid"..FROM 0110 20 53 63 6f 70 65 28 27 73 68 61 6c 6c 6f 77 20 Scope('shallow 0120 74 72 61 76 65 72 73 61 6c 20 6f 66 20 26 71 75 traversal of &qu 0130 6f 74 3b 26 71 75 6f 74 3b 27 29 0d 0a 57 48 45 ot;"')..WHE 0140 52 45 20 26 71 75 6f 74 3b 75 72 6e 3a 73 63 68 RE "urn:sch 0150 65 6d 61 73 3a 63 61 6c 65 6e 64 61 72 3a 64 74 emas:calendar:dt 0160 65 6e 64 26 71 75 6f 74 3b 20 3e 20 27 32 30 30 end" > '200 0170 34 2d 31 32 2d 30 36 54 30 30 3a 30 30 3a 30 30 4-12-06T00:00:00 0180 5a 27 0d 0a 41 4e 44 20 26 71 75 6f 74 3b 75 72 Z'..AND "ur 0190 6e 3a 73 63 68 65 6d 61 73 3a 63 61 6c 65 6e 64 n:schemas:calend 01a0 61 72 3a 64 74 73 74 61 72 74 26 71 75 6f 74 3b ar:dtstart" 01b0 20 26 6c 74 3b 20 27 32 30 30 34 2d 31 32 2d 30 < '2004-12-0 01c0 37 54 32 33 3a 35 39 3a 35 39 5a 27 3c 2f 73 71 7T23:59:59Z'</sq 01d0 6c 3e 0a 3c 2f 73 65 61 72 63 68 72 65 71 75 65 l>.</searchreque 01e0 73 74 3e 0a st>. It looks like in the xml, there are lots of " 's that should be real double quote characters and not escape sequences.
or maybe 2003 can deal with the escape sequences whereas 2000 can't?
On Monday, 6. December 2004 20:31, Ken Deeter wrote: > It looks like in the xml, there are lots of " 's that should be real > double quote characters and not escape sequences. Yes, these "'s are correct. All " and < in an webdav request need to be escaped. For completeness, this is the actual XML sent to the server (extracted from the log, all characters unescaped again): <?xml version="1.0" encoding="utf-8"?> <searchrequest xmlns="DAV:"> <sql xmlns="DAV:">SELECT "DAV:href", "urn:schemas:calendar:instancetype", "urn:schemas:calendar:uid" FROM Scope('shallow traversal of ""') WHERE "urn:schemas:calendar:dtend" > '2004-12-06T00:00:00Z' AND "urn:schemas:calendar:dtstart" < '2004-12-07T23:59:59Z'</sql> </searchrequest> Cheers, Reinhold
On a related note, this msdn page: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_exch2k_using_http_1_1_webdav_protocol.asp mentions that single quote needs to be escaped as ' Could that make a difference?
Created attachment 9054 [details] trace from suse 9.1 and 9.2 text extracted from ethereal trace.
Hi, A bit short note n the attachment there. Sorry about that. The first part in the attachment is from a SuSE 9.1 machine the second part from a SuSE 9.2. The MS Exchange server in the other end is a Exchange 2000. The search fails on SuSE 9.2 at my location also. There are some diffrences in the date stamps on the end of the search on SuSE 9.2 that does look strange and definetly different from SuSE9.1. In the second trace there is also a time stamp sent which is not sent in the first. regards birger....
Thanks a lot birger, That's exactly the things that are really useful when trying to track down a bug! BTW, it looks like you took the hex trace from ethereal and manually copied out just the corresponding column... You can also just use the RMB menu item "Follow TCP stream" to obtain a readable output of the communication! Cheers, Reinhold
Okay, this was a bug in kde 3.3.0, where the time format was sent in a wrong format to the exchange server... In kde 3.3.2 and in 3.4 this problem is definitly fixed. I'm not sure about 3.3.1. Cheers, Reinhold