Opening a linked resource sometimes fails
Bugzilla Link | 427960 |
Status | NEW |
Importance | P3 normal |
Reported | Feb 12, 2014 02:17 EDT |
Modified | Feb 12, 2014 02:17 EDT |
Version | 3.5 |
Reporter | Manfred Stadel |
Description
In case of multiple connections to the same host opening a linked resource fails under certain circumstances.
I'm using Eclipse Kepler Service Release 1 on Windows, RSE 3.5.0, and FTP Only connection to a Linux system.
Steps to reproduce:
- Define two connections to the same host but with different user ids, say uid1 and uid2.
- In the home directory of uid1 create a file test1, and in the home directory of uid2 create a file test2.
- Restrict access permissions of the two files, test1 and test2, to "user only".
- Create an Eclipse project and in this project establish links to test1 (via connection uid1) and to test2 (via connection uid2).
- Disconnect the two connections and clear the RSE file cache.
- In the project view attempt to open each of the two linked files. One will succeed the other will fail or loop infinitely.
Attempt to analyze the problem (please apologize possible mistakes in understanding the design and implementation; its foreign code for me):
The New File – Advanced dialog used to establish a link to a remote file shows the "Link to file in the [remote] file system" as URI with a query part "?connection". However, his query part is not maintained in the file property "location", which only contains an URI like "rse://host/path".
If there is any connected connection to this host, RSE attempts to use it to follow the link and to access the remote file. The selected connection may, however, be the wrong one from which the file cannot be accessed due to its permissions restricted to "user only".
If there are further conenctions to this host connected, RSE seems to also attempt to access the requested file via the other conencted connections. It does, however, not consider disconnected connections.
However, if none of the connections to this host is connected, RSE seems to choose an arbitrary one and to attempt to connect it. Again this may be the wrong one.
The issue is related to bug 186315 which requests to add the conection as query part to the local URI.