Browse Source

pr 43521, @ in filename not allowed anymore since @ allowed in password.

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@581055 13f79535-47bb-0310-9956-ffa450edef68
master
Jacobus Martinus Kruithof 17 years ago
parent
commit
046aaf269a
1 changed files with 12 additions and 1 deletions
  1. +12
    -1
      src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java

+ 12
- 1
src/main/org/apache/tools/ant/taskdefs/optional/ssh/Scp.java View File

@@ -310,10 +310,21 @@ public class Scp extends SSHBase {
} }


private String parseUri(String uri) { private String parseUri(String uri) {
int indexOfAt = uri.lastIndexOf('@');

int indexOfAt = uri.indexOf('@');
int indexOfColon = uri.indexOf(':'); int indexOfColon = uri.indexOf(':');

if (indexOfColon > -1 && indexOfColon < indexOfAt) { if (indexOfColon > -1 && indexOfColon < indexOfAt) {
// user:password@host:/path notation // user:password@host:/path notation
// everything upto the last @ before the last : is considered
// password. (so if the path contains an @ and a : it will not work)
int indexOfCurrentAt = indexOfAt;
int indexOfLastColon = uri.lastIndexOf(':');
while (indexOfCurrentAt > -1 && indexOfCurrentAt < indexOfLastColon)
{
indexOfAt = indexOfCurrentAt;
indexOfCurrentAt = uri.indexOf('@', indexOfCurrentAt + 1);
}
setUsername(uri.substring(0, indexOfColon)); setUsername(uri.substring(0, indexOfColon));
setPassword(uri.substring(indexOfColon + 1, indexOfAt)); setPassword(uri.substring(indexOfColon + 1, indexOfAt));
} else { } else {


Loading…
Cancel
Save