From: pastith Date: Mon, 11 May 2009 14:21:53 +0000 (+0000) Subject: Treat the Shibboleth SP attributes as UTF-8 strings, in an effort to fix encoding... X-Git-Url: https://code.grnet.gr/git/pithos/commitdiff_plain/541e6699a25422cbf559e7349c42fa36460c79b5?ds=sidebyside Treat the Shibboleth SP attributes as UTF-8 strings, in an effort to fix encoding issues for IdPs that send data in non-latin character sets. --- diff --git a/gss/src/gr/ebs/gss/server/Login.java b/gss/src/gr/ebs/gss/server/Login.java index 06b64c4..c8031b2 100644 --- a/gss/src/gr/ebs/gss/server/Login.java +++ b/gss/src/gr/ebs/gss/server/Login.java @@ -140,24 +140,24 @@ public class Login extends HttpServlet { response.sendRedirect(authErrorUrl); return; } - String username = usernameAttr.toString(); + String username = new String(usernameAttr.toString().getBytes("UTF-8"), "UTF-8"); String name; if (nameAttr != null && !nameAttr.toString().isEmpty()) - name = nameAttr.toString(); + name = new String(nameAttr.toString().getBytes("UTF-8"), "UTF-8"); else if (cnAttr != null && !cnAttr.toString().isEmpty()) { - name = cnAttr.toString(); + name = new String(cnAttr.toString().getBytes("UTF-8"), "UTF-8"); if (name.indexOf(';') != -1) name = name.substring(0, name.indexOf(';')); } else if (givennameAttr != null && snAttr != null && !givennameAttr.toString().isEmpty() && !snAttr.toString().isEmpty()) { - String givenname = givennameAttr.toString(); + String givenname = new String(givennameAttr.toString().getBytes("UTF-8"), "UTF-8"); if (givenname.indexOf(';') != -1) givenname = givenname.substring(0, givenname.indexOf(';')); - String sn = snAttr.toString(); + String sn = new String(snAttr.toString().getBytes("UTF-8"), "UTF-8"); if (sn.indexOf(';') != -1) sn = sn.substring(0, sn.indexOf(';')); name = givenname + ' ' + sn; } else if (givennameAttr == null && snAttr != null && !snAttr.toString().isEmpty()) { - name = snAttr.toString(); + name = new String(snAttr.toString().getBytes("UTF-8"), "UTF-8"); if (name.indexOf(';') != -1) name = name.substring(0, name.indexOf(';')); } else