gensec_krb5_state 64 source4/auth/gensec/gensec_krb5.c if (!gensec_krb5_state->smb_krb5_context) { gensec_krb5_state 68 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->enc_ticket.length) { gensec_krb5_state 69 source4/auth/gensec/gensec_krb5.c kerberos_free_data_contents(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 70 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->enc_ticket); gensec_krb5_state 73 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->ticket) { gensec_krb5_state 74 source4/auth/gensec/gensec_krb5.c krb5_free_ticket(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 75 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->ticket); gensec_krb5_state 80 source4/auth/gensec/gensec_krb5.c krb5_free_keyblock(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 81 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->keyblock); gensec_krb5_state 83 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->auth_context) { gensec_krb5_state 84 source4/auth/gensec/gensec_krb5.c krb5_auth_con_free(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 85 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->auth_context); gensec_krb5_state 94 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state; gensec_krb5_state 104 source4/auth/gensec/gensec_krb5.c gensec_krb5_state = talloc(gensec_security, struct gensec_krb5_state); gensec_krb5_state 105 source4/auth/gensec/gensec_krb5.c if (!gensec_krb5_state) { gensec_krb5_state 109 source4/auth/gensec/gensec_krb5.c gensec_security->private_data = gensec_krb5_state; gensec_krb5_state 110 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->smb_krb5_context = NULL; gensec_krb5_state 111 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->auth_context = NULL; gensec_krb5_state 112 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->ticket = NULL; gensec_krb5_state 113 source4/auth/gensec/gensec_krb5.c ZERO_STRUCT(gensec_krb5_state->enc_ticket); gensec_krb5_state 114 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->keyblock = NULL; gensec_krb5_state 115 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->session_key = data_blob(NULL, 0); gensec_krb5_state 116 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->pac = data_blob(NULL, 0); gensec_krb5_state 117 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->gssapi = false; gensec_krb5_state 119 source4/auth/gensec/gensec_krb5.c talloc_set_destructor(gensec_krb5_state, gensec_krb5_destroy); gensec_krb5_state 123 source4/auth/gensec/gensec_krb5.c gensec_security->settings->lp_ctx, &gensec_krb5_state->smb_krb5_context)) { gensec_krb5_state 124 source4/auth/gensec/gensec_krb5.c talloc_free(gensec_krb5_state); gensec_krb5_state 128 source4/auth/gensec/gensec_krb5.c ret = krb5_auth_con_init(gensec_krb5_state->smb_krb5_context->krb5_context, &gensec_krb5_state->auth_context); gensec_krb5_state 131 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 132 source4/auth/gensec/gensec_krb5.c ret, gensec_krb5_state))); gensec_krb5_state 133 source4/auth/gensec/gensec_krb5.c talloc_free(gensec_krb5_state); gensec_krb5_state 137 source4/auth/gensec/gensec_krb5.c ret = krb5_auth_con_setflags(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 138 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->auth_context, gensec_krb5_state 142 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 143 source4/auth/gensec/gensec_krb5.c ret, gensec_krb5_state))); gensec_krb5_state 144 source4/auth/gensec/gensec_krb5.c talloc_free(gensec_krb5_state); gensec_krb5_state 150 source4/auth/gensec/gensec_krb5.c ret = krb5_sockaddr2address(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 154 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 155 source4/auth/gensec/gensec_krb5.c ret, gensec_krb5_state))); gensec_krb5_state 156 source4/auth/gensec/gensec_krb5.c talloc_free(gensec_krb5_state); gensec_krb5_state 163 source4/auth/gensec/gensec_krb5.c ret = krb5_sockaddr2address(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 167 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 168 source4/auth/gensec/gensec_krb5.c ret, gensec_krb5_state))); gensec_krb5_state 169 source4/auth/gensec/gensec_krb5.c talloc_free(gensec_krb5_state); gensec_krb5_state 174 source4/auth/gensec/gensec_krb5.c ret = krb5_auth_con_setaddrs(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 175 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->auth_context, gensec_krb5_state 180 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 181 source4/auth/gensec/gensec_krb5.c ret, gensec_krb5_state))); gensec_krb5_state 182 source4/auth/gensec/gensec_krb5.c talloc_free(gensec_krb5_state); gensec_krb5_state 192 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state; gensec_krb5_state 199 source4/auth/gensec/gensec_krb5.c gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 200 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->state_position = GENSEC_KRB5_SERVER_START; gensec_krb5_state 210 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state; gensec_krb5_state 211 source4/auth/gensec/gensec_krb5.c gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 212 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->gssapi = true; gensec_krb5_state 219 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state; gensec_krb5_state 248 source4/auth/gensec/gensec_krb5.c gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 249 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->state_position = GENSEC_KRB5_CLIENT_START; gensec_krb5_state 272 source4/auth/gensec/gensec_krb5.c ret = krb5_parse_name(gensec_krb5_state->smb_krb5_context->krb5_context, principal, gensec_krb5_state 275 source4/auth/gensec/gensec_krb5.c ret = krb5_mk_req_exact(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 276 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->auth_context, gensec_krb5_state 280 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->enc_ticket); gensec_krb5_state 281 source4/auth/gensec/gensec_krb5.c krb5_free_principal(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 285 source4/auth/gensec/gensec_krb5.c ret = krb5_mk_req(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 286 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->auth_context, gensec_krb5_state 291 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->enc_ticket); gensec_krb5_state 298 source4/auth/gensec/gensec_krb5.c hostname, smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, ret, gensec_krb5_state))); gensec_krb5_state 302 source4/auth/gensec/gensec_krb5.c hostname, smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, ret, gensec_krb5_state))); gensec_krb5_state 312 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, ret, gensec_krb5_state))); gensec_krb5_state 326 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, ret, gensec_krb5_state))); gensec_krb5_state 336 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state; gensec_krb5_state 337 source4/auth/gensec/gensec_krb5.c gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 338 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->gssapi = true; gensec_krb5_state 378 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 382 source4/auth/gensec/gensec_krb5.c switch (gensec_krb5_state->state_position) { gensec_krb5_state 387 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->gssapi) { gensec_krb5_state 388 source4/auth/gensec/gensec_krb5.c unwrapped_out = data_blob_talloc(out_mem_ctx, gensec_krb5_state->enc_ticket.data, gensec_krb5_state->enc_ticket.length); gensec_krb5_state 393 source4/auth/gensec/gensec_krb5.c *out = data_blob_talloc(out_mem_ctx, gensec_krb5_state->enc_ticket.data, gensec_krb5_state->enc_ticket.length); gensec_krb5_state 395 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->state_position = GENSEC_KRB5_CLIENT_MUTUAL_AUTH; gensec_krb5_state 407 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->gssapi) { gensec_krb5_state 420 source4/auth/gensec/gensec_krb5.c ret = krb5_rd_rep(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 421 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->auth_context, gensec_krb5_state 425 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, ret, out_mem_ctx))); gensec_krb5_state 431 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->state_position = GENSEC_KRB5_DONE; gensec_krb5_state 434 source4/auth/gensec/gensec_krb5.c krb5_free_ap_rep_enc_part(gensec_krb5_state->smb_krb5_context->krb5_context, repl); gensec_krb5_state 462 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->smb_krb5_context, gensec_krb5_state 470 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->gssapi gensec_krb5_state 479 source4/auth/gensec/gensec_krb5.c ret = smb_rd_req_return_stuff(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 480 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->auth_context, gensec_krb5_state 483 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->ticket, gensec_krb5_state 484 source4/auth/gensec/gensec_krb5.c &gensec_krb5_state->keyblock); gensec_krb5_state 491 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->state_position = GENSEC_KRB5_DONE; gensec_krb5_state 493 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->gssapi) { gensec_krb5_state 512 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 513 source4/auth/gensec/gensec_krb5.c krb5_context context = gensec_krb5_state->smb_krb5_context->krb5_context; gensec_krb5_state 514 source4/auth/gensec/gensec_krb5.c krb5_auth_context auth_context = gensec_krb5_state->auth_context; gensec_krb5_state 518 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->state_position != GENSEC_KRB5_DONE) { gensec_krb5_state 522 source4/auth/gensec/gensec_krb5.c if (gensec_krb5_state->session_key.data) { gensec_krb5_state 523 source4/auth/gensec/gensec_krb5.c *session_key = gensec_krb5_state->session_key; gensec_krb5_state 538 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->session_key = data_blob_talloc(gensec_krb5_state, gensec_krb5_state 540 source4/auth/gensec/gensec_krb5.c *session_key = gensec_krb5_state->session_key; gensec_krb5_state 555 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 556 source4/auth/gensec/gensec_krb5.c krb5_context context = gensec_krb5_state->smb_krb5_context->krb5_context; gensec_krb5_state 574 source4/auth/gensec/gensec_krb5.c ret = krb5_ticket_get_client(context, gensec_krb5_state->ticket, &client_principal); gensec_krb5_state 583 source4/auth/gensec/gensec_krb5.c ret = krb5_unparse_name(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 593 source4/auth/gensec/gensec_krb5.c ret = krb5_ticket_get_authorization_data_type(context, gensec_krb5_state->ticket, gensec_krb5_state 647 source4/auth/gensec/gensec_krb5.c nt_status = kerberos_pac_logon_info(gensec_krb5_state, gensec_krb5_state 650 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 651 source4/auth/gensec/gensec_krb5.c NULL, gensec_krb5_state->keyblock, gensec_krb5_state 653 source4/auth/gensec/gensec_krb5.c gensec_krb5_state->ticket->ticket.authtime, NULL); gensec_krb5_state 689 source4/auth/gensec/gensec_krb5.c talloc_steal(gensec_krb5_state, session_info); gensec_krb5_state 699 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 700 source4/auth/gensec/gensec_krb5.c krb5_context context = gensec_krb5_state->smb_krb5_context->krb5_context; gensec_krb5_state 701 source4/auth/gensec/gensec_krb5.c krb5_auth_context auth_context = gensec_krb5_state->auth_context; gensec_krb5_state 711 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 729 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 730 source4/auth/gensec/gensec_krb5.c krb5_context context = gensec_krb5_state->smb_krb5_context->krb5_context; gensec_krb5_state 731 source4/auth/gensec/gensec_krb5.c krb5_auth_context auth_context = gensec_krb5_state->auth_context; gensec_krb5_state 742 source4/auth/gensec/gensec_krb5.c smb_get_krb5_error_message(gensec_krb5_state->smb_krb5_context->krb5_context, gensec_krb5_state 758 source4/auth/gensec/gensec_krb5.c struct gensec_krb5_state *gensec_krb5_state = (struct gensec_krb5_state *)gensec_security->private_data; gensec_krb5_state 762 source4/auth/gensec/gensec_krb5.c if (!gensec_krb5_state->gssapi &&