branch feature/GIT updated (faa724a -> b4cc8a4)
This is an automated email from the git hooks/post-receive script. New change to branch feature/GIT in repository scmwebeditor. See http://git.nuiton.org/scmwebeditor.git from faa724a Correction of some little bugs new b4cc8a4 Fix the authentication problems The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit b4cc8a4a40a3b1b5b53ceaf9a7ac9858f5ef95df Author: Hugo PIGEON <hpigeon@codelutin.com> Date: Thu May 7 10:43:49 2015 +0200 Fix the authentication problems Summary of changes: .../org/nuiton/scmwebeditor/GitConnection.java | 14 ++++++-- .../nuiton/scmwebeditor/ScmWebEditorConfig.java | 2 +- .../actions/AbstractScmWebEditorAction.java | 37 ++++++++++++++++++++++ .../nuiton/scmwebeditor/actions/BrowseAction.java | 2 +- .../nuiton/scmwebeditor/actions/EditAction.java | 27 +++++----------- .../nuiton/scmwebeditor/actions/UploadAction.java | 17 ++-------- 6 files changed, 61 insertions(+), 38 deletions(-) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/GIT in repository scmwebeditor. See http://git.nuiton.org/scmwebeditor.git commit b4cc8a4a40a3b1b5b53ceaf9a7ac9858f5ef95df Author: Hugo PIGEON <hpigeon@codelutin.com> Date: Thu May 7 10:43:49 2015 +0200 Fix the authentication problems --- .../org/nuiton/scmwebeditor/GitConnection.java | 14 ++++++-- .../nuiton/scmwebeditor/ScmWebEditorConfig.java | 2 +- .../actions/AbstractScmWebEditorAction.java | 37 ++++++++++++++++++++++ .../nuiton/scmwebeditor/actions/BrowseAction.java | 2 +- .../nuiton/scmwebeditor/actions/EditAction.java | 27 +++++----------- .../nuiton/scmwebeditor/actions/UploadAction.java | 17 ++-------- 6 files changed, 61 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/nuiton/scmwebeditor/GitConnection.java b/src/main/java/org/nuiton/scmwebeditor/GitConnection.java index c5ea428..56bbdad 100644 --- a/src/main/java/org/nuiton/scmwebeditor/GitConnection.java +++ b/src/main/java/org/nuiton/scmwebeditor/GitConnection.java @@ -471,7 +471,7 @@ public class GitConnection implements ScmConnection { if (log.isErrorEnabled()) { log.error("Error while cloning the repository", e); } - resultDto.setError(UploadResultDto.ERROR); + resultDto.setError(UploadResultDto.AUTH_ERROR); return resultDto; } @@ -761,14 +761,22 @@ public class GitConnection implements ScmConnection { localDirectory = new File(localReposPath + "/" + sessionId + "/" + hashedAddress); - CredentialsProvider credentials = new UsernamePasswordCredentialsProvider(username, password); + CredentialsProvider credentials = null; + + if (username != null && password != null) { + credentials = new UsernamePasswordCredentialsProvider(username, password); + } if (!localDirectory.exists()) { CloneCommand clone = Git.cloneRepository(); clone.setURI(addressGit); clone.setDirectory(localDirectory); - clone.setCredentialsProvider(credentials); + + if (username != null && password != null) { + clone.setCredentialsProvider(credentials); + } + try { clone.call(); } catch (InvalidRemoteException e) { diff --git a/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java b/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java index db1085c..08f2046 100644 --- a/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java +++ b/src/main/java/org/nuiton/scmwebeditor/ScmWebEditorConfig.java @@ -83,7 +83,7 @@ public class ScmWebEditorConfig { providers.put(providerKey, providerClass); } } - + return providers; } diff --git a/src/main/java/org/nuiton/scmwebeditor/actions/AbstractScmWebEditorAction.java b/src/main/java/org/nuiton/scmwebeditor/actions/AbstractScmWebEditorAction.java index 486e28a..6e3e32a 100644 --- a/src/main/java/org/nuiton/scmwebeditor/actions/AbstractScmWebEditorAction.java +++ b/src/main/java/org/nuiton/scmwebeditor/actions/AbstractScmWebEditorAction.java @@ -388,6 +388,43 @@ public abstract class AbstractScmWebEditorAction extends BaseAction implements S return provider; } + protected String[] getUsernamePwFromSession(String repositoryUUID, String username, String pw) { + + String[] usernamePw = new String[2]; + usernamePw[0] = username; + usernamePw[1] = pw; + + if (username == null || pw == null) { + + String login = getScmSession().getUsername(repositoryUUID); + String password = getScmSession().getPassword(repositoryUUID); + + if (login != null && password != null) { + + // getting the authentication information in session + usernamePw[0] = login; + usernamePw[1] = password; + } + } else { + if (username.equals("") || pw.equals("")) { + + String login = getScmSession().getUsername(repositoryUUID); + String password = getScmSession().getPassword(repositoryUUID); + + if (login != null && password != null) { + + // getting the authentication information in session + usernamePw[0] = login; + usernamePw[1] = password; + } + } else { + getScmSession().addScmUser(repositoryUUID, username, pw); + } + } + + return usernamePw; + } + public String getUsername(String url) { return getScmSession().getUsername(url); } diff --git a/src/main/java/org/nuiton/scmwebeditor/actions/BrowseAction.java b/src/main/java/org/nuiton/scmwebeditor/actions/BrowseAction.java index f047b5e..95319fa 100644 --- a/src/main/java/org/nuiton/scmwebeditor/actions/BrowseAction.java +++ b/src/main/java/org/nuiton/scmwebeditor/actions/BrowseAction.java @@ -264,7 +264,7 @@ public class BrowseAction extends AbstractScmWebEditorAction implements ServletR } if (username != null && pw != null) { - if (!username.equals("anonymous") && !pw.equals("anonymous")) { + if (!username.equals("anonymous") && !username.equals("") && !pw.equals("anonymous") && !pw.equals("")) { BlowfishCipherService bf = new BlowfishCipherService(); byte[] privateKey = Base64.decode(ScmWebEditorConfig.getKey()); diff --git a/src/main/java/org/nuiton/scmwebeditor/actions/EditAction.java b/src/main/java/org/nuiton/scmwebeditor/actions/EditAction.java index 10c2c08..3800fa4 100644 --- a/src/main/java/org/nuiton/scmwebeditor/actions/EditAction.java +++ b/src/main/java/org/nuiton/scmwebeditor/actions/EditAction.java @@ -98,29 +98,18 @@ public class EditAction extends ScmWebEditorMainAction { if (saveCookie) { if (username != null && pw != null) { - Cookie authCookie = new Cookie(repositoryUUID, bf.encrypt((username + "," + pw).getBytes(), privateKey).toBase64()); - authCookie.setMaxAge(60 * 60 * 24 * 365); - response.addCookie(authCookie); + if (!username.equals("") && !pw.equals("")) { + Cookie authCookie = new Cookie(repositoryUUID, bf.encrypt((username + "," + pw).getBytes(), privateKey).toBase64()); + authCookie.setMaxAge(60 * 60 * 24 * 365); + response.addCookie(authCookie); + } } } - - /* - * Getting the information in session - */ - if (username == null && pw == null) { - if (getScmSession().getUsername(repositoryUUID) != null && getScmSession().getPassword(repositoryUUID) != null) { - // getting the authentication information from the session - username = getScmSession().getUsername(repositoryUUID); - pw = getScmSession().getPassword(repositoryUUID); - } else { - username = null; - pw = null; - } - } else { - getScmSession().addScmUser(repositoryUUID, username, pw); - } + String[] usernamePw = getUsernamePwFromSession(repositoryUUID, username, pw); + username = usernamePw[0]; + pw = usernamePw[1]; String name = username; String password = pw; diff --git a/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java b/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java index 84a7f35..8bb8e3d 100644 --- a/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java +++ b/src/main/java/org/nuiton/scmwebeditor/actions/UploadAction.java @@ -163,20 +163,9 @@ public class UploadAction extends AbstractScmWebEditorAction implements ServletR repositoryUUID = address.replace(' ', '_'); } - - if (username == null && pw == null) { - if (getScmSession().getUsername(repositoryUUID) != null && getScmSession().getPassword(repositoryUUID) != null) { - // getting the authentication information in session - username = getScmSession().getUsername(repositoryUUID); - pw = getScmSession().getPassword(repositoryUUID); - } else { - username = null; - pw = null; - } - } else { - getScmSession().addScmUser(repositoryUUID, username, pw); - } - + String[] usernamePw = getUsernamePwFromSession(repositoryUUID, username, pw); + username = usernamePw[0]; + pw = usernamePw[1]; UploadDto dto = new UploadDto(); dto.setUsername(username); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm