Lines Matching refs:be

60 	krb5ssp_backend_t *be;  in smbd_krb5ssp_init()  local
62 be = malloc(sizeof (*be)); in smbd_krb5ssp_init()
63 if (be == 0) in smbd_krb5ssp_init()
65 bzero(be, sizeof (*be)); in smbd_krb5ssp_init()
66 be->be_gssctx = GSS_C_NO_CONTEXT; in smbd_krb5ssp_init()
67 ctx->ctx_backend = be; in smbd_krb5ssp_init()
78 krb5ssp_backend_t *be = ctx->ctx_backend; in smbd_krb5ssp_fini() local
81 if (be == NULL) in smbd_krb5ssp_fini()
84 if (be->be_kctx != NULL) { in smbd_krb5ssp_fini()
85 krb5_free_data_contents(be->be_kctx, &be->be_pac); in smbd_krb5ssp_fini()
87 if (be->be_kpac != NULL) in smbd_krb5ssp_fini()
88 krb5_pac_free(be->be_kctx, be->be_kpac); in smbd_krb5ssp_fini()
90 krb5_free_context(be->be_kctx); in smbd_krb5ssp_fini()
93 (void) gss_release_buffer(NULL, &be->be_authz_pac); in smbd_krb5ssp_fini()
95 free(be->be_username); in smbd_krb5ssp_fini()
97 if (be->be_gssctx != GSS_C_NO_CONTEXT) { in smbd_krb5ssp_fini()
98 (void) gss_delete_sec_context(&minor, &be->be_gssctx, in smbd_krb5ssp_fini()
102 free(be); in smbd_krb5ssp_fini()
115 krb5ssp_backend_t *be = ctx->ctx_backend; in smbd_krb5ssp_work() local
129 kerr = krb5_init_context(&be->be_kctx); in smbd_krb5ssp_work()
132 krb5_get_error_message(be->be_kctx, kerr)); in smbd_krb5ssp_work()
136 major = gss_accept_sec_context(&minor, &be->be_gssctx, in smbd_krb5ssp_work()
160 krb5_get_error_message(be->be_kctx, minor)); in smbd_krb5ssp_work()
187 be->be_username = strdup(namebuf.value); in smbd_krb5ssp_work()
190 if (be->be_username == NULL) { in smbd_krb5ssp_work()
198 status = get_authz_data_pac(be->be_gssctx, in smbd_krb5ssp_work()
199 &be->be_authz_pac); in smbd_krb5ssp_work()
203 kerr = krb5_pac_parse(be->be_kctx, be->be_authz_pac.value, in smbd_krb5ssp_work()
204 be->be_authz_pac.length, &be->be_kpac); in smbd_krb5ssp_work()
207 krb5_get_error_message(be->be_kctx, kerr)); in smbd_krb5ssp_work()
211 kerr = krb5_pac_get_buffer(be->be_kctx, be->be_kpac, in smbd_krb5ssp_work()
212 PAC_LOGON_INFO, &be->be_pac); in smbd_krb5ssp_work()
215 krb5_get_error_message(be->be_kctx, kerr)); in smbd_krb5ssp_work()
223 status = smb_decode_krb5_pac(ctx->ctx_token, be->be_pac.data, in smbd_krb5ssp_work()
224 be->be_pac.length); in smbd_krb5ssp_work()
307 krb5ssp_backend_t *be = ctx->ctx_backend; in get_ssnkey() local
314 be->be_gssctx, GSS_C_INQ_SSPI_SESSION_KEY, &data_set); in get_ssnkey()