[Kimchi-devel] [PATCH 3/3] Bug fix: Access guest console when guest name has non-ASCII characters
Aline Manera
alinefm at linux.vnet.ibm.com
Thu Sep 3 12:52:56 UTC 2015
atob() and btoa() do not work well with non-ASCII characters which turns into
a wrong base64 result.
For example, "café" would be "Y2Fmw6k" but btod() turns it into "Y2Fm6Q"
This was preventing Kimchi to launch the guest console when guest name had
non-ASCII characaters.
Jquery Base64 has UTF-8 support so it can properly encode/decode strings with
non-ASCII characters.
Signed-off-by: Aline Manera <alinefm at linux.vnet.ibm.com>
---
ui/js/src/kimchi.utils.js | 6 +++---
ui/pages/kimchi-ui.html.tmpl | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/ui/js/src/kimchi.utils.js b/ui/js/src/kimchi.utils.js
index f26a560..2fc7dfa 100644
--- a/ui/js/src/kimchi.utils.js
+++ b/ui/js/src/kimchi.utils.js
@@ -1,7 +1,7 @@
/*
* Project Kimchi
*
- * Copyright IBM, Corp. 2013-2014
+ * Copyright IBM, Corp. 2013-2015
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -185,9 +185,9 @@ kimchi.escapeStr = function(str) {
};
kimchi.urlSafeB64Decode = function(str) {
- return atob(str.replace(/-/g, '+').replace(/_/g, '/'));
+ return $.base64.atob(str.replace(/-/g, '+').replace(/_/g, '/'), true);
}
kimchi.urlSafeB64Encode = function(str) {
- return btoa(str).replace(/\+/g, '-').replace(/\//g, '_');
+ return $.base64.btoa(str, true).replace(/\+/g, '-').replace(/\//g, '_');
}
diff --git a/ui/pages/kimchi-ui.html.tmpl b/ui/pages/kimchi-ui.html.tmpl
index 8da8acc..548f5c8 100644
--- a/ui/pages/kimchi-ui.html.tmpl
+++ b/ui/pages/kimchi-ui.html.tmpl
@@ -36,6 +36,7 @@
<script src="$href('libs/jquery-1.10.0.min.js')"></script>
<script src="$href('libs/jquery-ui.min.js')"></script>
<script src="$href('libs/jquery-ui-i18n.min.js')"></script>
+<script src="$href('base64/jquery.base64.js')"></script>
<script src="$href('js/kimchi.min.js')"></script>
<!-- This is used for detecting if the UI needs to be built -->
--
2.1.0
More information about the Kimchi-devel
mailing list