java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartAdvancedOptionsAction.java | 4 +- java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml | 6 +++ java/code/src/com/redhat/rhn/manager/kickstart/KickstartOptionsCommand.java | 3 + java/code/webapp/WEB-INF/pages/kickstart/kickstartoptions.jsp | 18 +++++++--- 4 files changed, 26 insertions(+), 5 deletions(-)
New commits: commit 8853d2802182f183db65488219c9a256222e92eb Author: Tomas Lestach tlestach@redhat.com Date: Tue Oct 4 12:16:13 2011 +0200
729784 - support for passalgo in advanced options of kickstart profiles
it's possible to hash encode passwords in kickstart profiles not just using MD5, but also using SHA256,SHA512, ... [everything what anaconda supports]
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartAdvancedOptionsAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartAdvancedOptionsAction.java index e84e171..1b9051d 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartAdvancedOptionsAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartAdvancedOptionsAction.java @@ -23,6 +23,7 @@ import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.frontend.struts.RhnAction; import com.redhat.rhn.manager.kickstart.KickstartOptionsCommand;
+import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; @@ -117,7 +118,8 @@ public class KickstartAdvancedOptionsAction extends RhnAction { if (cn.getName().equals("rootpw")) { String pwarg = request.getParameter(argsName); // password already encrypted - if (pwarg.startsWith("$1$")) { + String md5Crypt = request.getParameter("md5_crypt_rootpw"); + if (StringUtils.isEmpty(md5Crypt)) { kc.setArguments(pwarg); } // password changed, encrypt it diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml index 6a840cf..546a439 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml @@ -2026,6 +2026,12 @@ available for this kickstart profile to function properly. <context context-type="sourcefile">/rhn/kickstart/KickstartOptionsEdit</context> </context-group> </trans-unit> + <trans-unit id="kickstart.options.rootpw.note"> + <source><strong>NOTE:</strong> You may set any password hash into this field. Make sure the hash algorithm is correctly set in the <strong>auth</strong> option. However you may enter a plaintext password, that will be md5 encrypted when selecting the <strong>MD5 Encrypt</strong> checkbox.</source> + <context-group name="ctx"> + <context context-type="sourcefile">/rhn/kickstart/KickstartOptionsEdit</context> + </context-group> + </trans-unit> <trans-unit id="kickstart.iprange_add.success"> <source>Successfully added IP Range to Kickstart Profile {0}</source> <context-group name="ctx"> diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartOptionsCommand.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartOptionsCommand.java index eae1307..b422a21 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartOptionsCommand.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartOptionsCommand.java @@ -92,6 +92,9 @@ public class KickstartOptionsCommand extends BaseKickstartCommand { if (name.equals("url")) { v.setAdditionalNotesKey("kickstart.options.url.note"); } + else if (name.equals("rootpw")) { + v.setAdditionalNotesKey("kickstart.options.rootpw.note"); + }
v.setArg(args); v.setEnabled(Boolean.TRUE); diff --git a/java/code/webapp/WEB-INF/pages/kickstart/kickstartoptions.jsp b/java/code/webapp/WEB-INF/pages/kickstart/kickstartoptions.jsp index cfe84bb..dd66653 100644 --- a/java/code/webapp/WEB-INF/pages/kickstart/kickstartoptions.jsp +++ b/java/code/webapp/WEB-INF/pages/kickstart/kickstartoptions.jsp @@ -42,10 +42,20 @@ <c:when test="${option.hasArgs}"> <td><input type="checkbox" name="${option.name}" value="${option.name}" ${enabled} /></td> <td> - <input type="text" name="<c:out value="${option.name}" />_txt" value="${option.arg}" size="64"/><br/> - <c:if test="${option.additionalNotesKey != null}"> - <bean:message key="${option.additionalNotesKey}"/> - </c:if> + <c:choose> + <c:when test="${option.name == 'rootpw'}"> + <input type="text" name="<c:out value="${option.name}" />_txt" value="${option.arg}" size="48"/> + <input type="checkbox" name='md5_crypt_rootpw' value='md5_crypt_rootpw' id="md5_crypt_rootpw"/> + <label for="md5_crypt_rootpw"><c:out value="MD5 Encrypt"/></label> + <br/> + </c:when> + <c:otherwise> + <input type="text" name="<c:out value="${option.name}" />_txt" value="${option.arg}" size="64"/><br/> + </c:otherwise> + </c:choose> + <c:if test="${option.additionalNotesKey != null}"> + <bean:message key="${option.additionalNotesKey}"/> + </c:if> </td> </c:when> <c:otherwise>
spacewalk-commits@lists.fedorahosted.org