Lines Matching refs:ctx

170 smb_krb5_ctx_init(krb5_context *ctx)
172 if (krb5_init_context(ctx) != 0)
182 smb_krb5_ctx_fini(krb5_context ctx)
184 krb5_free_context(ctx);
195 smb_krb5_get_kprincs(krb5_context ctx, char **names, size_t num,
205 if (krb5_parse_name(ctx, names[i], &(*krb5princs)[i]) != 0) {
206 smb_krb5_free_kprincs(ctx, *krb5princs, i);
215 smb_krb5_free_kprincs(krb5_context ctx, krb5_principal *krb5princs,
221 krb5_free_principal(ctx, krb5princs[i]);
231 smb_krb5_setpwd(krb5_context ctx, const char *fqdn, char *passwd)
240 if (smb_krb5_get_kprinc(ctx, SMB_KRB5_PN_ID_HOST_FQHN,
247 if ((code = krb5_cc_default(ctx, &cc)) != 0) {
250 smb_krb5_log_errmsg(ctx, msg, code);
251 krb5_free_principal(ctx, princ);
255 code = krb5_set_password_using_ccache(ctx, cc, passwd, princ,
258 (void) krb5_cc_close(ctx, cc);
261 smb_krb5_log_errmsg(ctx, "smbns_ksetpwd: KPASSWD protocol "
273 krb5_free_principal(ctx, princ);
284 smb_krb5_kt_open(krb5_context ctx, char *fname, krb5_keytab *kt)
301 if ((code = krb5_kt_resolve(ctx, ktname, kt)) != 0) {
303 smb_krb5_log_errmsg(ctx, msg, code);
318 smb_krb5_kt_populate(krb5_context ctx, const char *fqdn,
328 if (smb_krb5_kt_open(ctx, fname, &kt) != 0)
331 if (smb_krb5_get_kprinc(ctx, SMB_KRB5_PN_ID_SALT, SMB_PN_SALT,
333 (void) krb5_kt_close(ctx, kt);
337 code = krb5_principal2salt(ctx, salt_princ, &salt);
339 smb_krb5_log_errmsg(ctx, "smbns_ksetpwd: salt computation "
341 krb5_free_principal(ctx, salt_princ);
342 (void) krb5_kt_close(ctx, kt);
348 if (smb_krb5_kt_addkey(ctx, kt, princs[j], enctypes[i],
350 krb5_free_principal(ctx, salt_princ);
352 (void) krb5_kt_close(ctx, kt);
358 krb5_free_principal(ctx, salt_princ);
360 (void) krb5_kt_close(ctx, kt);
367 krb5_context ctx;
377 if (smb_krb5_ctx_init(&ctx) != 0)
380 if (smb_krb5_get_kprinc(ctx, id, SMB_PN_KEYTAB_ENTRY, fqdn,
382 smb_krb5_ctx_fini(ctx);
387 if (krb5_kt_resolve(ctx, ktname, &kt) == 0) {
388 if (krb5_kt_get_entry(ctx, kt, princ, 0, 0, &entry) == 0) {
390 (void) krb5_kt_free_entry(ctx, &entry);
393 (void) krb5_kt_close(ctx, kt);
396 krb5_free_principal(ctx, princ);
397 smb_krb5_ctx_fini(ctx);
407 smb_krb5_kt_addkey(krb5_context ctx, krb5_keytab kt, const krb5_principal princ,
421 smb_krb5_log_errmsg(ctx, msg, code);
436 code = krb5_c_string_to_key(ctx, enctype, &password, salt, &key);
440 smb_krb5_log_errmsg(ctx, msg, code);
449 if ((code = krb5_kt_add_entry(ctx, kt, entry)) != 0) {
452 smb_krb5_log_errmsg(ctx, msg, code);
458 krb5_free_keyblock_contents(ctx, &key);
481 smb_krb5_get_kprinc(krb5_context ctx, smb_krb5_pn_id_t id, uint32_t type,
489 if (krb5_parse_name(ctx, buf, princ) != 0) {