import gnome-shell-3.32.2-38.el8
This commit is contained in:
parent
8eb994b323
commit
35adc05228
@ -1,7 +1,7 @@
|
|||||||
From f03c6a870820543901331d1920b7b3e423813d2c Mon Sep 17 00:00:00 2001
|
From 6e80934456f0b4cc48da6a7201700dc4386a3474 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Thu, 27 Feb 2020 13:46:44 -0800
|
Date: Thu, 27 Feb 2020 13:46:44 -0800
|
||||||
Subject: [PATCH 1/6] environment: reduce calls to g_time_zone_new_local()
|
Subject: [PATCH] environment: reduce calls to g_time_zone_new_local()
|
||||||
|
|
||||||
Creating a new GTimeZone for the local timezone can be quite expensive if
|
Creating a new GTimeZone for the local timezone can be quite expensive if
|
||||||
done repeatedly. It requires an open(), mmap(), and parsing of
|
done repeatedly. It requires an open(), mmap(), and parsing of
|
||||||
@ -19,12 +19,12 @@ Signed-off-by: Christian Hergert <chergert@redhat.com>
|
|||||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/js/ui/environment.js b/js/ui/environment.js
|
diff --git a/js/ui/environment.js b/js/ui/environment.js
|
||||||
index e22ec7402..f3f2d17c7 100644
|
index 9c125d3eb..809b48e45 100644
|
||||||
--- a/js/ui/environment.js
|
--- a/js/ui/environment.js
|
||||||
+++ b/js/ui/environment.js
|
+++ b/js/ui/environment.js
|
||||||
@@ -11,6 +11,9 @@ imports.gi.versions.TelepathyLogger = '0.2';
|
@@ -11,6 +11,9 @@ imports.gi.versions.TelepathyLogger = '0.2';
|
||||||
|
|
||||||
const { Clutter, GLib, Shell, St } = imports.gi;
|
const { Clutter, Gio, GLib, Shell, St } = imports.gi;
|
||||||
const Gettext = imports.gettext;
|
const Gettext = imports.gettext;
|
||||||
+const System = imports.system;
|
+const System = imports.system;
|
||||||
+
|
+
|
||||||
@ -32,7 +32,7 @@ index e22ec7402..f3f2d17c7 100644
|
|||||||
|
|
||||||
// We can't import shell JS modules yet, because they may have
|
// We can't import shell JS modules yet, because they may have
|
||||||
// variable initializations, etc, that depend on init() already having
|
// variable initializations, etc, that depend on init() already having
|
||||||
@@ -110,9 +113,26 @@ function init() {
|
@@ -117,9 +120,26 @@ function init() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -61,5 +61,5 @@ index e22ec7402..f3f2d17c7 100644
|
|||||||
|
|
||||||
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
|
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
|
||||||
--
|
--
|
||||||
2.26.2
|
2.31.1
|
||||||
|
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
From 7a264550c5f3a98b1786b1a75cff01cde1d084eb Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Thu, 29 Jul 2021 17:17:43 +0200
|
||||||
|
Subject: [PATCH 5/5] shellEntry: Only mask text in password entries
|
||||||
|
|
||||||
|
When "Show Text" is locked down, we not only remove the corresponding
|
||||||
|
menu item, but also make sure the password is masked.
|
||||||
|
|
||||||
|
Except that the current code is too eager, and masks the text in
|
||||||
|
any entries.
|
||||||
|
---
|
||||||
|
js/ui/shellEntry.js | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
|
||||||
|
index c45e4545a..64b389050 100644
|
||||||
|
--- a/js/ui/shellEntry.js
|
||||||
|
+++ b/js/ui/shellEntry.js
|
||||||
|
@@ -55,11 +55,13 @@ var EntryMenu = class extends PopupMenu.PopupMenu {
|
||||||
|
this._passwordItem.destroy();
|
||||||
|
this._passwordItem = null;
|
||||||
|
}
|
||||||
|
- this._entry.clutter_text.set_password_char('\u25cf');
|
||||||
|
} else if (this.isPassword && !passwordDisabled) {
|
||||||
|
if (!this._passwordItem)
|
||||||
|
this._makePasswordItem();
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ if (this.isPassword && passwordDisabled)
|
||||||
|
+ this._entry.clutter_text.set_password_char('\u25cf');
|
||||||
|
}
|
||||||
|
|
||||||
|
get isPassword() {
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
279
SOURCES/warn-less.patch
Normal file
279
SOURCES/warn-less.patch
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
From 37bbb9175bbd061d4ae14e86c35e4211602dbeaa Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Mon, 23 Mar 2020 17:57:38 +0100
|
||||||
|
Subject: [PATCH 1/4] shell/util: Add touch_file_async() helper
|
||||||
|
|
||||||
|
Add a small helper method to asynchronously "touch" a file and return
|
||||||
|
whether the file was created or not.
|
||||||
|
|
||||||
|
As g_file_make_directory_with_parents() doesn't have an async variant,
|
||||||
|
we need a C helper to make the entire operation non-blocking.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432
|
||||||
|
---
|
||||||
|
src/shell-util.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
src/shell-util.h | 7 ++++++
|
||||||
|
2 files changed, 69 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/shell-util.c b/src/shell-util.c
|
||||||
|
index fa3fc08c8..eec67f3d7 100644
|
||||||
|
--- a/src/shell-util.c
|
||||||
|
+++ b/src/shell-util.c
|
||||||
|
@@ -323,6 +323,68 @@ shell_get_file_contents_utf8_sync (const char *path,
|
||||||
|
return contents;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+touch_file (GTask *task,
|
||||||
|
+ gpointer object,
|
||||||
|
+ gpointer task_data,
|
||||||
|
+ GCancellable *cancellable)
|
||||||
|
+{
|
||||||
|
+ GFile *file = object;
|
||||||
|
+ g_autoptr (GFile) parent = NULL;
|
||||||
|
+ g_autoptr (GFileOutputStream) stream = NULL;
|
||||||
|
+ GError *error = NULL;
|
||||||
|
+
|
||||||
|
+ parent = g_file_get_parent (file);
|
||||||
|
+ g_file_make_directory_with_parents (parent, cancellable, &error);
|
||||||
|
+
|
||||||
|
+ if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
|
||||||
|
+ {
|
||||||
|
+ g_task_return_error (task, error);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ g_clear_error (&error);
|
||||||
|
+
|
||||||
|
+ stream = g_file_create (file, G_FILE_CREATE_NONE, cancellable, &error);
|
||||||
|
+
|
||||||
|
+ if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
|
||||||
|
+ {
|
||||||
|
+ g_task_return_error (task, error);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ g_clear_error (&error);
|
||||||
|
+
|
||||||
|
+ if (stream)
|
||||||
|
+ g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, NULL);
|
||||||
|
+
|
||||||
|
+ g_task_return_boolean (task, stream != NULL);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+shell_util_touch_file_async (GFile *file,
|
||||||
|
+ GAsyncReadyCallback callback,
|
||||||
|
+ gpointer user_data)
|
||||||
|
+{
|
||||||
|
+ g_autoptr (GTask) task = NULL;
|
||||||
|
+
|
||||||
|
+ g_return_if_fail (G_IS_FILE (file));
|
||||||
|
+
|
||||||
|
+ task = g_task_new (file, NULL, callback, user_data);
|
||||||
|
+ g_task_set_source_tag (task, shell_util_touch_file_async);
|
||||||
|
+
|
||||||
|
+ g_task_run_in_thread (task, touch_file);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+gboolean
|
||||||
|
+shell_util_touch_file_finish (GFile *file,
|
||||||
|
+ GAsyncResult *res,
|
||||||
|
+ GError **error)
|
||||||
|
+{
|
||||||
|
+ g_return_val_if_fail (G_IS_FILE (file), FALSE);
|
||||||
|
+ g_return_val_if_fail (G_IS_TASK (res), FALSE);
|
||||||
|
+
|
||||||
|
+ return g_task_propagate_boolean (G_TASK (res), error);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* shell_util_wifexited:
|
||||||
|
* @status: the status returned by wait() or waitpid()
|
||||||
|
diff --git a/src/shell-util.h b/src/shell-util.h
|
||||||
|
index 02b8404e9..bedf516ba 100644
|
||||||
|
--- a/src/shell-util.h
|
||||||
|
+++ b/src/shell-util.h
|
||||||
|
@@ -32,6 +32,13 @@ gboolean shell_write_string_to_stream (GOutputStream *stream,
|
||||||
|
char *shell_get_file_contents_utf8_sync (const char *path,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
|
+void shell_util_touch_file_async (GFile *file,
|
||||||
|
+ GAsyncReadyCallback callback,
|
||||||
|
+ gpointer user_data);
|
||||||
|
+gboolean shell_util_touch_file_finish (GFile *file,
|
||||||
|
+ GAsyncResult *res,
|
||||||
|
+ GError **error);
|
||||||
|
+
|
||||||
|
gboolean shell_util_wifexited (int status,
|
||||||
|
int *exit);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
||||||
|
|
||||||
|
From 1f75494bea1ef7017d50d77cf5c7ad6b9668d4f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Mon, 23 Mar 2020 18:00:27 +0100
|
||||||
|
Subject: [PATCH 2/4] environment: Hook up touch_file to GFile prototype
|
||||||
|
|
||||||
|
We don't usually extend introspected types with our own API, but in
|
||||||
|
this case it's too tempting to make the helper functions usable with
|
||||||
|
Gio._promisify() ...
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432
|
||||||
|
---
|
||||||
|
js/ui/environment.js | 9 ++++++++-
|
||||||
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/environment.js b/js/ui/environment.js
|
||||||
|
index e22ec7402..9c125d3eb 100644
|
||||||
|
--- a/js/ui/environment.js
|
||||||
|
+++ b/js/ui/environment.js
|
||||||
|
@@ -9,7 +9,7 @@ imports.gi.versions.Gtk = '3.0';
|
||||||
|
imports.gi.versions.TelepathyGLib = '0.12';
|
||||||
|
imports.gi.versions.TelepathyLogger = '0.2';
|
||||||
|
|
||||||
|
-const { Clutter, GLib, Shell, St } = imports.gi;
|
||||||
|
+const { Clutter, Gio, GLib, Shell, St } = imports.gi;
|
||||||
|
const Gettext = imports.gettext;
|
||||||
|
|
||||||
|
// We can't import shell JS modules yet, because they may have
|
||||||
|
@@ -97,6 +97,13 @@ function init() {
|
||||||
|
return St.describe_actor(this);
|
||||||
|
};
|
||||||
|
|
||||||
|
+ Gio._LocalFilePrototype.touch_async = function (callback) {
|
||||||
|
+ Shell.util_touch_file_async(this, callback);
|
||||||
|
+ };
|
||||||
|
+ Gio._LocalFilePrototype.touch_finish = function (result) {
|
||||||
|
+ return Shell.util_touch_file_finish(this, result);
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
let origToString = Object.prototype.toString;
|
||||||
|
Object.prototype.toString = function() {
|
||||||
|
let base = origToString.call(this);
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
||||||
|
|
||||||
|
From 4bef23c7176a43f4dcf146e70bbb8aaa701b8cd2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Fri, 20 Mar 2020 12:42:04 +0100
|
||||||
|
Subject: [PATCH 3/4] main: Do not warn about missing GDM on each login
|
||||||
|
|
||||||
|
We now warn on startup if screen locking isn't available, however for
|
||||||
|
users who choose not to use GDM or logind, repeating the warning on
|
||||||
|
each login is more annoying than helpful.
|
||||||
|
|
||||||
|
Instead, limit the warning to the first login on which the screen lock
|
||||||
|
became unavailable. That way the notification will still serve the
|
||||||
|
intended purpose of informing the user, but without being perceived
|
||||||
|
as nagging.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432
|
||||||
|
---
|
||||||
|
js/ui/main.js | 36 +++++++++++++++++++++++++++++++-----
|
||||||
|
1 file changed, 31 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/main.js b/js/ui/main.js
|
||||||
|
index 1203b3c39..a3fad158c 100644
|
||||||
|
--- a/js/ui/main.js
|
||||||
|
+++ b/js/ui/main.js
|
||||||
|
@@ -81,6 +81,9 @@ let _a11ySettings = null;
|
||||||
|
let _themeResource = null;
|
||||||
|
let _oskResource = null;
|
||||||
|
|
||||||
|
+Gio._promisify(Gio._LocalFilePrototype, 'delete_async', 'delete_finish');
|
||||||
|
+Gio._promisify(Gio._LocalFilePrototype, 'touch_async', 'touch_finish');
|
||||||
|
+
|
||||||
|
function _sessionUpdated() {
|
||||||
|
if (sessionMode.isPrimary)
|
||||||
|
_loadDefaultStylesheet();
|
||||||
|
@@ -242,11 +245,8 @@ function _initializeUI() {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sessionMode.currentMode !== 'gdm' &&
|
||||||
|
- sessionMode.currentMode !== 'initial-setup' &&
|
||||||
|
- screenShield === null) {
|
||||||
|
- notify(_('Screen Lock disabled'),
|
||||||
|
- _('Screen Locking requires the GNOME display manager.'));
|
||||||
|
- }
|
||||||
|
+ sessionMode.currentMode !== 'initial-setup')
|
||||||
|
+ _handleLockScreenWarning();
|
||||||
|
|
||||||
|
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
|
||||||
|
if (perfModuleName) {
|
||||||
|
@@ -257,6 +257,32 @@ function _initializeUI() {
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
+async function _handleLockScreenWarning() {
|
||||||
|
+ const path = '%s/lock-warning-shown'.format(global.userdatadir);
|
||||||
|
+ const file = Gio.File.new_for_path(path);
|
||||||
|
+
|
||||||
|
+ const hasLockScreen = screenShield !== null;
|
||||||
|
+ if (hasLockScreen) {
|
||||||
|
+ try {
|
||||||
|
+ await file.delete_async(0, null);
|
||||||
|
+ } catch (e) {
|
||||||
|
+ if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
|
||||||
|
+ logError(e);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ try {
|
||||||
|
+ if (!await file.touch_async())
|
||||||
|
+ return;
|
||||||
|
+ } catch (e) {
|
||||||
|
+ logError(e);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ notify(
|
||||||
|
+ _('Screen Lock disabled'),
|
||||||
|
+ _('Screen Locking requires the GNOME display manager.'));
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
function _getStylesheet(name) {
|
||||||
|
let stylesheet;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
||||||
|
|
||||||
|
From c3f34e786826d0ed1af4150190159fed50d9fb87 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Thu, 22 Oct 2020 20:11:14 +0200
|
||||||
|
Subject: [PATCH 4/4] messageTray: Default to generic policy
|
||||||
|
|
||||||
|
How and if notifications are shown is controlled by NotificationPolicy
|
||||||
|
objects. But ever since 098bd45, only notification daemon sources or
|
||||||
|
notifications associated with an app are hooked up to GSettings.
|
||||||
|
|
||||||
|
The hardcoded default policy for built-in notifications (including
|
||||||
|
those provided by extensions) arguably made sense back then, but
|
||||||
|
now that the main setting has been rebranded as "Do Not Disturb"
|
||||||
|
and is exposed prominently in the calendar drop-down, following
|
||||||
|
GSettings is a better default.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3291
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1511>
|
||||||
|
---
|
||||||
|
js/ui/messageTray.js | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
|
||||||
|
index 8f8130451..f6bdae8e4 100644
|
||||||
|
--- a/js/ui/messageTray.js
|
||||||
|
+++ b/js/ui/messageTray.js
|
||||||
|
@@ -731,7 +731,7 @@ var Source = class Source {
|
||||||
|
}
|
||||||
|
|
||||||
|
_createPolicy() {
|
||||||
|
- return new NotificationPolicy();
|
||||||
|
+ return new NotificationGenericPolicy();
|
||||||
|
}
|
||||||
|
|
||||||
|
get narrowestPrivacyScope() {
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: gnome-shell
|
Name: gnome-shell
|
||||||
Version: 3.32.2
|
Version: 3.32.2
|
||||||
Release: 36%{?dist}
|
Release: 38%{?dist}
|
||||||
Summary: Window management and application launching for GNOME
|
Summary: Window management and application launching for GNOME
|
||||||
|
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
@ -33,6 +33,7 @@ Patch25: 0001-shellEntry-Determine-if-password-entry-from-content-.patch
|
|||||||
Patch26: 0002-shellEntry-Give-password-menu-item-text-when-it-s-cr.patch
|
Patch26: 0002-shellEntry-Give-password-menu-item-text-when-it-s-cr.patch
|
||||||
Patch27: 0003-shellEntry-Handle-password-item-from-dedication-func.patch
|
Patch27: 0003-shellEntry-Handle-password-item-from-dedication-func.patch
|
||||||
Patch28: 0004-shellEntry-Support-lockdown-of-Show-Text-menu-in-pas.patch
|
Patch28: 0004-shellEntry-Support-lockdown-of-Show-Text-menu-in-pas.patch
|
||||||
|
Patch29: 0005-shellEntry-Only-mask-text-in-password-entries.patch
|
||||||
|
|
||||||
# Misc.
|
# Misc.
|
||||||
Patch30: 0001-shellDBus-Add-a-DBus-method-to-load-a-single-extensi.patch
|
Patch30: 0001-shellDBus-Add-a-DBus-method-to-load-a-single-extensi.patch
|
||||||
@ -59,11 +60,12 @@ Patch50: 0001-st-texture-cache-Cancel-pending-requests-on-icon-the.patch
|
|||||||
Patch51: introspect-backports.patch
|
Patch51: introspect-backports.patch
|
||||||
Patch52: 0001-popupMenu-Handle-keypress-if-numlock-is-enabled.patch
|
Patch52: 0001-popupMenu-Handle-keypress-if-numlock-is-enabled.patch
|
||||||
Patch53: 0001-theme-Update-window-preview-style.patch
|
Patch53: 0001-theme-Update-window-preview-style.patch
|
||||||
|
Patch54: warn-less.patch
|
||||||
|
|
||||||
# Backport JS invalid access warnings (#1651894, #1663171, #1642482, #1637622)
|
# Backport JS invalid access warnings (#1651894, #1663171, #1642482, #1637622)
|
||||||
Patch54: fix-invalid-access-warnings.patch
|
Patch55: fix-invalid-access-warnings.patch
|
||||||
Patch55: more-spurious-allocation-warnings.patch
|
Patch56: more-spurious-allocation-warnings.patch
|
||||||
Patch56: fix-some-js-warnings.patch
|
Patch57: fix-some-js-warnings.patch
|
||||||
|
|
||||||
# Backport performance fixes under load (#1820760)
|
# Backport performance fixes under load (#1820760)
|
||||||
Patch60: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
|
Patch60: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
|
||||||
@ -263,6 +265,14 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
|
|||||||
%{_mandir}/man1/%{name}.1.gz
|
%{_mandir}/man1/%{name}.1.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 29 2021 Florian Müllner <fmuellner@redhat.com> - 3.32.2-38
|
||||||
|
- Only mask text in password entries
|
||||||
|
Resolves: #1987233
|
||||||
|
|
||||||
|
* Wed Jul 28 2021 Florian Müllner <fmuellner@redhat.com> - 3.32.2-37
|
||||||
|
- Only warn once when not running under GDM
|
||||||
|
Resolves: #1980661
|
||||||
|
|
||||||
* Tue Jul 20 2021 Ray Strode <rstrode@redhat.com> - 3.32.2-36
|
* Tue Jul 20 2021 Ray Strode <rstrode@redhat.com> - 3.32.2-36
|
||||||
- Add ability to lock down password showing
|
- Add ability to lock down password showing
|
||||||
Resolves: #1770302
|
Resolves: #1770302
|
||||||
|
Loading…
Reference in New Issue
Block a user