[krbdev.mit.edu #8203] Name handling does not conform to RFC2744 
    Simo Sorce via RT 
    rt-comment at krbdev.mit.edu
       
    Fri Jun 19 16:19:27 EDT 2015
    
    
  
In RFC2744 3.10 it says:
     "A single gss_name_t object may contain
      multiple names from different namespaces, but all names should
      refer to the same entity.  An example of such an internal name
      would be the name returned from a call to the gss_inquire_cred
      routine, when applied to a credential containing credential
      elements for multiple authentication mechanisms employing
      different namespaces."
I found myself in exactly this situation (using gss_inquire_cred) and currently
libgssapi fails to handle the request appropriately.
In my code I am using gss_acquire_cred() with usage GSS_C_ACCEPT in order to
get a "server" name to be used. In my configuration I have 2 mechanism that have
valid server credentials, however only the first mechanism name is returned when
I call gss_inquire_cred().
Later on I use this "server" name as input for gss_init_sec_context() which is
used in a loop with gss_accept_sec_context() in order to validate user credentials
obtained via gss_acquire_cred_with_password()
If the credentials being tested are valid only for the second mechanism (using SPNEGO
to negotiate a valid mechanism for example) then the second mechanism fail to work, as
the name used is valid only for the first mechanism.
A gss_union_name_t will need to be introduced to fix this problem.
Simo.
-- 
Simo Sorce * Red Hat, Inc * New York
    
    
More information about the krb5-bugs
mailing list