summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Yonan <james@openvpn.net>2011-08-06 20:06:31 +0000
committerDavid Sommerseth <davids@redhat.com>2011-08-24 13:32:00 +0200
commiteca430d5506b31ad6c069115b2974f21995a9610 (patch)
treea4cc1e6095261c12e186946707ff7e469eddfc8f
parenta296f99b8e9a366f189bec6eac2466b76cec3e48 (diff)
downloadopenvpn-eca430d5506b31ad6c069115b2974f21995a9610.tar.gz
openvpn-eca430d5506b31ad6c069115b2974f21995a9610.tar.xz
openvpn-eca430d5506b31ad6c069115b2974f21995a9610.zip
Changed CC_PRINT character class to allow UTF-8 chars.
This allows usernames, common names, etc. to be UTF-8. Version 2.1.9 git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@7518 e7ae566f-a301-0410-adde-c780ea21d3b5
-rw-r--r--buffer.c2
-rw-r--r--manage.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/buffer.c b/buffer.c
index cff2616..ce28cb0 100644
--- a/buffer.c
+++ b/buffer.c
@@ -720,7 +720,7 @@ char_class (const unsigned char c, const unsigned int flags)
return true;
if ((flags & CC_DIGIT) && isdigit (c))
return true;
- if ((flags & CC_PRINT) && isprint (c))
+ if ((flags & CC_PRINT) && (isprint (c) || c >= 0x7f)) /* allow UTF-8 */
return true;
if ((flags & CC_PUNCT) && ispunct (c))
return true;
diff --git a/manage.c b/manage.c
index 7a888e8..c6632cd 100644
--- a/manage.c
+++ b/manage.c
@@ -3173,7 +3173,7 @@ command_line_add (struct command_line *cl, const unsigned char *buf, const int l
int i;
for (i = 0; i < len; ++i)
{
- if (buf[i] && (isprint(buf[i]) || buf[i] == '\n'))
+ if (buf[i] && char_class(buf[i], (CC_PRINT|CC_NEWLINE)))
{
if (!buf_write_u8 (&cl->buf, buf[i]))
buf_clear (&cl->buf);