aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2005-12-14 19:21:10 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2005-12-14 19:21:10 +0000
commit5bb2b611b4e2f40abc4c15bc324892c88b39f55e (patch)
treea54aeee493858254f89af5ab3f2500d967218fee
parentd227c2342a0daf8d5d42bb71a784731288a696ff (diff)
downloadkrb5-5bb2b611b4e2f40abc4c15bc324892c88b39f55e.zip
krb5-5bb2b611b4e2f40abc4c15bc324892c88b39f55e.tar.gz
krb5-5bb2b611b4e2f40abc4c15bc324892c88b39f55e.tar.bz2
KFW - Correct identity validation algorithm
Do not restrict the characters permitted in identity names ticket: new target_version: 1.4.4 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17557 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/windows/identity/include/khmsgtypes.h2
-rw-r--r--src/windows/identity/kcreddb/identity.c5
-rw-r--r--src/windows/identity/kcreddb/kcreddb.h3
3 files changed, 2 insertions, 8 deletions
diff --git a/src/windows/identity/include/khmsgtypes.h b/src/windows/identity/include/khmsgtypes.h
index 9b63455..c2237ca 100644
--- a/src/windows/identity/include/khmsgtypes.h
+++ b/src/windows/identity/include/khmsgtypes.h
@@ -552,7 +552,7 @@
name to be validated will be in the \a name_src member. The
buffer will be NULL terminated with a maximum limit of
KCDB_IDENT_MAXCCH_NAME characters including the terminating
- NULL, consisting only of characters in KCDB_IDENT_VALID_CHARS
+ NULL.
The \a result member should be set to one of the following
depending on the result of the validation:
diff --git a/src/windows/identity/kcreddb/identity.c b/src/windows/identity/kcreddb/identity.c
index 896f723..e96c996 100644
--- a/src/windows/identity/kcreddb/identity.c
+++ b/src/windows/identity/kcreddb/identity.c
@@ -1146,8 +1146,6 @@ kcdb_identpro_validate_name(const wchar_t * name)
before calling the identity provider */
if(FAILED(StringCchLength(name, KCDB_IDENT_MAXCCH_NAME, &cch)))
return KHM_ERROR_TOO_LONG;
- if(wcsspn(name, KCDB_IDENT_VALID_CHARS) != cch)
- return KHM_ERROR_INVALID_NAME;
EnterCriticalSection(&cs_ident);
if(kcdb_ident_sub != NULL) {
@@ -1218,8 +1216,7 @@ kcdb_identpro_canon_name(
khm_size cch;
if(cb_name_out == 0 ||
- FAILED(StringCchLength(name_in, KCDB_IDENT_MAXCCH_NAME, &cch)) ||
- wcsspn(name_in, KCDB_IDENT_VALID_CHARS) != cch)
+ FAILED(StringCchLength(name_in, KCDB_IDENT_MAXCCH_NAME, &cch)))
return KHM_ERROR_INVALID_NAME;
EnterCriticalSection(&cs_ident);
diff --git a/src/windows/identity/kcreddb/kcreddb.h b/src/windows/identity/kcreddb/kcreddb.h
index e1bbfb0..52ca980 100644
--- a/src/windows/identity/kcreddb/kcreddb.h
+++ b/src/windows/identity/kcreddb/kcreddb.h
@@ -99,9 +99,6 @@ Functions, macros etc. for manipulating identities.
name */
#define KCDB_IDENT_MAXCB_NAME (sizeof(wchar_t) * KCDB_IDENT_MAXCCH_NAME)
-/*! \brief Valid characters in an identity name */
-#define KCDB_IDENT_VALID_CHARS L"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._@-/"
-
/*!
\name Flags for identities */
/*@{*/