Navigation Menu

Skip to content

Commit

Permalink
Save password scrambled [JENKINS-13706]
Browse files Browse the repository at this point in the history
  • Loading branch information
kutzi committed Jun 3, 2012
1 parent 045b28e commit d1515ae
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>org.jvnet.hudson.plugins</groupId>
<artifactId>instant-messaging-parent</artifactId>
<version>1.19</version>
<version>1.20-SNAPSHOT</version>
<relativePath>../instant-messaging-parent-plugin/pom.xml</relativePath>
</parent>

Expand Down
Expand Up @@ -19,6 +19,7 @@
import hudson.tasks.BuildStepDescriptor;
import hudson.tasks.Publisher;
import hudson.util.FormValidation;
import hudson.util.Scrambler;

import java.io.IOException;
import java.net.InetAddress;
Expand Down Expand Up @@ -108,6 +109,12 @@ public class JabberPublisherDescriptor extends BuildStepDescriptor<Publisher> im
private boolean exposePresence = true;
private boolean enableSASL = true;

/**
* Marks if passwords are scrambled as they are since 1.23.
* Needed to migrate old, unscrambled passwords.
*/
private boolean scrambledPasswords = false;

/**
* @deprecated replaced by {@link #defaultTargets}
* Still needed to deserialize old descriptors
Expand Down Expand Up @@ -205,13 +212,15 @@ private void applyNickname(final HttpServletRequest req, boolean check) throws F

private void applyPassword(final HttpServletRequest req, boolean check) throws FormException
{
this.hudsonPassword = req.getParameter(PARAMETERNAME_PASSWORD);
this.scrambledPasswords = true;
String password = req.getParameter(PARAMETERNAME_PASSWORD);
if (check) {
if (((this.hostname != null) && (this.hudsonPassword == null))
|| (this.hudsonPassword.trim().length() == 0)) {
if ((this.hostname != null)
&& ((password == null) || (password.trim().length() == 0))) {
throw new FormException("Password cannot be empty.", PARAMETERNAME_PASSWORD);
}
}
this.hudsonPassword = Scrambler.scramble(password);
}

private void applyGroupChatNickname(final HttpServletRequest req) throws FormException
Expand Down Expand Up @@ -411,9 +420,8 @@ public String getJabberId()
}

@Override
public String getPassword()
{
return this.hudsonPassword;
public String getPassword() {
return Scrambler.descramble(this.hudsonPassword);
}

public String getGroupChatNickname()
Expand Down Expand Up @@ -793,6 +801,12 @@ private Object readResolve() {
save();
}

if (!this.scrambledPasswords) {
this.hudsonPassword = Scrambler.scramble(this.hudsonPassword);
this.scrambledPasswords = true;
save();
}

return this;
}

Expand Down

0 comments on commit d1515ae

Please sign in to comment.