diff --git a/src/de/superx/servlet/SuperXmlPwChanger.java b/src/de/superx/servlet/SuperXmlPwChanger.java
index c950077..2abed2e 100644
--- a/src/de/superx/servlet/SuperXmlPwChanger.java
+++ b/src/de/superx/servlet/SuperXmlPwChanger.java
@@ -39,11 +39,16 @@ import de.superx.util.SqlStringUtils;
public class SuperXmlPwChanger extends HttpServlet {
private static final long serialVersionUID = 1L;
-
+ private static String encodeAlgorithm;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
ServletUtils.setPath(getServletConfig().getServletContext().getRealPath("/xml"));
+ encodeAlgorithm=config
+ .getInitParameter("encodeAlgorithm");
+ if(encodeAlgorithm==null || encodeAlgorithm.equals(""))
+ encodeAlgorithm="SHA512";
+
}
@@ -127,8 +132,15 @@ public class SuperXmlPwChanger extends HttpServlet {
sendBackHtml(UserInitializer.getPwChangeHtml(add
+ "Die eingegeben Passwörter stimmten nicht überein"));
} else {
- if (user.isPWUsedBefore(passwort) || CryptUtils.encodeSHA(passwort).equals(currentSha)
- || CryptUtils.encodeSHA(passwort + CryptUtils.geheimnis1).equals(currentSha)) {
+ if (user.isPWUsedBefore(passwort) || CryptUtils.encodeSHA(passwort).equals(
+ currentSha)
+ || CryptUtils.encodeSHA(
+ passwort + CryptUtils.geheimnis1)
+ .equals(currentSha)
+ || CryptUtils.encodeSHA512(
+ passwort)
+ .equals(currentSha)
+ ) {
sendBackHtml(UserInitializer.getPwChangeHtml(add
+ "Sie müssen ein neues Passwort eingeben (kein bereits früher benutztes)"));
} else {
@@ -193,8 +205,13 @@ public class SuperXmlPwChanger extends HttpServlet {
if (akt_versuch >= max_versuch)
msg = UserInitializer.MAXIMALE_LOGIN_VERSUCHE_UEBERSCHRITTEN;
else if (CryptUtils.encodeSHA(altesPasswort).equals(oldsha)
- || CryptUtils.encodeSHA(altesPasswort + CryptUtils.geheimnis1).equals(oldsha))
- isOk = true;
+ ||CryptUtils.encodeSHA(
+ altesPasswort + CryptUtils.geheimnis1).equals(
+ oldsha)
+ ||CryptUtils.encodeSHA512(
+ altesPasswort).equals(
+ oldsha))
+ isOk = true;
else {
try (Statement stm = con.createStatement()) {
stm.executeUpdate("update userinfo set akt_versuch=akt_versuch+1 " + " where tid="
@@ -215,7 +232,14 @@ public class SuperXmlPwChanger extends HttpServlet {
private void dbUpdate() throws Exception {
Statement stm = con.createStatement();
- String newSha = CryptUtils.encodeSHA(passwort + CryptUtils.geheimnis1);
+ String newSha = "";
+ if(encodeAlgorithm.equals("SHA512"))
+ newSha = CryptUtils.encodeSHA512(passwort);
+ if(encodeAlgorithm.equals("SHA_SALTED"))
+ newSha = CryptUtils.encodeSHA512(passwort+ CryptUtils.geheimnis1);
+ if(encodeAlgorithm.equals("SHA"))
+ newSha = CryptUtils.encodeSHA(passwort);
+
int rowcount = stm.executeUpdate(
"update userinfo set passwd_sha='" + newSha + "',kennwort='' where tid=" + user.getId() + ";");
if (rowcount != 1)
diff --git a/src/de/superx/servlet/UserInitializer.java b/src/de/superx/servlet/UserInitializer.java
index f0a302a..983f6e2 100644
--- a/src/de/superx/servlet/UserInitializer.java
+++ b/src/de/superx/servlet/UserInitializer.java
@@ -931,8 +931,16 @@ public class UserInitializer {
}
private boolean isPasswordInSuperXDatabaseOK(String enteredPassword) {
- return EqualsUtil.areEqual(user.getCurrentSha(), CryptUtils.encodeSHA(enteredPassword)) || EqualsUtil
- .areEqual(user.getCurrentSha(), CryptUtils.encodeSHA(enteredPassword + CryptUtils.geheimnis1));
+ boolean isPasswordOK = false;
+ String encoded_sha = CryptUtils.encodeSHA(enteredPassword);
+ String encoded_sha2 = CryptUtils.encodeSHA(enteredPassword + CryptUtils.geheimnis1);
+ String encoded_sha512 = CryptUtils.encodeSHA512(enteredPassword);
+ if ( user.getCurrentSha().equals(encoded_sha)
+ || user.getCurrentSha().equals(encoded_sha2)
+ || user.getCurrentSha().equals(encoded_sha512)) {
+ isPasswordOK = true;
+ }
+ return isPasswordOK ;
}
private void updateLastLogin(Statement stm) throws SQLException {
diff --git a/superx/WEB-INF/conf/version.properties b/superx/WEB-INF/conf/version.properties
index 7934293..c2d7153 100644
--- a/superx/WEB-INF/conf/version.properties
+++ b/superx/WEB-INF/conf/version.properties
@@ -1,2 +1,2 @@
git.branch=HEAD
-git.commit.hash=1353a23d02b48fed4e6f9c227ecebdc914bfc9b5
+git.commit.hash=5c38a3bf9f7a03c5cdf7c3fbcfcbbf07c7fdd36b
diff --git a/superx/WEB-INF/lib/superx6.0.jar b/superx/WEB-INF/lib/superx6.0.jar
index 692280c..352a29d 100644
Binary files a/superx/WEB-INF/lib/superx6.0.jar and b/superx/WEB-INF/lib/superx6.0.jar differ
diff --git a/superx/WEB-INF/saiku/applicationContext-saiku-webapp.xml b/superx/WEB-INF/saiku/applicationContext-saiku-webapp.xml
index 2ff0dfc..6886936 100644
--- a/superx/WEB-INF/saiku/applicationContext-saiku-webapp.xml
+++ b/superx/WEB-INF/saiku/applicationContext-saiku-webapp.xml
@@ -43,7 +43,7 @@
-
+
diff --git a/superx/xml/superxml_html.css b/superx/xml/superxml_html.css
index c987615..aeb65e2 100644
--- a/superx/xml/superxml_html.css
+++ b/superx/xml/superxml_html.css
@@ -1,377 +1,2 @@
-body{
- background-color: #FFFFFF;
- /* padding:8pt; */
- margin:0px;
- font:10pt Verdana, Geneva, Arial, helvetica, sans-serif;
- /* color: #333333; */
-}
-
-/* sehr unschöner Stil. Alle img auf Höhe 16px -> Probleme mit SuperX-Standalone, daher eigene Kopie superx_standalone.css von dieser Datei */
-img{
- height:16px;
-}
-.logoPortal{
- height:54px;
- width:180px;
-}
-
-
-table.resultset
-{
-margin-left:0px;
-margin-right:0px;
-margin-top:0px;
-margin-bottom:0px;
-padding-left:0px;
-padding-right:0px;
-padding-top:0px;
-padding-bottom:0px;
-border:none;
-}
-
-
-p.legende
-{
-background-color:rgb(250,250,250);
-font-size:10pt;
-border:thin solid gray
-}
-p.maskentitel,h1,h2
-/* entspricht h1 */
-{
- /* clear: left;
- font-size: 200%;
- line-height: 205%;
- font-weight: bold;
- margin: 0em 0em .6em 0em */
-
- border-bottom: 2px solid black;
- /* border-bottom: 2px solid #CCCCFF;
- border-left: 2px solid #CCCCFF; */
- color: black;
- /* color: #1338DB; */
- display: block;
- font-size: 200%;
- font-weight: bold;
- margin: 5px 0 20px 5px;
- padding: 0px 0px 0px 5px;
-}
-p.smallBreak
-{
-padding:0px;
-margin:0px
-}
-
-span.feldname
-{
-font-weight:lighter
-}
-span.feldwert
-{
-font-weight:bolder
-}
-
-td.ergfeld
-{
-empty-cells:show;
-vertical-align:top;
-/* height:20px; */
-padding:4px;
-}
-td.header
-{
-font-size:10pt;
-font-weight:bold;
-text-align:center
-}
-td.result
-{
-font-size:10pt;
-/*font-weight:light;*/
-empty-cells:show;
-}
-td.string
-{
-text-align:left;
-empty-cells:show
-}
-td.decimal
-{
-empty-cells:show;
-vertical-align:top;
-/* height:20px; */
-padding:4px;
-
-}
-td.integer
-{
-empty-cells:show;
-vertical-align:top;
-/* height:20px; */
-padding:4px;
-
-}
-
-p.errmsg
-{
- border: medium solid red;
- text-align:left;
- background-color:rgb(240,240,240);
-}
-
-p.nachricht
-{border:medium solid red;
-}
-table.rahmen
-{
-margin: 0px;
-padding: 0px;
-border:thin solid gray}
-
-table.maske
-{
-width:93%;
-margin-left:0px;
-margin-right:0px;
-margin-top:0px;
-margin-bottom:0px;
-padding-left:0px;
-padding-right:0px;
-padding-top:0px;
-padding-bottom:0px;
-border:none;
-background-color:#fff6d9
-}
-
-table.buttons
-{
-margin-left:0px;
-margin-right:0px;
-margin-top:0px;
-margin-bottom:0px;
-padding-left:0px;
-padding-right:0px;
-padding-top:0px;
-padding-bottom:0px;
-border:none
-}
-
-td.rahmen
-{
-border:thin solid black
-}
-
-td.kopf{
- vertical-align:top;
- text-align:center;
- border:thin solid silver;
- font-size:14pt;
- font-weight:bolder
-}
-td.zeilen {
- margin: 0px;
- padding: 0px;
- border:thin solid gray;
- color:black;
- font-family: sans-serif;
- font-size:smaller;
- vertical-align:top;
- text-align:center
- }
-
-table.feld
-{
-margin: 0px;
-padding: 0px;
-border:none
-}
-tr.feld
-{
-margin: 0px;
-padding: 0px;
-border:none
-}
-td.feld
-{
-margin: 0px;
-padding: 0px;
-border:none
-}
-
-
-
-table.header
-{
-width:100%;
-margin:0;
-padding:0
-}
-td.headerleft
-{width:70%;margin:0;
-padding:0;
-text-align:left;vertical-align:top
-}
-td.headerright
-{width:25%;
-margin:0;
-padding:0;
-text-align:left;vertical-align:top
-}
-td.headermiddle
-{width:5%;
-margin:0;
-padding:0;
-text-align:left;vertical-align:top
-}
-
-td.Hochschulname
-/* entspricht h1 */
-{
- clear: left;
- font-size: 140%;
- line-height: 145%;
- font-weight: bold;
- margin: 0em 0em .6em 0em
-}
-td.Studienfach
-{
-font-weight:bolder
-}
-td.bezeichnung
-{
-font-size:1.1em;
-font-weight:bolder;
-}
-td.funktionsbezeichnung
-{
-font-size:1.2em;
-font-weight:bolder
-}
-
-td.Person
-{
-font-weight:bolder
-}
-#breadcrumbs {
- /* font-size: x-small;*/
- margin: 0pt;
- background-color:#f1f1f1;
- /* line-height:14px; */
-}
-.xleft {
- float:left;
-}
-.xright {
- float:right;
-}
-input.clsButtonStyle {
-
- font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
- font-size: 0.8em;
- font-weight: normal;
- border:thin solid blue;
- /* background-color:#ffffcc; Button-Hintergrundfarbe entfernt */
-
-
-}
-.divBreadcrumb {
- font-size: 70%;
- padding-bottom: 0px;
-}
-
-.table_lable {
- text-align:right;
- vertical-align:top;
- font-size:0.8em;
- vertical-align: middle;
-}
-.table_button {
- text-align:left;
- vertical-align:top
-}
-.submit_image {
- margin: 1px 1px 1px 10px;
- padding: 1px 1px 1px 1px;
- vertical-align: middle;
-}
-
-.submit_image:hover, .submit_image:focus, .submit_image:active {
- background-color: #CBDEF3;
-}
-
-.hs_header_inst {
- text-align:center;
- margin: 0px;
- padding: 0px;
-
-}
-.hs_header_url {
- text-align:center;
- font-size: 60%;
- margin: 0px;
- padding: 0px;
-
-}
-.hs_header_img {
- text-align:right;
- margin: 0px;
- padding: 0px;
-
-}
-
-div#validation p {
- color: #CC0000;
- font-size: 70%;
- margin: 20px 10px;
-}
-
-/*###############*/
-/*# Runde Ecken #*/
-/*###############*/
-
-.round_corner_pointer { cursor:pointer; }
-
-/* Inset 3D Raised */
-.round_corner {background: transparent; margin:0 0 0 0;display:block;}
-.round_corner_link {background: transparent; width:500px; margin:2px 0 0 0;display:block; /* cursor:pointer; */ }
-.round_corner a, .round_corner p {margin:0 10px;color: #1338DB;}
-.round_corner a { /* text-decoration:underline; */ font-weight:bold; }
-.round_corner p { color: #000000;}
-
-.round_corner .top, .round_corner .bottom {display:block; background:transparent; font-size:1px;}
-.round_corner .b1, .round_corner .b2, .round_corner .b3, .round_corner .b4, .round_corner .b1b, .round_corner .b2b, .round_corner .b3b, .round_corner .b4b {display:block; overflow:hidden;}
-.round_corner .b1, .round_corner .b2, .round_corner .b3, .round_corner .b1b, .round_corner .b2b, .round_corner .b3b {height:1px;}
-.round_corner .b2 {background:#ccccff; border-left:1px solid #fff; border-right:1px solid #eee;}
-.round_corner .b3 {background:#ccccff; border-left:1px solid #fff; border-right:1px solid #ddd;}
-.round_corner .b4 {background:#ccccff; border-left:1px solid #fff; border-right:1px solid #aaa;}
-.round_corner .b4b {background:#ccccff; border-left:1px solid #eee; border-right:1px solid #999;}
-.round_corner .b3b {background:#ccccff; border-left:1px solid #ddd; border-right:1px solid #999;}
-.round_corner .b2b {background:#ccccff; border-left:1px solid #aaa; border-right:1px solid #999;}
-
-.round_corner .b1 {margin:0 5px; background:#fff;}
-.round_corner .b2, .round_corner .b2b {margin:0 3px; border-width:0 2px;}
-.round_corner .b3, .round_corner .b3b {margin:0 2px;}
-.round_corner .b4, .round_corner .b4b {height:2px; margin:0 1px;}
-.round_corner .b1b {margin:0 5px; background:#999;}
-.round_corner .boxcontent {display:block; background:#fff6d9; border-left:1px solid #fff; border-right:1px solid #999;}
-
-
-/* Inset 3D Curved */
-
-.round_corner:hover, .round_corner:focus, .round_corner:active {background: transparent; margin:0 0 0 0;display:block;}
-.round_corner_link:hover, .round_corner_link:focus, .round_corner_link:active {background: transparent; width:500px; margin:2px 0 0 0;display:block; /* cursor:pointer; */ }
-.round_corner_link:hover h1, .round_corner_link:focus h1, .round_corner_link:active h1 {font-size:2em; color:#fff; letter-spacing:1px;}
-
-.round_corner_link:hover .b2, .round_corner_link:focus .b2, .round_corner_link:active .b2 {background:#ccccff; border-left:1px solid #999; border-right:1px solid #aaa;}
-.round_corner_link:hover .b3, .round_corner_link:focus .b3, .round_corner_link:active .b3 {background:#ccccff; border-left:1px solid #999; border-right:1px solid #ddd;}
-.round_corner_link:hover .b4, .round_corner_link:focus .b4, .round_corner_link:active .b4 {background:#ccccff; border-left:1px solid #999; border-right:1px solid #eee;}
-.round_corner_link:hover .b4b, .round_corner_link:focus .b4b, .round_corner_link:active .b4b {background:#ccccff; border-left:1px solid #aaa; border-right:1px solid #fff;}
-.round_corner_link:hover .b3b, .round_corner_link:focus .b3b, .round_corner_link:active .b3b {background:#ccccff; border-left:1px solid #ddd; border-right:1px solid #fff;}
-.round_corner_link:hover .b2b, .round_corner_link:focus .b2b, .round_corner_link:active .b2b {background:#ccccff; border-left:1px solid #eee; border-right:1px solid #fff;}
-
-.round_corner_link:hover .b1, .round_corner_link:focus .b1, .round_corner_link:active .b1 {margin:0 5px; background:#999;}
-.round_corner_link:hover .b1b, .round_corner_link:focus .b1b, .round_corner_link:active .b1b {margin:0 5px; background:#fff;}
-
-.round_corner_link:hover .boxcontent, .round_corner_link:focus .boxcontent, .round_corner_link:active .boxcontent {display:block; background:#ccccff; border-left:1px solid #999; border-right:1px solid #fff;}
-
-
+@import url("/superx/style/bulma.css");
+@import url("/superx/style/sx_common.css");