--- xrdp-v0.6.1/sesman/verify_user_kerberos.c~ 2013-11-09 21:11:15.000000000 +0100 +++ xrdp-v0.6.1/sesman/verify_user_kerberos.c 2013-12-07 19:01:56.670626777 +0100 @@ -187,11 +187,15 @@ u_info = (struct user_info*)data; rc = 0; +#ifndef HEIMDAL types = krb5_get_prompt_types(ctx); +#endif for (i = 0; i < num_prompts; i++) { +#ifndef HEIMDAL if (types[i] == KRB5_PROMPT_TYPE_PASSWORD || types[i] == KRB5_PROMPT_TYPE_NEW_PASSWORD_AGAIN) +#endif { g_strncpy(prompts[i].reply->data, u_info->pass, 255); } @@ -214,7 +214,11 @@ krb5_creds my_creds; krb5_error_code code = 0; krb5_get_init_creds_opt options; +#ifdef HEIMDAL + krb5_addresses* addresses; +#else krb5_address** addresses; +#endif krb5_get_init_creds_opt_init(&options); g_memset(&my_creds, 0, sizeof(my_creds)); @@ -245,7 +249,11 @@ if (opts->addresses) { addresses = NULL; +#ifdef HEIMDAL + code = krb5_get_all_client_addrs(k5->ctx, addresses); +#else code = krb5_os_localaddr(k5->ctx, &addresses); +#endif if (code != 0) { g_printf("krb5_os_localaddr failed in k5_kinit\n");