Hi SSSD developers, I like to submit two patches that both fix compilation issues when using Heimdal as kerberos provider.
I know the official position regarding Heimdal support. So when the issues are small, like these two patches, I will try to provide patches to improve Heimdal support. The earlier compilation errors that I reported in issue #1385 where resolved by 0001-Revert-commit-4c157ecedd52602f75574605ef48d0c48e9bfb.patch Should I also open issue ticket(s) for these two patches? Thanks ps Please be lenient, since I am neither a C programmer nor a Git user.
>From 31b674359fdb2ee5ffba55301a87639fa34acb0e Mon Sep 17 00:00:00 2001 From: Rambaldi <gen...@xs4me.net> Date: Sat, 7 Jul 2012 13:36:06 +0200 Subject: [PATCH 1/2] heimdal: fix compile error in krb5-child-test --- src/external/krb5.m4 | 1 + src/tests/krb5_child-test.c | 4 ++++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/external/krb5.m4 b/src/external/krb5.m4 index b87ec5c8ec57f19643f8419405d6a119117d6d16..474cb37cb44cd75fc606ed54833fe0a57b5acc6b 100644 --- a/src/external/krb5.m4 +++ b/src/external/krb5.m4 @@ -58,6 +58,7 @@ AC_CHECK_FUNCS([krb5_get_init_creds_opt_alloc krb5_get_error_message \ krb5_get_time_offsets \ krb5_principal_get_realm \ krb5_cc_cache_match \ + krb5_timestamp_to_sfstring \ krb5_cc_get_full_name]) CFLAGS=$SAVE_CFLAGS LIBS=$SAVE_LIBS diff --git a/src/tests/krb5_child-test.c b/src/tests/krb5_child-test.c index 636f733636f3c7a433472f9a7bc4054e22d0ef97..760b9586164b17fb28c4bacced52730104843a26 100644 --- a/src/tests/krb5_child-test.c +++ b/src/tests/krb5_child-test.c @@ -315,11 +315,15 @@ printtime(krb5_timestamp ts) char timestring[BUFSIZ]; char fill = '\0'; +#ifdef HAVE_KRB5_TIMESTAMP_TO_SFSTRING kret = krb5_timestamp_to_sfstring(ts, timestring, BUFSIZ, &fill); if (kret) { KRB5_CHILD_TEST_DEBUG(SSSDBG_OP_FAILURE, kret); } printf("%s", timestring); +#else + printf("%s", ctime(&ts)); +#endif /* HAVE_KRB5_TIMESTAMP_TO_SFSTRING */ } static void -- 1.7.8.6
>From 4e0ddbf07846c9fd837cf7c73e78a0cc2a21558f Mon Sep 17 00:00:00 2001 From: Rambaldi <gen...@xs4me.net> Date: Sat, 7 Jul 2012 13:37:45 +0200 Subject: [PATCH 2/2] heimdal: use sss_krb5_princ_realm to access realm --- src/providers/krb5/krb5_child.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/providers/krb5/krb5_child.c b/src/providers/krb5/krb5_child.c index 86050d16dedabf6bd6c39235c6e876bca6037262..f647bf79e62f74ef952e53113f7e276388a01faf 100644 --- a/src/providers/krb5/krb5_child.c +++ b/src/providers/krb5/krb5_child.c @@ -839,6 +839,9 @@ static krb5_error_code get_and_save_tgt(struct krb5_req *kr, { krb5_error_code kerr = 0; int ret; + const char *realm_name; + int realm_length; + kerr = sss_krb5_get_init_creds_opt_set_expire_callback(kr->ctx, kr->options, sss_krb5_expire_callback_func, @@ -848,9 +851,10 @@ static krb5_error_code get_and_save_tgt(struct krb5_req *kr, DEBUG(1, ("Failed to set expire callback, continue without.\n")); } + sss_krb5_princ_realm(kr->ctx, kr->princ, &realm_name, &realm_length); + DEBUG(SSSDBG_TRACE_FUNC, - ("Attempting kinit for realm [%s]\n", - kr->princ->realm.data)); + ("Attempting kinit for realm [%s]\n",realm_name)); kerr = krb5_get_init_creds_password(kr->ctx, kr->creds, kr->princ, password, sss_krb5_prompter, kr, 0, NULL, kr->options); @@ -919,6 +923,8 @@ static errno_t changepw_child(int fd, struct krb5_req *kr) uint8_t *user_resp; char *changepw_princ = NULL; krb5_prompter_fct prompter = sss_krb5_prompter; + const char *realm_name; + int realm_length; DEBUG(SSSDBG_TRACE_LIBS, ("Password change operation\n")); @@ -951,9 +957,10 @@ static errno_t changepw_child(int fd, struct krb5_req *kr) prompter = NULL; } + sss_krb5_princ_realm(kr->ctx, kr->princ, &realm_name, &realm_length); + DEBUG(SSSDBG_TRACE_FUNC, - ("Attempting kinit for realm [%s]\n", - kr->princ->realm.data)); + ("Attempting kinit for realm [%s]\n",realm_name)); kerr = krb5_get_init_creds_password(kr->ctx, kr->creds, kr->princ, pass_str, prompter, kr, 0, changepw_princ, -- 1.7.8.6
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/sssd-devel