PUBLIC - Liferay Portal Community Edition

WebDAV fails to connect

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 6.0.5 GA, 6.0.12 EE, 6.1.0 CE RC1, 5.2.X EE
  • Fix Version/s: 6.1.10 EE GA1, 6.1.1 CE GA2, 6.2.X
  • Component/s: WebDAV
  • Labels:
  • Environment:
  • Branch Version/s:
    6.1.x
  • Backported to Branch:
    Committed
  • Similar Issues:
    Show 5 results 
  • Epic/Theme:
  • Business Value:
    4

Description

WebDAV fails to work on Weblogic and Websphere. WebDAV has been verified to be working for Tomcat + HSQL on the same revision.

1. Add the document library portlet to a page
2. Add a folder
3. Copy WebDAV URL
4. Configure webdav network folder

Issue Links

Activity

Hide
Igor Spasic added a comment -

I've just tested again the latest 5.2.x on WebLogic and WebSphere, and everything works. I am testing with BitKinex, since I am not able to make windows7 64bit to work as it should.

In order to make weblogic works with 5.2, you need to configure it as explained in related LPS. Websphere is working without any additional settings. Of course, tunnel-web has to deployed as well

Show
Igor Spasic added a comment - I've just tested again the latest 5.2.x on WebLogic and WebSphere, and everything works. I am testing with BitKinex, since I am not able to make windows7 64bit to work as it should. In order to make weblogic works with 5.2, you need to configure it as explained in related LPS. Websphere is working without any additional settings. Of course, tunnel-web has to deployed as well
Hide
Kristoffer Onias added a comment -

Our tests are based on the functionality working off of the Windows WebDAV folder. It is understood that Windows XP 64 fails to connect but I have confirmed that WebDAV fails to connect on Windows XP 32 and Windows 7 64. I have tried adding the configurations <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials> but the Windows WebDAV still fails to connect for WebLogic.

Show
Kristoffer Onias added a comment - Our tests are based on the functionality working off of the Windows WebDAV folder. It is understood that Windows XP 64 fails to connect but I have confirmed that WebDAV fails to connect on Windows XP 32 and Windows 7 64. I have tried adding the configurations <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials> but the Windows WebDAV still fails to connect for WebLogic.
Hide
Igor Spasic added a comment -

Some test results from my side.

WinXP doesn't support digest auth mode, just basic auth, as I can see from sniffed communication. For digest, we got just the following:
> PROPFIND /tunnel-web/.....
< HTTP/1.1 401 Unauthorized

However, webdav works for Tomcat and Weblogic, but the basic auth has to be set in tunnel-web.
For Weblogic, there is an additional conf.xml configuration, as said. Communication is the same:

> PROPFIND /tunnel-web/secure/webdav/guest/document_library HTTP/1.1\r\n
< HTTP/1.1 401 Unauthorized\r\nWWW-Authenticate: Basic realm=\"PortalRealm\"
> PROPFIND /tunnel-web/secure/webdav/guest/document_library HTTP/1.1\r\nAuthorization: Basic dGVzdEBsaWZlcmF5LmNvbTp0ZXN0\r\n
< HTTP/1.1 207 Multi-Status\r\n

Show
Igor Spasic added a comment - Some test results from my side. WinXP doesn't support digest auth mode, just basic auth, as I can see from sniffed communication. For digest, we got just the following: > PROPFIND /tunnel-web/..... < HTTP/1.1 401 Unauthorized However, webdav works for Tomcat and Weblogic, but the basic auth has to be set in tunnel-web. For Weblogic, there is an additional conf.xml configuration, as said. Communication is the same: > PROPFIND /tunnel-web/secure/webdav/guest/document_library HTTP/1.1\r\n < HTTP/1.1 401 Unauthorized\r\nWWW-Authenticate: Basic realm=\"PortalRealm\" > PROPFIND /tunnel-web/secure/webdav/guest/document_library HTTP/1.1\r\nAuthorization: Basic dGVzdEBsaWZlcmF5LmNvbTp0ZXN0\r\n < HTTP/1.1 207 Multi-Status\r\n
Hide
Kristoffer Onias added a comment -

Does this mean that webdav is functional throught he windows web folders if we set up these configurations for Weblogic? Could you please provide some instruction on how to go about setting the configurations for Weblogic? Also, have you discovered anything about WebSphere?

Show
Kristoffer Onias added a comment - Does this mean that webdav is functional throught he windows web folders if we set up these configurations for Weblogic? Could you please provide some instruction on how to go about setting the configurations for Weblogic? Also, have you discovered anything about WebSphere?
Hide
Igor Spasic added a comment -

I've done tests on websphere, too: when tunnel_web is set for digest_auth; we have the exception; when tunnel_web is basic_auth everything works correctly. Since Windows XP doesn't work with digest_auth on Tomcat either (as it seems), and if I take that as a referent behavior, then we can ignore issues .

So, to say it short, everything works when webdav is set for basic_auth.

Instructions:

1) Deploy tunnel-web with basic_auth set to true.
Open web.xml and find 'digest_auth' string. There should be just one. Change it to 'base_auth'. Make a war and deploy it. Here I've found that it is important to redeploy the tunnel-web regulary through app server console.

2) For weblogic pass the basic auth to the portal
Add the following line in config.xml, inside of <security-configuration> section.
--config.xml-------------------------
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
---------------------------------------

3) start portal and use webdav.

Of course, windows xp has to patched for webdav. I do also have the following in registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth=2

Show
Igor Spasic added a comment - I've done tests on websphere, too: when tunnel_web is set for digest_auth; we have the exception; when tunnel_web is basic_auth everything works correctly. Since Windows XP doesn't work with digest_auth on Tomcat either (as it seems), and if I take that as a referent behavior, then we can ignore issues . So, to say it short, everything works when webdav is set for basic_auth. Instructions: 1) Deploy tunnel-web with basic_auth set to true. Open web.xml and find 'digest_auth' string. There should be just one. Change it to 'base_auth'. Make a war and deploy it. Here I've found that it is important to redeploy the tunnel-web regulary through app server console. 2) For weblogic pass the basic auth to the portal Add the following line in config.xml, inside of <security-configuration> section. --config.xml------------------------- <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials> --------------------------------------- 3) start portal and use webdav. Of course, windows xp has to patched for webdav. I do also have the following in registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth=2
Hide
Igor Spasic added a comment - - edited

After some research: this is not only the problem with the weblogic and websphere, but with tomcat too; when digest_auth is used. There are two problems with this on Windows XP.

(1) Sharepoint interference.
It’s important to know that Windows WebFolders is just a part of FrontPage Server extensions, and it inherits all weakness from it. So, when digest_auth is used, webdav does send also some FrontPage requests, such as POST to /_vti_bin/_vti_aut/author.dll.

This request is captured by portals SharePointFilter and SharePointServlet. Since this request is not the real sharepoints one, there we have exceptions.

In order to test this, I’ve disabled all sharepoint filters and servlets, and exception is gone.

(2) digest_auth
Anyhow, even without the above sharepoint issue, windows xp is not able to connect to the portal. Once again, this is not app specific issue. Basic_auth works on all servers.

How to make the same exception with the tomcat and Windows XP:
+ enable digest_auth in tunnel_web
+ change tomcat port number to 80

For completeness, here are some notes for WindowsXP and Server 2003:

1. Make sure WebClient service is running.
2. Your WebDAV server must be located on a default port 80. Map Network Drive wizard will fail to connect to any ports other than 80 displaying “The network path http://server/folder/ could not be found” message. Map Network Drive feature does not support SSL / HTTPS connections.
3. Your WebDAV server must accept anonymous connections or use Integrated Windows Authentication.
4. Connect to a folder on a WebDAV server rather than to the site root.

The above limitations are fixed in Windows Vista Service Pack 1 Release Candidate and later Windows Versions.

Show
Igor Spasic added a comment - - edited After some research: this is not only the problem with the weblogic and websphere, but with tomcat too; when digest_auth is used. There are two problems with this on Windows XP. (1) Sharepoint interference. It’s important to know that Windows WebFolders is just a part of FrontPage Server extensions, and it inherits all weakness from it. So, when digest_auth is used, webdav does send also some FrontPage requests, such as POST to /_vti_bin/_vti_aut/author.dll. This request is captured by portals SharePointFilter and SharePointServlet. Since this request is not the real sharepoints one, there we have exceptions. In order to test this, I’ve disabled all sharepoint filters and servlets, and exception is gone. (2) digest_auth Anyhow, even without the above sharepoint issue, windows xp is not able to connect to the portal. Once again, this is not app specific issue. Basic_auth works on all servers. How to make the same exception with the tomcat and Windows XP: + enable digest_auth in tunnel_web + change tomcat port number to 80 For completeness, here are some notes for WindowsXP and Server 2003: 1. Make sure WebClient service is running. 2. Your WebDAV server must be located on a default port 80. Map Network Drive wizard will fail to connect to any ports other than 80 displaying “The network path http://server/folder/ could not be found” message. Map Network Drive feature does not support SSL / HTTPS connections. 3. Your WebDAV server must accept anonymous connections or use Integrated Windows Authentication. 4. Connect to a folder on a WebDAV server rather than to the site root. The above limitations are fixed in Windows Vista Service Pack 1 Release Candidate and later Windows Versions.
Hide
Paul Piao added a comment -

Reproduce the (WebSphere 7.0 + MySQL. Firefox 3.6.9. Reversion:64542).

Show
Paul Piao added a comment - Reproduce the (WebSphere 7.0 + MySQL. Firefox 3.6.9. Reversion:64542).
Hide
Oriana Tham added a comment -

Able to reproduce in Websphere 7.0 + Oracle, 5.2.9 (Revision 64542)

Show
Oriana Tham added a comment - Able to reproduce in Websphere 7.0 + Oracle, 5.2.9 (Revision 64542)
Hide
Igor Spasic added a comment - - edited

Since my webdav connection from windows xp to Websphere 7 works, would you be so kind to tell me more info:

+ do you have registry fix for win xp
+ have you applied microsoft patch
+ what version is MSDAIPP.DLL. It usually resides inside "C:\Program Files\Common Files\SYSTEM\OLE DB"
+ can you sniff a network traffic (wireshark)? i do have sniffed my working connection, and i would like to compare it.

Also, what kind of error do you get?

Show
Igor Spasic added a comment - - edited Since my webdav connection from windows xp to Websphere 7 works, would you be so kind to tell me more info: + do you have registry fix for win xp + have you applied microsoft patch + what version is MSDAIPP.DLL. It usually resides inside "C:\Program Files\Common Files\SYSTEM\OLE DB" + can you sniff a network traffic (wireshark)? i do have sniffed my working connection, and i would like to compare it. Also, what kind of error do you get?
Hide
Igor Spasic added a comment - - edited

I've attached step-by-step instructions for using webdav from Windows XP and portal 5.2 deployed in WebLogic. I did everything from the start.
================
my conclusion: webdav behavior is not app server specific. problems with webdav comes from buggy windows component.
================

I've tried today to connect to webdav also from one old windowsxp. Here is one important finding:

When adding a new network place, Windows will search for so called 'services providers' on the net. Request comes from rundll32.exe to 65.55.226.89

When this request is blocked (firewall block, no internet access...), there will be only one option in the resulting dialog, called: 'Choose another network location'. There will no option for 'MSN Communities'.In this case, when rundll32.exe can not connect to the internet, webdav connection will NOT work (no matter what app server is behind).

When rundll32.exe is allowed to reach the internet, option 'MSN Communities' will be there and webdav WILL work (no matter what app server is behind).

So it is possible to control webdav behavior with a firewall (Comodo in my case).

Maybe this can help you to connect to webdav?

Show
Igor Spasic added a comment - - edited I've attached step-by-step instructions for using webdav from Windows XP and portal 5.2 deployed in WebLogic. I did everything from the start. ================ my conclusion: webdav behavior is not app server specific. problems with webdav comes from buggy windows component. ================ I've tried today to connect to webdav also from one old windowsxp. Here is one important finding: When adding a new network place, Windows will search for so called 'services providers' on the net. Request comes from rundll32.exe to 65.55.226.89 When this request is blocked (firewall block, no internet access...), there will be only one option in the resulting dialog, called: 'Choose another network location'. There will no option for 'MSN Communities'.In this case, when rundll32.exe can not connect to the internet, webdav connection will NOT work (no matter what app server is behind). When rundll32.exe is allowed to reach the internet, option 'MSN Communities' will be there and webdav WILL work (no matter what app server is behind). So it is possible to control webdav behavior with a firewall (Comodo in my case). Maybe this can help you to connect to webdav?
Hide
Igor Spasic added a comment - - edited

attached step-by-step instructions for using webdav from WindowsXP and portal 5.2 deployed in Websphere

Show
Igor Spasic added a comment - - edited attached step-by-step instructions for using webdav from WindowsXP and portal 5.2 deployed in Websphere
Hide
Paul Piao added a comment - - edited

Able to reproduce the weblogic 10.3 + MySQL. 6.0.11 Revision:66110.

Show
Paul Piao added a comment - - edited Able to reproduce the weblogic 10.3 + MySQL. 6.0.11 Revision:66110.
Hide
Pani Gui added a comment -

Reproduce in 6.0.11 (revision:66110). Webshpere 6 + MySQL.

Show
Pani Gui added a comment - Reproduce in 6.0.11 (revision:66110). Webshpere 6 + MySQL.
Hide
Pani Gui added a comment -

Reproduce in Tomcat 6.0 + DB2. 6.0.x (revision66110).

Show
Pani Gui added a comment - Reproduce in Tomcat 6.0 + DB2. 6.0.x (revision66110).
Hide
Michael Saechang added a comment -

This is not a websphere specific issue so I am going to be assigning to this off to Igor and to SE Support. Also will edit title and environments.

Show
Michael Saechang added a comment - This is not a websphere specific issue so I am going to be assigning to this off to Igor and to SE Support. Also will edit title and environments.
Hide
Pani Gui added a comment -

Reproduce in 6.0.x (revision:67757) WebSphere 6 + MySQL.

Show
Pani Gui added a comment - Reproduce in 6.0.x (revision:67757) WebSphere 6 + MySQL.
Hide
Alexander Chow added a comment -

OK, this ticket is very confusing. Can we clarify what versions on what servers with what operating systems fail? The ticket says that this affects 5.2.3 and 6.0.5 GA – but this cannot be fully correct since some of the notes are talking about digest and other parts not – digest is only part of 6.0.x.

Also, over the weekend, the combination of Tomcat + trunk/6.0.10 + OSX/Win7 worked fine.

Show
Alexander Chow added a comment - OK, this ticket is very confusing. Can we clarify what versions on what servers with what operating systems fail? The ticket says that this affects 5.2.3 and 6.0.5 GA – but this cannot be fully correct since some of the notes are talking about digest and other parts not – digest is only part of 6.0.x. Also, over the weekend, the combination of Tomcat + trunk/6.0.10 + OSX/Win7 worked fine.
Hide
Alexander Chow added a comment -

Hey Igor, I just committed a fix for LPS-14464 on rev 68907 that gives sharepoint digest authentication. If I understand this ticket and its evolution correctly, I think this should fix the problem. Can you please retest this?

Show
Alexander Chow added a comment - Hey Igor, I just committed a fix for LPS-14464 on rev 68907 that gives sharepoint digest authentication. If I understand this ticket and its evolution correctly, I think this should fix the problem. Can you please retest this?
Hide
Paul Piao added a comment -

Able to reproduce on WebSphere 7.0.0.7 + MySQL 5. Firefox 4.0.1. 6.0.x. Revision 80606.

Show
Paul Piao added a comment - Able to reproduce on WebSphere 7.0.0.7 + MySQL 5. Firefox 4.0.1. 6.0.x. Revision 80606.
Hide
Paul Piao added a comment -

Able to reproduce on WebLogic 10 + MySQL 5. Firefox 4.0.1. 6.0.x. Revision 81687.

Show
Paul Piao added a comment - Able to reproduce on WebLogic 10 + MySQL 5. Firefox 4.0.1. 6.0.x. Revision 81687.
Hide
Juan G added a comment -

Seems that webdav doesn't work in 6.1 having Win XP (basic_auth) + Sharepoint filter enabled.

Any workaround/solution?

Show
Juan G added a comment - Seems that webdav doesn't work in 6.1 having Win XP (basic_auth) + Sharepoint filter enabled. Any workaround/solution?
Hide
Mika Koivisto added a comment -

I'm taking this issue under investigation as I've been debugging 6.1 webdav connection issue under Windows XP.

Show
Mika Koivisto added a comment - I'm taking this issue under investigation as I've been debugging 6.1 webdav connection issue under Windows XP.
Hide
Michael Saechang added a comment -

Committed on:
6.1.x GIT ID: a6c79f27c480a24bc30c5f37fe0ab17efde60e88.
6.2.x GIT ID: bb0cc8f884be2ff03241ec09c76545169c869940.

Show
Michael Saechang added a comment - Committed on: 6.1.x GIT ID: a6c79f27c480a24bc30c5f37fe0ab17efde60e88. 6.2.x GIT ID: bb0cc8f884be2ff03241ec09c76545169c869940.
Hide
Paul Piao added a comment -

FAILED Manual Testing following steps in description.

1. Add the document library portlet to a page
2. Add a folder
3. Copy WebDAV URL
4. Configure webdav network folder

Failed on:
WebSphere 7 + MySQL 5. 6.1.x GIT ID: 6bd0234590633f8f2f3ae712b459cca7400aff72.
WebSphere 7 + MySQL 5. 6.2.x GIT ID: 951ba0761ba8f4af5743a73b3d4e7b328bc4d35c.
Weblogic 11 + MySQL 5. 6.1.x GIT ID: 6bd0234590633f8f2f3ae712b459cca7400aff72.
Weblogic 11 + MySQL 5. 6.2.x GIT ID: 951ba0761ba8f4af5743a73b3d4e7b328bc4d35c.
WebDAV fails to connect

Show
Paul Piao added a comment - FAILED Manual Testing following steps in description. 1. Add the document library portlet to a page 2. Add a folder 3. Copy WebDAV URL 4. Configure webdav network folder Failed on: WebSphere 7 + MySQL 5. 6.1.x GIT ID: 6bd0234590633f8f2f3ae712b459cca7400aff72. WebSphere 7 + MySQL 5. 6.2.x GIT ID: 951ba0761ba8f4af5743a73b3d4e7b328bc4d35c. Weblogic 11 + MySQL 5. 6.1.x GIT ID: 6bd0234590633f8f2f3ae712b459cca7400aff72. Weblogic 11 + MySQL 5. 6.2.x GIT ID: 951ba0761ba8f4af5743a73b3d4e7b328bc4d35c. WebDAV fails to connect
Hide
Mika Koivisto added a comment -

Igor I'm assigning this to you since you've been investigating webdav with Win7 and WebSphere.

This works just fine with Windows 7 and Tomcat.

Show
Mika Koivisto added a comment - Igor I'm assigning this to you since you've been investigating webdav with Win7 and WebSphere. This works just fine with Windows 7 and Tomcat.
Hide
Igor Spasic added a comment - - edited

The problem is that web application servers are not set to GMT user.timezone. Setting the GMT timezone on your application server is critical! When user.timezone property is not set, application servers detect timezone from locale. During the communication with the WebDav client, all times will be sent in detected timezone (like CET). Some WebDav clients (like Windows7) don't handle timezones correctly, and expect the GMT.

Read on our wiki how to set user.timezone on various app servers. (in general, set it in the similar way as file.encoding is set)

Show
Igor Spasic added a comment - - edited The problem is that web application servers are not set to GMT user.timezone. Setting the GMT timezone on your application server is critical! When user.timezone property is not set, application servers detect timezone from locale. During the communication with the WebDav client, all times will be sent in detected timezone (like CET). Some WebDav clients (like Windows7) don't handle timezones correctly, and expect the GMT. Read on our wiki how to set user.timezone on various app servers. (in general, set it in the similar way as file.encoding is set)
Hide
Igor Spasic added a comment -

Setting the proper timezone setting based on GMT should fix this issue.

Show
Igor Spasic added a comment - Setting the proper timezone setting based on GMT should fix this issue.
Hide
Paul Piao added a comment - - edited

PASSED Manual Testing using the following steps:
1. Configure webdav+websphere+portal5.txt and webdav+weblogic+portal5.txt
2. Add the document library portlet to a page
3. Add a folder
4. Copy WebDAV URL
5. Configure webdav network folder

Fixed on:
WebSphere 7 + MySQL 5. 6.1.x GIT ID: c2359ac220dc3de6d0a633cc3bcb32d7472874dd.
WebSphere 7 + MySQL 5. 6.2.x GIT ID: 3b88ca7c3827e762391ed1ab6789a2a4c9b3be1f.
Weblogic 11 + MySQL 5. 6.1.x GIT ID: c2359ac220dc3de6d0a633cc3bcb32d7472874dd.
Weblogic 11 + MySQL 5. 6.2.x GIT ID: 3b88ca7c3827e762391ed1ab6789a2a4c9b3be1f.

WebDAV success to connect.

Show
Paul Piao added a comment - - edited PASSED Manual Testing using the following steps: 1. Configure webdav+websphere+portal5.txt and webdav+weblogic+portal5.txt 2. Add the document library portlet to a page 3. Add a folder 4. Copy WebDAV URL 5. Configure webdav network folder Fixed on: WebSphere 7 + MySQL 5. 6.1.x GIT ID: c2359ac220dc3de6d0a633cc3bcb32d7472874dd. WebSphere 7 + MySQL 5. 6.2.x GIT ID: 3b88ca7c3827e762391ed1ab6789a2a4c9b3be1f. Weblogic 11 + MySQL 5. 6.1.x GIT ID: c2359ac220dc3de6d0a633cc3bcb32d7472874dd. Weblogic 11 + MySQL 5. 6.2.x GIT ID: 3b88ca7c3827e762391ed1ab6789a2a4c9b3be1f. WebDAV success to connect.

People

Vote (8)
Watch (7)

Dates

  • Created:
    Updated:
    Resolved: