Fix locale validator, don't sanitize already validated tz and locale and prepare for 6.1.3 rc2.
diff --git a/app/src/main/java/org/apache/roller/weblogger/pojos/User.java b/app/src/main/java/org/apache/roller/weblogger/pojos/User.java
index 017a0bc..da100e7 100644
--- a/app/src/main/java/org/apache/roller/weblogger/pojos/User.java
+++ b/app/src/main/java/org/apache/roller/weblogger/pojos/User.java
@@ -186,25 +186,25 @@
}
/**
- * Locale of the user.
+ * Locale of the user, must be valid Java locale.
*/
public String getLocale() {
return this.locale;
}
public void setLocale(String locale) {
- this.locale = HTMLSanitizer.conditionallySanitize(locale);
+ this.locale = locale;
}
/**
- * Timezone of the user.
+ * Timezone of the user, must be valid Java timezone.
*/
public String getTimeZone() {
return this.timeZone;
}
public void setTimeZone(String timeZone) {
- this.timeZone = HTMLSanitizer.conditionallySanitize(timeZone);
+ this.timeZone = timeZone;
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java
index fc39212..6f83a0d 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Profile.java
@@ -157,6 +157,7 @@
// validate that bean's timeZone field is a valid time zone
if (!StringUtils.isEmpty(getBean().getTimeZone())) {
+ // looking up the time zone by id did not work for me
final Optional<String> first = Arrays.stream(TimeZone.getAvailableIDs())
.filter(id -> id.equals(getBean().getTimeZone())).findFirst();
if (first.isEmpty()) {
@@ -166,8 +167,10 @@
// validate that bean's locale field is a valid locale
if (!StringUtils.isEmpty(getBean().getLocale())) {
- Locale locale = Locale.forLanguageTag(bean.getLocale());
- if (locale == null || "".equals(locale.getDisplayName())) {
+ // looking up the time zone by id did not work for me
+ final Optional<Locale> first = Arrays.stream(Locale.getAvailableLocales())
+ .filter(locale -> locale.toString().equals(getBean().getLocale())).findFirst();
+ if (first.isEmpty() || "".equals(first.get().getDisplayName())) {
addError("error.add.user.invalid.locale");
}
}
diff --git a/assembly-release/sign-release.sh b/assembly-release/sign-release.sh
index 0c959ac..650ca2c 100755
--- a/assembly-release/sign-release.sh
+++ b/assembly-release/sign-release.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-export rcstring="r1"
+export rcstring="r2"
export vstring="6.1.3"
# for rc releases we rename the release files