X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=mod_auth_gssapi.c;fp=mod_auth_gssapi.c;h=d533594b20ab962d0deb9fc235bd3634004055fe;hb=51a483b1adabe74a3d469bd157feb7168d5350f1;hp=02ea261eb7789c5ab1b6ba2b734fbe4fa9fe1a8e;hpb=4e67528fd1666614e34c6cddacf9d93a12370e33;p=mod_auth_kerb.cvs%2F.git diff --git a/mod_auth_gssapi.c b/mod_auth_gssapi.c index 02ea261..d533594 100644 --- a/mod_auth_gssapi.c +++ b/mod_auth_gssapi.c @@ -212,11 +212,13 @@ gss_authenticate(request_rec *r, gss_auth_config *conf, gss_conn_ctx ctx, } major_status = gss_display_name(&minor_status, client_name, &output_token, NULL); - ctx->user = apr_pstrdup(r->pool, output_token.value); + ctx->user = apr_pstrndup(r->pool, output_token.value, output_token.length); + + if (conf->name_attributes) { + mag_get_name_attributes(r, conf, client_name, ctx); + mag_set_req_data(r, conf, ctx); + } - /* TODO: Make it a single call! */ - mag_get_name_attributes(r, conf, client_name, ctx); - mag_set_req_data(r, conf, ctx); gss_release_name(&minor_status, &client_name); if (GSS_ERROR(major_status)) { @@ -248,6 +250,13 @@ end: return ret; } +static int mag_post_config(apr_pool_t *cfgpool, apr_pool_t *log, + apr_pool_t *temp, server_rec *s) +{ + ap_add_version_component(cfgpool, "Moonshot mod_auth_gssapi"); + return OK; +} + static int gss_authenticate_user(request_rec *r) { @@ -335,6 +344,7 @@ static void gss_register_hooks(apr_pool_t *p) { ap_hook_check_user_id(gss_authenticate_user, NULL, NULL, APR_HOOK_MIDDLE); + ap_hook_post_config(mag_post_config, NULL, NULL, APR_HOOK_MIDDLE); } module AP_MODULE_DECLARE_DATA auth_gssapi_module = {