projects
/
mech_eap.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f17e3f0
)
Don't expect OID for imported initiator name
author
Luke Howard
<lukeh@padl.com>
Sat, 11 Aug 2012 04:23:05 +0000
(14:23 +1000)
committer
Luke Howard
<lukeh@padl.com>
Sat, 11 Aug 2012 04:23:05 +0000
(14:23 +1000)
mech_eap/import_sec_context.c
patch
|
blob
|
history
diff --git
a/mech_eap/import_sec_context.c
b/mech_eap/import_sec_context.c
index
ed20b23
..
a0ebb8c
100644
(file)
--- a/
mech_eap/import_sec_context.c
+++ b/
mech_eap/import_sec_context.c
@@
-214,7
+214,7
@@
importName(OM_uint32 *minor,
size_t *pRemain,
gss_name_t *pName)
{
size_t *pRemain,
gss_name_t *pName)
{
- OM_uint32 major, tmpMinor;
+ OM_uint32 major, tmpMinor
, flags
;
unsigned char *p = *pBuf;
size_t remain = *pRemain;
gss_buffer_desc tmp;
unsigned char *p = *pBuf;
size_t remain = *pRemain;
gss_buffer_desc tmp;
@@
-233,12
+233,15
@@
importName(OM_uint32 *minor,
tmp.value = p + 4;
tmp.value = p + 4;
- major = gssEapImportNameInternal(minor, &tmp, pName,
- EXPORT_NAME_FLAG_COMPOSITE);
+ flags = EXPORT_NAME_FLAG_COMPOSITE;
+ if (mech == GSS_C_NO_OID)
+ flags |= EXPORT_NAME_FLAG_OID;
+
+ major = gssEapImportNameInternal(minor, &tmp, pName, flags);
if (GSS_ERROR(major))
return major;
if (GSS_ERROR(major))
return major;
- if (
mech != GSS_C_NO_OID
) {
+ if (
(flags & EXPORT_NAME_FLAG_OID) == 0
) {
major = gssEapCanonicalizeOid(minor, mech, 0, &(*pName)->mechanismUsed);
if (GSS_ERROR(major)) {
gssEapReleaseName(&tmpMinor, pName);
major = gssEapCanonicalizeOid(minor, mech, 0, &(*pName)->mechanismUsed);
if (GSS_ERROR(major)) {
gssEapReleaseName(&tmpMinor, pName);