diff --git a/lib/SP/Http/Request.php b/lib/SP/Http/Request.php
index 0be280c44..2ce3eea86 100644
--- a/lib/SP/Http/Request.php
+++ b/lib/SP/Http/Request.php
@@ -171,8 +171,10 @@ public function getForwardedFor()
$forwarded = $this->headers->get('HTTP_FORWARDED');
if ($forwarded !== null &&
- preg_match_all('/(?:for=([\w.:]+))|(?:for="\[([\w.:]+)\]")/i',
- $forwarded, $matches)
+ preg_match_all(
+ '/(?:for=([\w.:]+))|(?:for="\[([\w.:]+)\]")/i',
+ $forwarded,
+ $matches)
) {
return array_filter(array_merge($matches[1], $matches[2]), function ($value) {
return !empty($value);
@@ -180,7 +182,7 @@ public function getForwardedFor()
}
// eg: X-Forwarded-For: 192.0.2.43, 2001:db8:cafe::17
- $xForwarded = $this->headers->exists('HTTP_X_FORWARDED_FOR');
+ $xForwarded = $this->headers->get('HTTP_X_FORWARDED_FOR');
if ($xForwarded !== null) {
$matches = preg_split('/(?<=[\w])+,\s?/i',
diff --git a/lib/SP/Services/Install/Installer.php b/lib/SP/Services/Install/Installer.php
index f0fd627df..4384b4a83 100644
--- a/lib/SP/Services/Install/Installer.php
+++ b/lib/SP/Services/Install/Installer.php
@@ -60,9 +60,9 @@ final class Installer extends Service
/**
* sysPass' version and build number
*/
- const VERSION = [3, 2, 1];
+ const VERSION = [3, 2, 2];
const VERSION_TEXT = '3.2';
- const BUILD = 21011601;
+ const BUILD = 21031301;
/**
* @var DatabaseSetupInterface
diff --git a/public/js/app-util.js b/public/js/app-util.js
index 826458d48..da08c7ac4 100644
--- a/public/js/app-util.js
+++ b/public/js/app-util.js
@@ -444,7 +444,9 @@ sysPass.Util = function (log) {
}
}
- if (password.config.complexity.uppercase) {
+ if (password.config.complexity.chars
+ && password.config.complexity.uppercase
+ ) {
const chars = password.config.charset.char.toUpperCase();
const res = inPassArray.some(
function (el) {
diff --git a/public/js/app-util.min.js b/public/js/app-util.min.js
index 87ecd2602..eb29418db 100644
--- a/public/js/app-util.min.js
+++ b/public/js/app-util.min.js
@@ -7,7 +7,7 @@ $jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[
$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3");
sysPass.Util=function(a){var d={config:{passLength:0,minPasswordLength:12,complexity:{chars:!0,numbers:!0,symbols:!0,uppercase:!0,numlength:12},charset:{special:"!\"\\\u00b7@|#$~%&/()=?'\u00bf\u00a1^*[]\u00b7;,_-{}<>",number:"1234567890",char:"abcdefghijklmnopqrstuvwxyz"}},random:function(b){a.info("password:random");var c="";this.config.complexity.symbols&&(c+=this.config.charset.special);this.config.complexity.numbers&&(c+=this.config.charset.number);this.config.complexity.chars&&(c+=this.config.charset.char,
this.config.complexity.uppercase&&(c+=this.config.charset.char.toUpperCase()));var f=function(){for(var a="",b=0;b++").html(a).text()},resizeImage:function(a){var b=.9*$(window).width(),d=.9*$(window).height(),e={width:a.width(),height:a.height()},g={calc:0,main:0,secondary:0,factor:.9,rel:e.width/e.height},h=function(a){a.main>a.secondary?a.calc=a.main/a.rel:a.maina.secondary&&(a.main*=a.factor,h(a));return a},k=function(){g.main=b;g.secondary=d;var c=h(g);a.css({width:c.main,