+int get_mr_krb5_tgt(krb5_context context, krb5_ccache ccache)
+{
+ krb5_creds my_creds;
+ krb5_principal me = NULL;
+ krb5_error_code code;
+
+ memset(&my_creds, 0, sizeof(my_creds));
+
+ code = krb5_parse_name(context, master, &me);
+ if (code)
+ goto out;
+
+ code = krb5_get_init_creds_keytab(context, &my_creds, me, NULL, NULL, NULL, NULL);
+ if (code)
+ goto out;
+
+ code = krb5_cc_initialize(context, ccache, me);
+ if (code)
+ goto out;
+
+ code = krb5_cc_store_cred(context, ccache, &my_creds);
+ if (code)
+ goto out;
+
+ out:
+ if (me)
+ krb5_free_principal(context, me);
+ krb5_free_cred_contents(context, &my_creds);
+
+ return code;
+}
+