dce_conn 50 source4/ntvfs/ipc/vfs_ipc.c struct dcesrv_connection *dce_conn; dce_conn 182 source4/ntvfs/ipc/vfs_ipc.c static struct socket_address *ipc_get_my_addr(struct dcesrv_connection *dce_conn, TALLOC_CTX *mem_ctx) dce_conn 184 source4/ntvfs/ipc/vfs_ipc.c struct ipc_private *ipriv = dce_conn->transport.private_data; dce_conn 189 source4/ntvfs/ipc/vfs_ipc.c static struct socket_address *ipc_get_peer_addr(struct dcesrv_connection *dce_conn, TALLOC_CTX *mem_ctx) dce_conn 191 source4/ntvfs/ipc/vfs_ipc.c struct ipc_private *ipriv = dce_conn->transport.private_data; dce_conn 246 source4/ntvfs/ipc/vfs_ipc.c &p->dce_conn); dce_conn 249 source4/ntvfs/ipc/vfs_ipc.c p->dce_conn->transport.private_data = ipriv; dce_conn 250 source4/ntvfs/ipc/vfs_ipc.c p->dce_conn->transport.report_output_data = NULL; dce_conn 251 source4/ntvfs/ipc/vfs_ipc.c p->dce_conn->transport.get_my_addr = ipc_get_my_addr; dce_conn 252 source4/ntvfs/ipc/vfs_ipc.c p->dce_conn->transport.get_peer_addr = ipc_get_peer_addr; dce_conn 441 source4/ntvfs/ipc/vfs_ipc.c status = dcesrv_output(p->dce_conn, &data, ipc_readx_dcesrv_output); dce_conn 477 source4/ntvfs/ipc/vfs_ipc.c status = dcesrv_input(p->dce_conn, &data); dce_conn 748 source4/ntvfs/ipc/vfs_ipc.c status = dcesrv_input(p->dce_conn, &trans->in.data); dce_conn 758 source4/ntvfs/ipc/vfs_ipc.c status = dcesrv_output(p->dce_conn, &trans->out.data, ipc_trans_dcesrv_output); dce_conn 856 source4/ntvfs/ipc/vfs_ipc.c status = dcesrv_input(p->dce_conn, &io->smb2.in.out); dce_conn 864 source4/ntvfs/ipc/vfs_ipc.c status = dcesrv_output(p->dce_conn, &io->smb2.out.out, ipc_trans_dcesrv_output); dce_conn 144 source4/rpc_server/dcerpc_server.c static struct dcesrv_call_state *dcesrv_find_fragmented_call(struct dcesrv_connection *dce_conn, uint16_t call_id) dce_conn 147 source4/rpc_server/dcerpc_server.c for (c=dce_conn->incoming_fragmented_call_list;c;c=c->next) { dce_conn 1087 source4/rpc_server/dcerpc_server.c static void dce_partial_advance(struct dcesrv_connection *dce_conn, uint32_t offset) dce_conn 1091 source4/rpc_server/dcerpc_server.c if (dce_conn->partial_input.length == offset) { dce_conn 1092 source4/rpc_server/dcerpc_server.c data_blob_free(&dce_conn->partial_input); dce_conn 1096 source4/rpc_server/dcerpc_server.c blob = dce_conn->partial_input; dce_conn 1097 source4/rpc_server/dcerpc_server.c dce_conn->partial_input = data_blob(blob.data + offset, dce_conn 1114 source4/rpc_server/dcerpc_server.c NTSTATUS dcesrv_input_process(struct dcesrv_connection *dce_conn) dce_conn 1122 source4/rpc_server/dcerpc_server.c call = talloc_zero(dce_conn, struct dcesrv_call_state); dce_conn 1124 source4/rpc_server/dcerpc_server.c talloc_free(dce_conn->partial_input.data); dce_conn 1127 source4/rpc_server/dcerpc_server.c call->conn = dce_conn; dce_conn 1128 source4/rpc_server/dcerpc_server.c call->event_ctx = dce_conn->event_ctx; dce_conn 1129 source4/rpc_server/dcerpc_server.c call->msg_ctx = dce_conn->msg_ctx; dce_conn 1136 source4/rpc_server/dcerpc_server.c blob = dce_conn->partial_input; dce_conn 1141 source4/rpc_server/dcerpc_server.c talloc_free(dce_conn->partial_input.data); dce_conn 1156 source4/rpc_server/dcerpc_server.c talloc_free(dce_conn->partial_input.data); dce_conn 1165 source4/rpc_server/dcerpc_server.c dce_partial_advance(dce_conn, blob.length); dce_conn 1169 source4/rpc_server/dcerpc_server.c dce_partial_advance(dce_conn, blob.length); dce_conn 1184 source4/rpc_server/dcerpc_server.c call = dcesrv_find_fragmented_call(dce_conn, call2->pkt.call_id); dce_conn 1263 source4/rpc_server/dcerpc_server.c _PUBLIC_ NTSTATUS dcesrv_input(struct dcesrv_connection *dce_conn, const DATA_BLOB *data) dce_conn 1267 source4/rpc_server/dcerpc_server.c dce_conn->partial_input.data = talloc_realloc(dce_conn, dce_conn 1268 source4/rpc_server/dcerpc_server.c dce_conn->partial_input.data, dce_conn 1270 source4/rpc_server/dcerpc_server.c dce_conn->partial_input.length + data->length); dce_conn 1271 source4/rpc_server/dcerpc_server.c if (!dce_conn->partial_input.data) { dce_conn 1274 source4/rpc_server/dcerpc_server.c memcpy(dce_conn->partial_input.data + dce_conn->partial_input.length, dce_conn 1276 source4/rpc_server/dcerpc_server.c dce_conn->partial_input.length += data->length; dce_conn 1278 source4/rpc_server/dcerpc_server.c while (dce_full_packet(&dce_conn->partial_input)) { dce_conn 1279 source4/rpc_server/dcerpc_server.c status = dcesrv_input_process(dce_conn); dce_conn 1300 source4/rpc_server/dcerpc_server.c _PUBLIC_ NTSTATUS dcesrv_output(struct dcesrv_connection *dce_conn, dce_conn 1309 source4/rpc_server/dcerpc_server.c call = dce_conn->call_list; dce_conn 1311 source4/rpc_server/dcerpc_server.c if (dce_conn->pending_call_list) { dce_conn 309 source4/rpc_server/dcerpc_server.h NTSTATUS dcesrv_output(struct dcesrv_connection *dce_conn, dce_conn 312 source4/rpc_server/dcerpc_server.h NTSTATUS dcesrv_input(struct dcesrv_connection *dce_conn, const DATA_BLOB *data); dce_conn 42 source4/rpc_server/dcesrv_auth.c struct dcesrv_connection *dce_conn = call->conn; dce_conn 43 source4/rpc_server/dcesrv_auth.c struct dcesrv_auth *auth = &dce_conn->auth_state; dce_conn 48 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info = NULL; dce_conn 52 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info = talloc(dce_conn, struct dcerpc_auth); dce_conn 53 source4/rpc_server/dcesrv_auth.c if (!dce_conn->auth_state.auth_info) { dce_conn 59 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info, dce_conn 80 source4/rpc_server/dcesrv_auth.c status = samba_server_gensec_start(dce_conn, call->event_ctx, dce_conn 111 source4/rpc_server/dcesrv_auth.c struct dcesrv_connection *dce_conn = call->conn; dce_conn 118 source4/rpc_server/dcesrv_auth.c status = gensec_update(dce_conn->auth_state.gensec_security, dce_conn 120 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->credentials, dce_conn 121 source4/rpc_server/dcesrv_auth.c &dce_conn->auth_state.auth_info->credentials); dce_conn 124 source4/rpc_server/dcesrv_auth.c status = gensec_session_info(dce_conn->auth_state.gensec_security, dce_conn 125 source4/rpc_server/dcesrv_auth.c &dce_conn->auth_state.session_info); dce_conn 131 source4/rpc_server/dcesrv_auth.c if (dce_conn->state_flags & DCESRV_CALL_STATE_FLAG_HEADER_SIGNING) { dce_conn 132 source4/rpc_server/dcesrv_auth.c gensec_want_feature(dce_conn->auth_state.gensec_security, dce_conn 137 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.session_key = dcesrv_generic_session_key; dce_conn 140 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->auth_pad_length = 0; dce_conn 141 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->auth_reserved = 0; dce_conn 156 source4/rpc_server/dcesrv_auth.c struct dcesrv_connection *dce_conn = call->conn; dce_conn 161 source4/rpc_server/dcesrv_auth.c if (!dce_conn->auth_state.auth_info || dce_conn 162 source4/rpc_server/dcesrv_auth.c !dce_conn->auth_state.gensec_security || dce_conn 169 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info, dce_conn 176 source4/rpc_server/dcesrv_auth.c status = gensec_update(dce_conn->auth_state.gensec_security, dce_conn 178 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->credentials, dce_conn 179 source4/rpc_server/dcesrv_auth.c &dce_conn->auth_state.auth_info->credentials); dce_conn 181 source4/rpc_server/dcesrv_auth.c status = gensec_session_info(dce_conn->auth_state.gensec_security, dce_conn 182 source4/rpc_server/dcesrv_auth.c &dce_conn->auth_state.session_info); dce_conn 188 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.session_key = dcesrv_generic_session_key; dce_conn 207 source4/rpc_server/dcesrv_auth.c struct dcesrv_connection *dce_conn = call->conn; dce_conn 216 source4/rpc_server/dcesrv_auth.c if (!dce_conn->auth_state.gensec_security) { dce_conn 220 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info = talloc(dce_conn, struct dcerpc_auth); dce_conn 221 source4/rpc_server/dcesrv_auth.c if (!dce_conn->auth_state.auth_info) { dce_conn 227 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info, dce_conn 242 source4/rpc_server/dcesrv_auth.c struct dcesrv_connection *dce_conn = call->conn; dce_conn 248 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->credentials.length == 0) { dce_conn 256 source4/rpc_server/dcesrv_auth.c status = gensec_update(dce_conn->auth_state.gensec_security, dce_conn 258 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->credentials, dce_conn 259 source4/rpc_server/dcesrv_auth.c &dce_conn->auth_state.auth_info->credentials); dce_conn 262 source4/rpc_server/dcesrv_auth.c status = gensec_session_info(dce_conn->auth_state.gensec_security, dce_conn 263 source4/rpc_server/dcesrv_auth.c &dce_conn->auth_state.session_info); dce_conn 270 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.session_key = dcesrv_generic_session_key; dce_conn 273 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->auth_pad_length = 0; dce_conn 274 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->auth_reserved = 0; dce_conn 288 source4/rpc_server/dcesrv_auth.c struct dcesrv_connection *dce_conn = call->conn; dce_conn 296 source4/rpc_server/dcesrv_auth.c if (!dce_conn->auth_state.auth_info || dce_conn 297 source4/rpc_server/dcesrv_auth.c !dce_conn->auth_state.gensec_security) { dce_conn 301 source4/rpc_server/dcesrv_auth.c switch (dce_conn->auth_state.auth_info->auth_level) { dce_conn 355 source4/rpc_server/dcesrv_auth.c switch (dce_conn->auth_state.auth_info->auth_level) { dce_conn 357 source4/rpc_server/dcesrv_auth.c status = gensec_unseal_packet(dce_conn->auth_state.gensec_security, dce_conn 370 source4/rpc_server/dcesrv_auth.c status = gensec_check_packet(dce_conn->auth_state.gensec_security, dce_conn 408 source4/rpc_server/dcesrv_auth.c struct dcesrv_connection *dce_conn = call->conn; dce_conn 417 source4/rpc_server/dcesrv_auth.c status = ncacn_push_auth(blob, call, lp_iconv_convenience(dce_conn->dce_ctx->lp_ctx), pkt, NULL); dce_conn 421 source4/rpc_server/dcesrv_auth.c switch (dce_conn->auth_state.auth_info->auth_level) { dce_conn 431 source4/rpc_server/dcesrv_auth.c status = ncacn_push_auth(blob, call, lp_iconv_convenience(dce_conn->dce_ctx->lp_ctx), pkt, NULL); dce_conn 435 source4/rpc_server/dcesrv_auth.c status = ncacn_push_auth(blob, call, lp_iconv_convenience(dce_conn->dce_ctx->lp_ctx), pkt, NULL); dce_conn 442 source4/rpc_server/dcesrv_auth.c ndr = ndr_push_init_ctx(call, lp_iconv_convenience(dce_conn->dce_ctx->lp_ctx)); dce_conn 457 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->auth_pad_length = dce_conn 459 source4/rpc_server/dcesrv_auth.c ndr_err = ndr_push_zero(ndr, dce_conn->auth_state.auth_info->auth_pad_length); dce_conn 465 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->auth_pad_length; dce_conn 468 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->credentials = data_blob(NULL, 0); dce_conn 472 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info); dce_conn 490 source4/rpc_server/dcesrv_auth.c switch (dce_conn->auth_state.auth_info->auth_level) { dce_conn 492 source4/rpc_server/dcesrv_auth.c status = gensec_seal_packet(dce_conn->auth_state.gensec_security, dce_conn 502 source4/rpc_server/dcesrv_auth.c status = gensec_sign_packet(dce_conn->auth_state.gensec_security, dce_conn 520 source4/rpc_server/dcesrv_auth.c dce_conn->auth_state.auth_info->auth_pad_length, dce_conn 64 source4/rpc_server/service_rpc.c static void dcesrv_terminate_connection(struct dcesrv_connection *dce_conn, const char *reason) dce_conn 67 source4/rpc_server/service_rpc.c srv_conn = talloc_get_type(dce_conn->transport.private_data, dce_conn 157 source4/rpc_server/service_rpc.c struct dcesrv_connection *dce_conn = talloc_get_type(conn->private_data, struct dcesrv_connection); dce_conn 161 source4/rpc_server/service_rpc.c if (dce_conn->processing) { dce_conn 168 source4/rpc_server/service_rpc.c dcesrv_terminate_connection(dce_conn, "out of memory"); dce_conn 174 source4/rpc_server/service_rpc.c dcesrv_terminate_connection(dce_conn, nt_errstr(status)); dce_conn 184 source4/rpc_server/service_rpc.c dce_conn->processing = true; dce_conn 185 source4/rpc_server/service_rpc.c status = dcesrv_input(dce_conn, &tmp_blob); dce_conn 186 source4/rpc_server/service_rpc.c dce_conn->processing = false; dce_conn 192 source4/rpc_server/service_rpc.c dcesrv_terminate_connection(dce_conn, nt_errstr(status)); dce_conn 196 source4/rpc_server/service_rpc.c if (dce_conn->call_list && dce_conn->call_list->replies) { dce_conn 203 source4/rpc_server/service_rpc.c struct dcesrv_connection *dce_conn = talloc_get_type(conn->private_data, struct dcesrv_connection); dce_conn 206 source4/rpc_server/service_rpc.c status = dcesrv_output(dce_conn, conn->socket, dcerpc_write_fn); dce_conn 208 source4/rpc_server/service_rpc.c dcesrv_terminate_connection(dce_conn, "eof on socket"); dce_conn 212 source4/rpc_server/service_rpc.c if (!dce_conn->call_list || !dce_conn->call_list->replies) {