• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/OpenSSH-189/openssh/

Lines Matching defs:authctxt

60 	Authctxt *authctxt = (Authctxt *)context;
63 if (authctxt->krb5_ctx == NULL) {
64 problem = krb5_init_context(&authctxt->krb5_ctx);
72 auth_krb5_password(Authctxt *authctxt, const char *password)
84 platform_client = platform_krb5_get_principal_name(authctxt->pw->pw_name);
85 client = platform_client ? platform_client : authctxt->pw->pw_name;
87 temporarily_use_uid(authctxt->pw);
89 problem = krb5_init(authctxt);
93 problem = krb5_parse_name(authctxt->krb5_ctx, client,
94 &authctxt->krb5_user);
99 problem = krb5_cc_gen_new(authctxt->krb5_ctx, &krb5_mcc_ops, &ccache);
103 problem = krb5_cc_initialize(authctxt->krb5_ctx, ccache,
104 authctxt->krb5_user);
110 problem = krb5_verify_user(authctxt->krb5_ctx, authctxt->krb5_user,
113 temporarily_use_uid(authctxt->pw);
118 problem = krb5_cc_gen_new(authctxt->krb5_ctx, &krb5_fcc_ops,
119 &authctxt->krb5_fwd_ccache);
123 problem = krb5_cc_copy_cache(authctxt->krb5_ctx, ccache,
124 authctxt->krb5_fwd_ccache);
125 krb5_cc_destroy(authctxt->krb5_ctx, ccache);
131 problem = krb5_get_init_creds_password(authctxt->krb5_ctx, &creds,
132 authctxt->krb5_user, (char *)password, NULL, NULL, 0, NULL, NULL);
136 problem = krb5_sname_to_principal(authctxt->krb5_ctx, NULL, NULL,
142 problem = krb5_verify_init_creds(authctxt->krb5_ctx, &creds, server,
144 krb5_free_principal(authctxt->krb5_ctx, server);
145 temporarily_use_uid(authctxt->pw);
149 if (!krb5_kuserok(authctxt->krb5_ctx, authctxt->krb5_user, client)) {
154 problem = ssh_krb5_cc_gen(authctxt->krb5_ctx, &authctxt->krb5_fwd_ccache);
158 problem = krb5_cc_initialize(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache,
159 authctxt->krb5_user);
163 problem= krb5_cc_store_cred(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache,
169 authctxt->krb5_ticket_file = (char *)krb5_cc_get_name(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache);
171 len = strlen(authctxt->krb5_ticket_file) + 6;
172 authctxt->krb5_ccname = xmalloc(len);
174 snprintf(authctxt->krb5_ccname, len, "API:%s",
175 authctxt->krb5_ticket_file);
177 snprintf(authctxt->krb5_ccname, len, "FILE:%s",
178 authctxt->krb5_ticket_file);
183 do_pam_putenv("KRB5CCNAME", authctxt->krb5_ccname);
194 krb5_cc_destroy(authctxt->krb5_ctx, ccache);
196 if (authctxt->krb5_ctx != NULL && problem!=-1)
198 krb5_get_err_text(authctxt->krb5_ctx, problem));
203 krb5_cleanup_proc(authctxt);
210 return (authctxt->valid ? 1 : 0);
214 krb5_cleanup_proc(Authctxt *authctxt)
217 if (authctxt->krb5_fwd_ccache) {
218 krb5_cc_destroy(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache);
219 authctxt->krb5_fwd_ccache = NULL;
221 if (authctxt->krb5_user) {
222 krb5_free_principal(authctxt->krb5_ctx, authctxt->krb5_user);
223 authctxt->krb5_user = NULL;
225 if (authctxt->krb5_ctx) {
226 krb5_free_context(authctxt->krb5_ctx);
227 authctxt->krb5_ctx = NULL;