not the RADIUS server).
% gss-client -port 5555 -spnego -mech "{1 3 6 1 4 1 5322 22 1 18}" \
- -user <user> -pass <pass> <host> host@<host> "Testing GSS EAP"
+ -user <user>@<realm> -pass <pass> <host> host@<host> \
+ "Testing GSS EAP"
% gss-server -port 5555 -export host@<host>
Note: for SASL you will be prompted for a username and password.
} else {
gss_buffer_desc nameBuf = GSS_C_EMPTY_BUFFER;
gss_OID nameType = GSS_C_NO_OID;
+ char loginName[256];
if (cred->flags & CRED_FLAG_ACCEPT) {
char serviceName[5 + MAXHOSTNAMELEN] = "host@";
nameType = GSS_C_NT_HOSTBASED_SERVICE;
} else if (cred->flags & CRED_FLAG_INITIATE) {
- nameBuf.value = getlogin(); /* XXX */
- nameBuf.length = strlen((char *)nameBuf.value);
+ /* XXX FIXME temporary implementation */
+ snprintf(loginName, sizeof(loginName), "%s@", getlogin());
+ nameBuf.value = loginName;
+ nameBuf.length = strlen(loginName);
nameType = GSS_C_NT_USER_NAME;
}
if (GSS_ERROR(major))
return major;
- *minor = krb5_parse_name(krbContext, nameString, &krbPrinc);
+ *minor = krb5_parse_name_flags(krbContext, nameString,
+ KRB5_PRINCIPAL_PARSE_REQUIRE_REALM,
+ &krbPrinc);
if (*minor != 0) {
GSSEAP_FREE(nameString);
return GSS_S_FAILURE;