X-Git-Url: http://www.project-moonshot.org/gitweb/?p=openssh.git;a=blobdiff_plain;f=gss-serv.c;fp=gss-serv.c;h=bb7743de3eb6d62b595e76fd8378ed326166d73a;hp=3440a891d4eb462e7e23a7a275f9549411c16e8b;hb=991c385d7c6b1c8592b4057bf2e0708ddf9854e9;hpb=7936349b9e64ae69416d60e12997aafe997c455e diff --git a/gss-serv.c b/gss-serv.c index 3440a89..bb7743d 100644 --- a/gss-serv.c +++ b/gss-serv.c @@ -353,4 +353,25 @@ ssh_gssapi_userok(char *user, struct passwd *pw) return (userok); } -#endif +/* Priviledged */ +OM_uint32 +ssh_gssapi_localname(char **user) +{ + OM_uint32 major_status, lmin; + uid_t uid; + struct passwd *pw; + + major_status = gss_pname_to_uid(&lmin, gssapi_client.name, + GSS_C_NO_OID, &uid); + if (GSS_ERROR(major_status)) + return (major_status); + + pw = getpwuid(uid); + if (pw == NULL) + return (GSS_S_BAD_NAME); + + *user = xstrdup(pw->pw_name); + + return (GSS_S_COMPLETE); +} +#endif /* GSSAPI */