smb_conn 35 source4/smb_server/management.c struct smbsrv_connection *smb_conn = talloc_get_type(msg->private_data, smb_conn 41 source4/smb_server/management.c for (sess=smb_conn->sessions.list; sess; sess=sess->next) { smb_conn 49 source4/smb_server/management.c for (sess=smb_conn->sessions.list; sess; sess=sess->next) { smb_conn 52 source4/smb_server/management.c client_addr = socket_get_peer_addr(smb_conn->connection->socket, r); smb_conn 79 source4/smb_server/management.c struct smbsrv_connection *smb_conn = talloc_get_type(msg->private_data, smb_conn 85 source4/smb_server/management.c for (tcon=smb_conn->smb_tcons.list; tcon; tcon=tcon->next) { smb_conn 93 source4/smb_server/management.c for (tcon=smb_conn->smb_tcons.list; tcon; tcon=tcon->next) { smb_conn 96 source4/smb_server/management.c client_addr = socket_get_peer_addr(smb_conn->connection->socket, r); smb_conn 133 source4/smb_server/management.c void smbsrv_management_init(struct smbsrv_connection *smb_conn) smb_conn 135 source4/smb_server/management.c IRPC_REGISTER(smb_conn->connection->msg_ctx, irpc, SMBSRV_INFORMATION, smb_conn 136 source4/smb_server/management.c smbsrv_information, smb_conn); smb_conn 30 source4/smb_server/session.c NTSTATUS smbsrv_init_sessions(struct smbsrv_connection *smb_conn, uint64_t limit) smb_conn 38 source4/smb_server/session.c smb_conn->sessions.idtree_vuid = idr_init(smb_conn); smb_conn 39 source4/smb_server/session.c NT_STATUS_HAVE_NO_MEMORY(smb_conn->sessions.idtree_vuid); smb_conn 40 source4/smb_server/session.c smb_conn->sessions.idtree_limit = limit; smb_conn 41 source4/smb_server/session.c smb_conn->sessions.list = NULL; smb_conn 50 source4/smb_server/session.c struct smbsrv_session *smbsrv_session_find(struct smbsrv_connection *smb_conn, smb_conn 58 source4/smb_server/session.c if (vuid > smb_conn->sessions.idtree_limit) return NULL; smb_conn 60 source4/smb_server/session.c p = idr_find(smb_conn->sessions.idtree_vuid, vuid); smb_conn 77 source4/smb_server/session.c struct smbsrv_session *smbsrv_session_find_sesssetup(struct smbsrv_connection *smb_conn, uint64_t vuid) smb_conn 84 source4/smb_server/session.c if (vuid > smb_conn->sessions.idtree_limit) return NULL; smb_conn 86 source4/smb_server/session.c p = idr_find(smb_conn->sessions.idtree_vuid, vuid); smb_conn 126 source4/smb_server/session.c struct smbsrv_connection *smb_conn = sess->smb_conn; smb_conn 128 source4/smb_server/session.c idr_remove(smb_conn->sessions.idtree_vuid, sess->vuid); smb_conn 129 source4/smb_server/session.c DLIST_REMOVE(smb_conn->sessions.list, sess); smb_conn 137 source4/smb_server/session.c struct smbsrv_session *smbsrv_session_new(struct smbsrv_connection *smb_conn, smb_conn 145 source4/smb_server/session.c if (smb_conn->config.security == SEC_SHARE) return NULL; smb_conn 149 source4/smb_server/session.c sess->smb_conn = smb_conn; smb_conn 151 source4/smb_server/session.c i = idr_get_new_random(smb_conn->sessions.idtree_vuid, sess, smb_conn->sessions.idtree_limit); smb_conn 162 source4/smb_server/session.c DLIST_ADD(smb_conn->sessions.list, sess); smb_conn 34 source4/smb_server/smb/negprot.c static NTSTATUS get_challenge(struct smbsrv_connection *smb_conn, uint8_t buff[8]) smb_conn 40 source4/smb_server/smb/negprot.c if (smb_conn->negotiate.auth_context) { smb_conn 47 source4/smb_server/smb/negprot.c nt_status = auth_context_create(smb_conn, smb_conn 48 source4/smb_server/smb/negprot.c smb_conn->connection->event.ctx, smb_conn 49 source4/smb_server/smb/negprot.c smb_conn->connection->msg_ctx, smb_conn 50 source4/smb_server/smb/negprot.c smb_conn->lp_ctx, smb_conn 51 source4/smb_server/smb/negprot.c &smb_conn->negotiate.auth_context); smb_conn 57 source4/smb_server/smb/negprot.c nt_status = auth_get_challenge(smb_conn->negotiate.auth_context, &challenge); smb_conn 77 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.protocol = PROTOCOL_CORE; smb_conn 79 source4/smb_server/smb/negprot.c if (req->smb_conn->signing.mandatory_signing) { smb_conn 80 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, smb_conn 95 source4/smb_server/smb/negprot.c uint16_t raw = (lp_readraw(req->smb_conn->lp_ctx)?1:0) | (lp_writeraw(req->smb_conn->lp_ctx)?2:0); smb_conn 110 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.protocol = PROTOCOL_COREPLUS; smb_conn 112 source4/smb_server/smb/negprot.c if (req->smb_conn->signing.mandatory_signing) { smb_conn 113 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, smb_conn 126 source4/smb_server/smb/negprot.c int raw = (lp_readraw(req->smb_conn->lp_ctx)?1:0) | (lp_writeraw(req->smb_conn->lp_ctx)?2:0); smb_conn 130 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.encrypted_passwords = lp_encrypted_passwords(req->smb_conn->lp_ctx); smb_conn 132 source4/smb_server/smb/negprot.c if (lp_security(req->smb_conn->lp_ctx) != SEC_SHARE) smb_conn 135 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.encrypted_passwords) smb_conn 138 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.protocol = PROTOCOL_LANMAN1; smb_conn 140 source4/smb_server/smb/negprot.c smbsrv_setup_reply(req, 13, req->smb_conn->negotiate.encrypted_passwords ? 8 : 0); smb_conn 148 source4/smb_server/smb/negprot.c SSVAL(req->out.vwv, VWV(2), req->smb_conn->negotiate.max_recv); smb_conn 149 source4/smb_server/smb/negprot.c SSVAL(req->out.vwv, VWV(3), lp_maxmux(req->smb_conn->lp_ctx)); smb_conn 152 source4/smb_server/smb/negprot.c SIVAL(req->out.vwv, VWV(6), req->smb_conn->connection->server_id.id); smb_conn 153 source4/smb_server/smb/negprot.c srv_push_dos_date(req->smb_conn, req->out.vwv, VWV(8), t); smb_conn 154 source4/smb_server/smb/negprot.c SSVAL(req->out.vwv, VWV(10), req->smb_conn->negotiate.zone_offset/60); smb_conn 158 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.encrypted_passwords) { smb_conn 163 source4/smb_server/smb/negprot.c nt_status = get_challenge(req->smb_conn, req->out.data); smb_conn 165 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, "LANMAN1 get_challenge failed\n"); smb_conn 170 source4/smb_server/smb/negprot.c if (req->smb_conn->signing.mandatory_signing) { smb_conn 171 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, smb_conn 184 source4/smb_server/smb/negprot.c int raw = (lp_readraw(req->smb_conn->lp_ctx)?1:0) | (lp_writeraw(req->smb_conn->lp_ctx)?2:0); smb_conn 188 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.encrypted_passwords = lp_encrypted_passwords(req->smb_conn->lp_ctx); smb_conn 190 source4/smb_server/smb/negprot.c if (lp_security(req->smb_conn->lp_ctx) != SEC_SHARE) smb_conn 193 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.encrypted_passwords) smb_conn 196 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.protocol = PROTOCOL_LANMAN2; smb_conn 202 source4/smb_server/smb/negprot.c SSVAL(req->out.vwv, VWV(2), req->smb_conn->negotiate.max_recv); smb_conn 203 source4/smb_server/smb/negprot.c SSVAL(req->out.vwv, VWV(3), lp_maxmux(req->smb_conn->lp_ctx)); smb_conn 206 source4/smb_server/smb/negprot.c SIVAL(req->out.vwv, VWV(6), req->smb_conn->connection->server_id.id); smb_conn 207 source4/smb_server/smb/negprot.c srv_push_dos_date(req->smb_conn, req->out.vwv, VWV(8), t); smb_conn 208 source4/smb_server/smb/negprot.c SSVAL(req->out.vwv, VWV(10), req->smb_conn->negotiate.zone_offset/60); smb_conn 212 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.encrypted_passwords) { smb_conn 215 source4/smb_server/smb/negprot.c get_challenge(req->smb_conn, req->out.data); smb_conn 218 source4/smb_server/smb/negprot.c req_push_str(req, NULL, lp_workgroup(req->smb_conn->lp_ctx), -1, STR_TERMINATE); smb_conn 220 source4/smb_server/smb/negprot.c if (req->smb_conn->signing.mandatory_signing) { smb_conn 221 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, smb_conn 232 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.encrypted_passwords) { smb_conn 236 source4/smb_server/smb/negprot.c get_challenge(req->smb_conn, req->out.ptr); smb_conn 240 source4/smb_server/smb/negprot.c req_push_str(req, NULL, lp_workgroup(req->smb_conn->lp_ctx), -1, STR_UNICODE|STR_TERMINATE|STR_NOALIGN); smb_conn 241 source4/smb_server/smb/negprot.c req_push_str(req, NULL, lp_netbios_name(req->smb_conn->lp_ctx), -1, STR_UNICODE|STR_TERMINATE|STR_NOALIGN); smb_conn 264 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.encrypted_passwords = lp_encrypted_passwords(req->smb_conn->lp_ctx); smb_conn 269 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.encrypted_passwords && smb_conn 270 source4/smb_server/smb/negprot.c (lp_security(req->smb_conn->lp_ctx) != SEC_SHARE) && smb_conn 271 source4/smb_server/smb/negprot.c lp_use_spnego(req->smb_conn->lp_ctx) && smb_conn 277 source4/smb_server/smb/negprot.c if (lp_unix_extensions(req->smb_conn->lp_ctx)) { smb_conn 281 source4/smb_server/smb/negprot.c if (lp_large_readwrite(req->smb_conn->lp_ctx)) { smb_conn 285 source4/smb_server/smb/negprot.c large_test_path = lock_path(req, req->smb_conn->lp_ctx, "large_test.dat"); smb_conn 290 source4/smb_server/smb/negprot.c if (lp_readraw(req->smb_conn->lp_ctx) && smb_conn 291 source4/smb_server/smb/negprot.c lp_writeraw(req->smb_conn->lp_ctx)) { smb_conn 296 source4/smb_server/smb/negprot.c if (lp_unicode(req->smb_conn->lp_ctx)) { smb_conn 300 source4/smb_server/smb/negprot.c if (lp_nt_status_support(req->smb_conn->lp_ctx)) { smb_conn 304 source4/smb_server/smb/negprot.c if (lp_host_msdfs(req->smb_conn->lp_ctx)) { smb_conn 308 source4/smb_server/smb/negprot.c if (lp_security(req->smb_conn->lp_ctx) != SEC_SHARE) { smb_conn 312 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.encrypted_passwords) { smb_conn 316 source4/smb_server/smb/negprot.c if (req->smb_conn->signing.allow_smb_signing) { smb_conn 320 source4/smb_server/smb/negprot.c if (req->smb_conn->signing.mandatory_signing) { smb_conn 324 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.protocol = PROTOCOL_NT1; smb_conn 335 source4/smb_server/smb/negprot.c SSVAL(req->out.vwv+1, VWV(1), lp_maxmux(req->smb_conn->lp_ctx)); smb_conn 337 source4/smb_server/smb/negprot.c SIVAL(req->out.vwv+1, VWV(3), req->smb_conn->negotiate.max_recv); smb_conn 339 source4/smb_server/smb/negprot.c SIVAL(req->out.vwv+1, VWV(7), req->smb_conn->connection->server_id.id); /* session key */ smb_conn 342 source4/smb_server/smb/negprot.c SSVALS(req->out.vwv+1,VWV(15), req->smb_conn->negotiate.zone_offset/60); smb_conn 357 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, "Failed to init server credentials\n"); smb_conn 361 source4/smb_server/smb/negprot.c cli_credentials_set_conf(server_credentials, req->smb_conn->lp_ctx); smb_conn 362 source4/smb_server/smb/negprot.c nt_status = cli_credentials_set_machine_account(server_credentials, req->smb_conn->lp_ctx); smb_conn 370 source4/smb_server/smb/negprot.c req->smb_conn->connection->event.ctx, smb_conn 371 source4/smb_server/smb/negprot.c req->smb_conn->connection->msg_ctx, smb_conn 372 source4/smb_server/smb/negprot.c req->smb_conn->lp_ctx, smb_conn 379 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, "Failed to start GENSEC\n"); smb_conn 383 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.auth_context) { smb_conn 384 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, "reply_nt1: is this a secondary negprot? auth_context is non-NULL!\n"); smb_conn 387 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.server_credentials = talloc_steal(req->smb_conn, server_credentials); smb_conn 422 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.oid = oid; smb_conn 443 source4/smb_server/smb/negprot.c struct smbsrv_connection *smb_conn = req->smb_conn; smb_conn 446 source4/smb_server/smb/negprot.c talloc_free(smb_conn->sessions.idtree_vuid); smb_conn 447 source4/smb_server/smb/negprot.c ZERO_STRUCT(smb_conn->sessions); smb_conn 448 source4/smb_server/smb/negprot.c talloc_free(smb_conn->smb_tcons.idtree_tid); smb_conn 449 source4/smb_server/smb/negprot.c ZERO_STRUCT(smb_conn->smb_tcons); smb_conn 450 source4/smb_server/smb/negprot.c ZERO_STRUCT(smb_conn->signing); smb_conn 453 source4/smb_server/smb/negprot.c status = smbsrv_init_smb2_connection(smb_conn); smb_conn 455 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(smb_conn, nt_errstr(status)); smb_conn 459 source4/smb_server/smb/negprot.c packet_set_callback(smb_conn->packet, smbsrv_recv_smb2_request); smb_conn 498 source4/smb_server/smb/negprot.c if (req->smb_conn->negotiate.done_negprot) { smb_conn 499 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, "multiple negprot's are not permitted"); smb_conn 502 source4/smb_server/smb/negprot.c req->smb_conn->negotiate.done_negprot = true; smb_conn 510 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(NT_STATUS_NO_MEMORY)); smb_conn 526 source4/smb_server/smb/negprot.c if (supported_protocols[protocol].protocol_level > lp_srv_maxprotocol(req->smb_conn->lp_ctx)) smb_conn 528 source4/smb_server/smb/negprot.c if (supported_protocols[protocol].protocol_level < lp_srv_minprotocol(req->smb_conn->lp_ctx)) smb_conn 541 source4/smb_server/smb/negprot.c smbsrv_terminate_connection(req->smb_conn, "No protocol supported !"); smb_conn 602 source4/smb_server/smb/nttrans.c for (count=0,tp=req->smb_conn->trans_partial;tp;tp=tp->next) count++; smb_conn 614 source4/smb_server/smb/nttrans.c DLIST_ADD(req->smb_conn->trans_partial, tp); smb_conn 728 source4/smb_server/smb/nttrans.c for (tp=req->smb_conn->trans_partial;tp;tp=tp->next) { smb_conn 40 source4/smb_server/smb/receive.c req = smbsrv_init_request(tcon->smb_conn); smb_conn 356 source4/smb_server/smb/receive.c struct smbsrv_connection *smb_conn = talloc_get_type(private_data, struct smbsrv_connection); smb_conn 361 source4/smb_server/smb/receive.c smb_conn->statistics.last_request_time = cur_time; smb_conn 365 source4/smb_server/smb/receive.c req = smbsrv_init_request(smb_conn); smb_conn 380 source4/smb_server/smb/receive.c smbsrv_terminate_connection(smb_conn, "Invalid SMB packet"); smb_conn 388 source4/smb_server/smb/receive.c smbsrv_terminate_connection(smb_conn, "Non-SMB packet"); smb_conn 392 source4/smb_server/smb/receive.c req = smbsrv_init_request(smb_conn); smb_conn 429 source4/smb_server/smb/receive.c smbsrv_terminate_connection(req->smb_conn, "Invalid SMB packet"); smb_conn 436 source4/smb_server/smb/receive.c smbsrv_terminate_connection(req->smb_conn, "Invalid SMB packet"); smb_conn 479 source4/smb_server/smb/receive.c struct smbsrv_connection *smb_conn = req->smb_conn; smb_conn 494 source4/smb_server/smb/receive.c req->tcon = smbsrv_smb_tcon_find(smb_conn, SVAL(req->in.hdr,HDR_TID), req->request_time); smb_conn 502 source4/smb_server/smb/receive.c if (smb_conn->config.security == SEC_SHARE) { smb_conn 507 source4/smb_server/smb/receive.c req->session = smbsrv_session_find(req->smb_conn, SVAL(req->in.hdr,HDR_UID), req->request_time); smb_conn 512 source4/smb_server/smb/receive.c smb_fn_name(type), (unsigned)req->smb_conn->connection->server_id.id)); smb_conn 529 source4/smb_server/smb/receive.c if (req->smb_conn->config.nt_status_support && smb_conn 530 source4/smb_server/smb/receive.c req->smb_conn->negotiate.client_caps & CAP_STATUS32) { smb_conn 541 source4/smb_server/smb/receive.c (req->smb_conn->signing.signing_state != SMB_SIGNING_ENGINE_OFF)) { smb_conn 561 source4/smb_server/smb/receive.c if (req->smb_conn->config.nt_status_support && smb_conn 562 source4/smb_server/smb/receive.c req->smb_conn->negotiate.client_caps & CAP_STATUS32) { smb_conn 573 source4/smb_server/smb/receive.c (req->smb_conn->signing.signing_state != SMB_SIGNING_ENGINE_OFF)) { smb_conn 664 source4/smb_server/smb/receive.c NTSTATUS smbsrv_init_smb_connection(struct smbsrv_connection *smb_conn, struct loadparm_context *lp_ctx) smb_conn 669 source4/smb_server/smb/receive.c smb_conn->negotiate.max_send = 0xFFFF; smb_conn 673 source4/smb_server/smb/receive.c smb_conn->negotiate.max_recv = lp_max_xmit(lp_ctx); smb_conn 675 source4/smb_server/smb/receive.c smb_conn->negotiate.zone_offset = get_time_zone(time(NULL)); smb_conn 677 source4/smb_server/smb/receive.c smb_conn->config.security = lp_security(lp_ctx); smb_conn 678 source4/smb_server/smb/receive.c smb_conn->config.nt_status_support = lp_nt_status_support(lp_ctx); smb_conn 680 source4/smb_server/smb/receive.c status = smbsrv_init_sessions(smb_conn, UINT16_MAX); smb_conn 683 source4/smb_server/smb/receive.c status = smbsrv_smb_init_tcons(smb_conn); smb_conn 686 source4/smb_server/smb/receive.c smbsrv_init_signing(smb_conn); smb_conn 132 source4/smb_server/smb/reply.c if (req->smb_conn->negotiate.protocol < PROTOCOL_NT1) { smb_conn 245 source4/smb_server/smb/reply.c srv_push_dos_date3(req->smb_conn, req->out.vwv, VWV(1), st->getattr.out.write_time); smb_conn 291 source4/smb_server/smb/reply.c st->setattr.in.write_time = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(1)); smb_conn 359 source4/smb_server/smb/reply.c srv_push_dos_date3(req->smb_conn, req->out.vwv, VWV(2), oi->openold.out.write_time); smb_conn 414 source4/smb_server/smb/reply.c srv_push_dos_date3(req->smb_conn, req->out.vwv, VWV(4), oi->openx.out.write_time); smb_conn 450 source4/smb_server/smb/reply.c oi->openx.in.write_time = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(6)); smb_conn 503 source4/smb_server/smb/reply.c oi->mknew.in.write_time = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(1)); smb_conn 550 source4/smb_server/smb/reply.c oi->ctemp.in.write_time = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(1)); smb_conn 832 source4/smb_server/smb/reply.c if (req->smb_conn->negotiate.client_caps & CAP_LARGE_READX) { smb_conn 1118 source4/smb_server/smb/reply.c io->close.in.write_time = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(1)); smb_conn 1162 source4/smb_server/smb/reply.c io->writeclose.in.mtime = srv_pull_dos_date3(req->smb_conn, req->in.vwv + VWV(4)); smb_conn 1374 source4/smb_server/smb/reply.c srv_push_dos_date2(req->smb_conn, req->out.ptr, 0 , lpq->retq.out.queue[i].time); smb_conn 1708 source4/smb_server/smb/reply.c info->setattre.in.create_time = srv_pull_dos_date2(req->smb_conn, req->in.vwv + VWV(1)); smb_conn 1709 source4/smb_server/smb/reply.c info->setattre.in.access_time = srv_pull_dos_date2(req->smb_conn, req->in.vwv + VWV(3)); smb_conn 1710 source4/smb_server/smb/reply.c info->setattre.in.write_time = srv_pull_dos_date2(req->smb_conn, req->in.vwv + VWV(5)); smb_conn 1749 source4/smb_server/smb/reply.c srv_push_dos_date2(req->smb_conn, req->out.vwv, VWV(0), info->getattre.out.create_time); smb_conn 1750 source4/smb_server/smb/reply.c srv_push_dos_date2(req->smb_conn, req->out.vwv, VWV(2), info->getattre.out.access_time); smb_conn 1751 source4/smb_server/smb/reply.c srv_push_dos_date2(req->smb_conn, req->out.vwv, VWV(4), info->getattre.out.write_time); smb_conn 2041 source4/smb_server/smb/reply.c for (tcon=req->smb_conn->smb_tcons.list;tcon;tcon=tcon->next) { smb_conn 2082 source4/smb_server/smb/reply.c for (tcon=req->smb_conn->smb_tcons.list;tcon;tcon=tcon->next) { smb_conn 2230 source4/smb_server/smb/reply.c for (r = req->smb_conn->requests; r; r = r->next) { smb_conn 2263 source4/smb_server/smb/reply.c req->smb_conn->negotiate.called_name = talloc(req->smb_conn, struct nbt_name); smb_conn 2264 source4/smb_server/smb/reply.c req->smb_conn->negotiate.calling_name = talloc(req->smb_conn, struct nbt_name); smb_conn 2265 source4/smb_server/smb/reply.c if (req->smb_conn->negotiate.called_name == NULL || smb_conn 2266 source4/smb_server/smb/reply.c req->smb_conn->negotiate.calling_name == NULL) { smb_conn 2270 source4/smb_server/smb/reply.c status = nbt_name_from_blob(req->smb_conn, &blob, smb_conn 2271 source4/smb_server/smb/reply.c req->smb_conn->negotiate.called_name); smb_conn 2278 source4/smb_server/smb/reply.c status = nbt_name_from_blob(req->smb_conn, &blob, smb_conn 2279 source4/smb_server/smb/reply.c req->smb_conn->negotiate.calling_name); smb_conn 2282 source4/smb_server/smb/reply.c req->smb_conn->negotiate.done_nbt_session = true; smb_conn 2303 source4/smb_server/smb/reply.c if (req->smb_conn->negotiate.done_nbt_session) { smb_conn 51 source4/smb_server/smb/request.c DLIST_REMOVE(req->smb_conn->requests, req); smb_conn 59 source4/smb_server/smb/request.c struct smbsrv_request *smbsrv_init_request(struct smbsrv_connection *smb_conn) smb_conn 63 source4/smb_server/smb/request.c req = talloc_zero(smb_conn, struct smbsrv_request); smb_conn 69 source4/smb_server/smb/request.c req->smb_conn = smb_conn; smb_conn 93 source4/smb_server/smb/request.c smbsrv_terminate_connection(req->smb_conn, "allocation failed"); smb_conn 130 source4/smb_server/smb/request.c smbsrv_terminate_connection(req->smb_conn, "allocation failed"); smb_conn 143 source4/smb_server/smb/request.c if (req->smb_conn->negotiate.client_caps & CAP_STATUS32) { smb_conn 222 source4/smb_server/smb/request.c ret = req->smb_conn->negotiate.max_send; smb_conn 308 source4/smb_server/smb/request.c if (req->smb_conn->connection->event.fde == NULL) { smb_conn 319 source4/smb_server/smb/request.c status = packet_send(req->smb_conn->packet, blob); smb_conn 321 source4/smb_server/smb/request.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 334 source4/smb_server/smb/request.c if (req->smb_conn->connection->event.fde == NULL) { smb_conn 349 source4/smb_server/smb/request.c if (!req->smb_conn->config.nt_status_support || !(req->smb_conn->negotiate.client_caps & CAP_STATUS32)) { smb_conn 377 source4/smb_server/smb/request.c if (req->smb_conn->connection->event.fde == NULL) { smb_conn 58 source4/smb_server/smb/search.c srv_push_dos_date(req->smb_conn, p, 22, file->search.write_time); smb_conn 41 source4/smb_server/smb/service.c tcon = smbsrv_smb_tcon_new(req->smb_conn, scfg->name); smb_conn 48 source4/smb_server/smb/service.c if (req->smb_conn->negotiate.client_caps & CAP_LEVEL_II_OPLOCKS) { smb_conn 54 source4/smb_server/smb/service.c req->smb_conn->negotiate.protocol, smb_conn 56 source4/smb_server/smb/service.c req->smb_conn->connection->event.ctx, smb_conn 57 source4/smb_server/smb/service.c req->smb_conn->connection->msg_ctx, smb_conn 58 source4/smb_server/smb/service.c req->smb_conn->lp_ctx, smb_conn 59 source4/smb_server/smb/service.c req->smb_conn->connection->server_id, smb_conn 73 source4/smb_server/smb/service.c status = ntvfs_set_addr_callbacks(tcon->ntvfs, smbsrv_get_my_addr, smbsrv_get_peer_addr, req->smb_conn); smb_conn 140 source4/smb_server/smb/service.c status = share_get_config(req, req->smb_conn->share_context, service, &scfg); smb_conn 148 source4/smb_server/smb/service.c if (!socket_check_access(req->smb_conn->connection->socket, smb_conn 193 source4/smb_server/smb/service.c con->tcon.out.max_xmit = req->smb_conn->negotiate.max_recv; smb_conn 211 source4/smb_server/smb/service.c if (share_bool_option(req->tcon->ntvfs->config, SHARE_MSDFS_ROOT, SHARE_MSDFS_ROOT_DEFAULT) && lp_host_msdfs(req->smb_conn->lp_ctx)) { smb_conn 44 source4/smb_server/smb/sesssetup.c lp_workgroup(req->smb_conn->lp_ctx)); smb_conn 52 source4/smb_server/smb/sesssetup.c req->smb_conn->negotiate.done_sesssetup = true; smb_conn 54 source4/smb_server/smb/sesssetup.c req->session = talloc_steal(req->smb_conn, req->session); smb_conn 73 source4/smb_server/smb/sesssetup.c status = auth_generate_session_info(req, req->smb_conn->connection->event.ctx, req->smb_conn->lp_ctx, smb_conn 78 source4/smb_server/smb/sesssetup.c smb_sess = smbsrv_session_new(req->smb_conn, req, NULL); smb_conn 116 source4/smb_server/smb/sesssetup.c if (!req->smb_conn->negotiate.done_sesssetup) { smb_conn 117 source4/smb_server/smb/sesssetup.c req->smb_conn->negotiate.max_send = sess->old.in.bufsize; smb_conn 120 source4/smb_server/smb/sesssetup.c if (req->smb_conn->negotiate.calling_name) { smb_conn 121 source4/smb_server/smb/sesssetup.c remote_machine = req->smb_conn->negotiate.calling_name->name; smb_conn 124 source4/smb_server/smb/sesssetup.c remote_address = socket_get_peer_addr(req->smb_conn->connection->socket, req); smb_conn 147 source4/smb_server/smb/sesssetup.c auth_check_password_send(req->smb_conn->negotiate.auth_context, user_info, smb_conn 169 source4/smb_server/smb/sesssetup.c status = auth_generate_session_info(req, req->smb_conn->connection->event.ctx, smb_conn 170 source4/smb_server/smb/sesssetup.c req->smb_conn->lp_ctx, smb_conn 175 source4/smb_server/smb/sesssetup.c smb_sess = smbsrv_session_new(req->smb_conn, req, NULL); smb_conn 191 source4/smb_server/smb/sesssetup.c if (!smbsrv_setup_signing(req->smb_conn, &session_info->session_key, &sess->nt1.in.password2)) { smb_conn 222 source4/smb_server/smb/sesssetup.c if (!req->smb_conn->negotiate.done_sesssetup) { smb_conn 223 source4/smb_server/smb/sesssetup.c req->smb_conn->negotiate.max_send = sess->nt1.in.bufsize; smb_conn 224 source4/smb_server/smb/sesssetup.c req->smb_conn->negotiate.client_caps = sess->nt1.in.capabilities; smb_conn 227 source4/smb_server/smb/sesssetup.c if (req->smb_conn->negotiate.oid) { smb_conn 237 source4/smb_server/smb/sesssetup.c req->smb_conn->connection->event.ctx, smb_conn 238 source4/smb_server/smb/sesssetup.c req->smb_conn->connection->msg_ctx, smb_conn 239 source4/smb_server/smb/sesssetup.c req->smb_conn->lp_ctx, smb_conn 243 source4/smb_server/smb/sesssetup.c auth_context = req->smb_conn->negotiate.auth_context; smb_conn 246 source4/smb_server/smb/sesssetup.c if (req->smb_conn->negotiate.calling_name) { smb_conn 247 source4/smb_server/smb/sesssetup.c remote_machine = req->smb_conn->negotiate.calling_name->name; smb_conn 250 source4/smb_server/smb/sesssetup.c remote_address = socket_get_peer_addr(req->smb_conn->connection->socket, req); smb_conn 315 source4/smb_server/smb/sesssetup.c smbsrv_setup_signing(req->smb_conn, &session_key, NULL); smb_conn 354 source4/smb_server/smb/sesssetup.c if (!req->smb_conn->negotiate.done_sesssetup) { smb_conn 355 source4/smb_server/smb/sesssetup.c req->smb_conn->negotiate.max_send = sess->spnego.in.bufsize; smb_conn 356 source4/smb_server/smb/sesssetup.c req->smb_conn->negotiate.client_caps = sess->spnego.in.capabilities; smb_conn 362 source4/smb_server/smb/sesssetup.c smb_sess = smbsrv_session_find_sesssetup(req->smb_conn, vuid); smb_conn 367 source4/smb_server/smb/sesssetup.c req->smb_conn->connection->event.ctx, smb_conn 368 source4/smb_server/smb/sesssetup.c req->smb_conn->connection->msg_ctx, smb_conn 369 source4/smb_server/smb/sesssetup.c req->smb_conn->lp_ctx, smb_conn 370 source4/smb_server/smb/sesssetup.c req->smb_conn->negotiate.server_credentials, smb_conn 380 source4/smb_server/smb/sesssetup.c status = gensec_start_mech_by_oid(gensec_ctx, req->smb_conn->negotiate.oid); smb_conn 383 source4/smb_server/smb/sesssetup.c gensec_get_name_by_oid(gensec_ctx, req->smb_conn->negotiate.oid), nt_errstr(status))); smb_conn 388 source4/smb_server/smb/sesssetup.c smb_sess = smbsrv_session_new(req->smb_conn, req->smb_conn, gensec_ctx); smb_conn 38 source4/smb_server/smb/signing.c switch (req->smb_conn->signing.signing_state) { smb_conn 54 source4/smb_server/smb/signing.c &req->smb_conn->signing.mac_key, smb_conn 67 source4/smb_server/smb/signing.c bool smbsrv_setup_signing(struct smbsrv_connection *smb_conn, smb_conn 71 source4/smb_server/smb/signing.c if (!set_smb_signing_common(&smb_conn->signing)) { smb_conn 74 source4/smb_server/smb/signing.c return smbcli_simple_set_signing(smb_conn, smb_conn 75 source4/smb_server/smb/signing.c &smb_conn->signing, session_key, response); smb_conn 78 source4/smb_server/smb/signing.c bool smbsrv_init_signing(struct smbsrv_connection *smb_conn) smb_conn 80 source4/smb_server/smb/signing.c smb_conn->signing.mac_key = data_blob(NULL, 0); smb_conn 81 source4/smb_server/smb/signing.c if (!smbcli_set_signing_off(&smb_conn->signing)) { smb_conn 85 source4/smb_server/smb/signing.c switch (lp_server_signing(smb_conn->lp_ctx)) { smb_conn 87 source4/smb_server/smb/signing.c smb_conn->signing.allow_smb_signing = false; smb_conn 90 source4/smb_server/smb/signing.c smb_conn->signing.allow_smb_signing = true; smb_conn 93 source4/smb_server/smb/signing.c smb_conn->signing.allow_smb_signing = true; smb_conn 94 source4/smb_server/smb/signing.c smb_conn->signing.mandatory_signing = true; smb_conn 102 source4/smb_server/smb/signing.c if (lp_server_role(smb_conn->lp_ctx) == ROLE_DOMAIN_CONTROLLER) { smb_conn 103 source4/smb_server/smb/signing.c smb_conn->signing.allow_smb_signing = true; smb_conn 104 source4/smb_server/smb/signing.c smb_conn->signing.mandatory_signing = true; smb_conn 110 source4/smb_server/smb/signing.c smb_conn->signing.allow_smb_signing = false; smb_conn 122 source4/smb_server/smb/signing.c req->seq_num = req->smb_conn->signing.next_seq_num; smb_conn 124 source4/smb_server/smb/signing.c if (req->smb_conn->signing.signing_state != SMB_SIGNING_ENGINE_OFF) { smb_conn 125 source4/smb_server/smb/signing.c req->smb_conn->signing.next_seq_num += 2; smb_conn 134 source4/smb_server/smb/signing.c if (req->smb_conn->signing.signing_state != SMB_SIGNING_ENGINE_OFF) { smb_conn 135 source4/smb_server/smb/signing.c req->smb_conn->signing.next_seq_num--; smb_conn 153 source4/smb_server/smb/signing.c switch (req->smb_conn->signing.signing_state) smb_conn 164 source4/smb_server/smb/signing.c &req->smb_conn->signing.mac_key, smb_conn 167 source4/smb_server/smb/signing.c return signing_good(&req->smb_conn->signing, smb_conn 83 source4/smb_server/smb/trans2.c static NTSTATUS trans2_push_fsinfo(struct smbsrv_connection *smb_conn, smb_conn 155 source4/smb_server/smb/trans2.c TRANS2_CHECK(trans2_push_fsinfo(req->smb_conn, trans, smb_conn 209 source4/smb_server/smb/trans2.c srv_push_dos_date3(req->smb_conn, trans->out.params.data, smb_conn 244 source4/smb_server/smb/trans2.c io->t2open.in.write_time = srv_pull_dos_date(req->smb_conn, smb_conn 315 source4/smb_server/smb/trans2.c static NTSTATUS trans2_push_fileinfo(struct smbsrv_connection *smb_conn, smb_conn 342 source4/smb_server/smb/trans2.c srv_push_dos_date2(smb_conn, blob->data, 0, st->standard.out.create_time); smb_conn 343 source4/smb_server/smb/trans2.c srv_push_dos_date2(smb_conn, blob->data, 4, st->standard.out.access_time); smb_conn 344 source4/smb_server/smb/trans2.c srv_push_dos_date2(smb_conn, blob->data, 8, st->standard.out.write_time); smb_conn 353 source4/smb_server/smb/trans2.c srv_push_dos_date2(smb_conn, blob->data, 0, st->ea_size.out.create_time); smb_conn 354 source4/smb_server/smb/trans2.c srv_push_dos_date2(smb_conn, blob->data, 4, st->ea_size.out.access_time); smb_conn 355 source4/smb_server/smb/trans2.c srv_push_dos_date2(smb_conn, blob->data, 8, st->ea_size.out.write_time); smb_conn 439 source4/smb_server/smb/trans2.c TRANS2_CHECK(trans2_push_fileinfo(req->smb_conn, trans, smb_conn 551 source4/smb_server/smb/trans2.c st->standard.in.create_time = srv_pull_dos_date2(req->smb_conn, blob->data + 0); smb_conn 552 source4/smb_server/smb/trans2.c st->standard.in.access_time = srv_pull_dos_date2(req->smb_conn, blob->data + 4); smb_conn 553 source4/smb_server/smb/trans2.c st->standard.in.write_time = srv_pull_dos_date2(req->smb_conn, blob->data + 8); smb_conn 729 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 0, file->standard.create_time); smb_conn 730 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 4, file->standard.access_time); smb_conn 731 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 8, file->standard.write_time); smb_conn 749 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 0, file->ea_size.create_time); smb_conn 750 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 4, file->ea_size.access_time); smb_conn 751 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 8, file->ea_size.write_time); smb_conn 772 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 0, file->ea_list.create_time); smb_conn 773 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 4, file->ea_list.access_time); smb_conn 774 source4/smb_server/smb/trans2.c srv_push_dos_date2(req->smb_conn, data, 8, file->ea_list.write_time); smb_conn 1041 source4/smb_server/smb/trans2.c DLIST_REMOVE(tp->req->smb_conn->trans_partial, tp); smb_conn 1057 source4/smb_server/smb/trans2.c for (count=0,tp=req->smb_conn->trans_partial;tp;tp=tp->next) count++; smb_conn 1069 source4/smb_server/smb/trans2.c DLIST_ADD(req->smb_conn->trans_partial, tp); smb_conn 1313 source4/smb_server/smb/trans2.c for (tp=req->smb_conn->trans_partial;tp;tp=tp->next) { smb_conn 43 source4/smb_server/smb2/keepalive.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 46 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, "Failed to init server credentials\n"); smb_conn 50 source4/smb_server/smb2/negprot.c cli_credentials_set_conf(server_credentials, req->smb_conn->lp_ctx); smb_conn 51 source4/smb_server/smb2/negprot.c nt_status = cli_credentials_set_machine_account(server_credentials, req->smb_conn->lp_ctx); smb_conn 58 source4/smb_server/smb2/negprot.c req->smb_conn->negotiate.server_credentials = talloc_steal(req->smb_conn, server_credentials); smb_conn 61 source4/smb_server/smb2/negprot.c req->smb_conn->connection->event.ctx, smb_conn 62 source4/smb_server/smb2/negprot.c req->smb_conn->connection->msg_ctx, smb_conn 63 source4/smb_server/smb2/negprot.c req->smb_conn->lp_ctx, smb_conn 69 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, "Failed to start GENSEC\n"); smb_conn 80 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, "Failed to start SPNEGO\n"); smb_conn 87 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, "Failed to start SPNEGO - no first token\n"); smb_conn 111 source4/smb_server/smb2/negprot.c req->smb_conn->negotiate.protocol = PROTOCOL_SMB2; smb_conn 117 source4/smb_server/smb2/negprot.c switch (lp_server_signing(req->smb_conn->lp_ctx)) { smb_conn 128 source4/smb_server/smb2/negprot.c req->smb_conn->smb2_signing_required = true; smb_conn 133 source4/smb_server/smb2/negprot.c io->out.max_transact_size = lp_parm_ulong(req->smb_conn->lp_ctx, NULL, smb_conn 135 source4/smb_server/smb2/negprot.c io->out.max_read_size = lp_parm_ulong(req->smb_conn->lp_ctx, NULL, smb_conn 137 source4/smb_server/smb2/negprot.c io->out.max_write_size = lp_parm_ulong(req->smb_conn->lp_ctx, NULL, smb_conn 160 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 170 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 183 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 198 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, "Bad body size in SMB2 negprot"); smb_conn 204 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(NT_STATUS_NO_MEMORY)); smb_conn 215 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, "Bad GUID in SMB2 negprot"); smb_conn 223 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(NT_STATUS_NO_MEMORY)); smb_conn 248 source4/smb_server/smb2/negprot.c req = talloc_zero(smb_req->smb_conn, struct smb2srv_request); smb_conn 250 source4/smb_server/smb2/negprot.c req->smb_conn = smb_req->smb_conn; smb_conn 289 source4/smb_server/smb2/negprot.c smbsrv_terminate_connection(smb_req->smb_conn, nt_errstr(NT_STATUS_NO_MEMORY)); smb_conn 53 source4/smb_server/smb2/receive.c DLIST_REMOVE(req->smb_conn->requests2.list, req); smb_conn 55 source4/smb_server/smb2/receive.c idr_remove(req->smb_conn->requests2.idtree_req, req->pending_id); smb_conn 65 source4/smb_server/smb2/receive.c struct smb2srv_request *smb2srv_init_request(struct smbsrv_connection *smb_conn) smb_conn 69 source4/smb_server/smb2/receive.c req = talloc_zero(smb_conn, struct smb2srv_request); smb_conn 72 source4/smb_server/smb2/receive.c req->smb_conn = smb_conn; smb_conn 159 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(p_req->smb_conn, "Invalid SMB2 chained packet"); smb_conn 167 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(p_req->smb_conn, "NON-SMB2 chained packet"); smb_conn 171 source4/smb_server/smb2/receive.c req = smb2srv_init_request(p_req->smb_conn); smb_conn 173 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(p_req->smb_conn, "SMB2 chained packet - no memory"); smb_conn 194 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, "Bad body size in SMB2 negprot"); smb_conn 230 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 241 source4/smb_server/smb2/receive.c if (req->smb_conn->connection->event.fde == NULL) { smb_conn 256 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 263 source4/smb_server/smb2/receive.c status = packet_send(req->smb_conn->packet, blob); smb_conn 265 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 278 source4/smb_server/smb2/receive.c if (req->smb_conn->connection->event.fde == NULL) { smb_conn 286 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 307 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, "Invalid SMB2 header length"); smb_conn 317 source4/smb_server/smb2/receive.c if (req->smb_conn->highest_smb2_seqnum != 0 && smb_conn 318 source4/smb_server/smb2/receive.c req->seqnum <= req->smb_conn->highest_smb2_seqnum) { smb_conn 319 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, "Invalid SMB2 sequence number"); smb_conn 322 source4/smb_server/smb2/receive.c req->smb_conn->highest_smb2_seqnum = req->seqnum; smb_conn 324 source4/smb_server/smb2/receive.c req->session = smbsrv_session_find(req->smb_conn, uid, req->request_time); smb_conn 441 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, "Invalid SMB2 opcode"); smb_conn 454 source4/smb_server/smb2/receive.c struct smbsrv_connection *smb_conn = talloc_get_type(private_data, struct smbsrv_connection); smb_conn 461 source4/smb_server/smb2/receive.c smb_conn->statistics.last_request_time = cur_time; smb_conn 466 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(smb_conn, "Special NBT packet on SMB2 connection"); smb_conn 472 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(smb_conn, "Invalid SMB2 packet"); smb_conn 480 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(smb_conn, "NON-SMB2 packet"); smb_conn 484 source4/smb_server/smb2/receive.c req = smb2srv_init_request(smb_conn); smb_conn 504 source4/smb_server/smb2/receive.c smbsrv_terminate_connection(req->smb_conn, "Bad body size in SMB2 negprot"); smb_conn 534 source4/smb_server/smb2/receive.c static NTSTATUS smb2srv_init_pending(struct smbsrv_connection *smb_conn) smb_conn 536 source4/smb_server/smb2/receive.c smb_conn->requests2.idtree_req = idr_init(smb_conn); smb_conn 537 source4/smb_server/smb2/receive.c NT_STATUS_HAVE_NO_MEMORY(smb_conn->requests2.idtree_req); smb_conn 538 source4/smb_server/smb2/receive.c smb_conn->requests2.idtree_limit = 0x00FFFFFF & (UINT32_MAX - 1); smb_conn 539 source4/smb_server/smb2/receive.c smb_conn->requests2.list = NULL; smb_conn 554 source4/smb_server/smb2/receive.c id = idr_get_new_above(req->smb_conn->requests2.idtree_req, req, smb_conn 555 source4/smb_server/smb2/receive.c 1, req->smb_conn->requests2.idtree_limit); smb_conn 560 source4/smb_server/smb2/receive.c DLIST_ADD_END(req->smb_conn->requests2.list, req, struct smb2srv_request *); smb_conn 563 source4/smb_server/smb2/receive.c if (req->smb_conn->connection->event.fde == NULL) { smb_conn 612 source4/smb_server/smb2/receive.c p = idr_find(req->smb_conn->requests2.idtree_req, pending_id); smb_conn 630 source4/smb_server/smb2/receive.c NTSTATUS smbsrv_init_smb2_connection(struct smbsrv_connection *smb_conn) smb_conn 635 source4/smb_server/smb2/receive.c smb_conn->negotiate.max_send = 0xFFFF; smb_conn 639 source4/smb_server/smb2/receive.c smb_conn->negotiate.max_recv = lp_max_xmit(smb_conn->lp_ctx); smb_conn 641 source4/smb_server/smb2/receive.c smb_conn->negotiate.zone_offset = get_time_zone(time(NULL)); smb_conn 643 source4/smb_server/smb2/receive.c smb_conn->config.security = SEC_USER; smb_conn 644 source4/smb_server/smb2/receive.c smb_conn->config.nt_status_support = true; smb_conn 646 source4/smb_server/smb2/receive.c status = smbsrv_init_sessions(smb_conn, UINT64_MAX); smb_conn 649 source4/smb_server/smb2/receive.c status = smb2srv_init_pending(smb_conn); smb_conn 128 source4/smb_server/smb2/sesssetup.c req->smb_conn->connection->event.ctx, smb_conn 129 source4/smb_server/smb2/sesssetup.c req->smb_conn->connection->msg_ctx, smb_conn 130 source4/smb_server/smb2/sesssetup.c req->smb_conn->lp_ctx, smb_conn 131 source4/smb_server/smb2/sesssetup.c req->smb_conn->negotiate.server_credentials, smb_conn 148 source4/smb_server/smb2/sesssetup.c smb_sess = smbsrv_session_new(req->smb_conn, req->smb_conn, gensec_ctx); smb_conn 159 source4/smb_server/smb2/sesssetup.c smb_sess = smbsrv_session_find_sesssetup(req->smb_conn, vuid); smb_conn 188 source4/smb_server/smb2/sesssetup.c } else if (req->smb_conn->smb2_signing_required) { smb_conn 27 source4/smb_server/smb2/smb2_server.h struct smbsrv_connection *smb_conn; smb_conn 157 source4/smb_server/smb2/smb2_server.h smbsrv_terminate_connection(req->smb_conn, get_friendly_nt_error_msg (ntvfs->async_states->status)); \ smb_conn 174 source4/smb_server/smb2/smb2_server.h smbsrv_terminate_connection(req->smb_conn, get_friendly_nt_error_msg (ntvfs->async_states->status)); \ smb_conn 42 source4/smb_server/smb2/tcon.c req = smb2srv_init_request(handle->tcon->smb_conn); smb_conn 257 source4/smb_server/smb2/tcon.c status = share_get_config(req, req->smb_conn->share_context, service, &scfg); smb_conn 263 source4/smb_server/smb2/tcon.c if (!socket_check_access(req->smb_conn->connection->socket, smb_conn 291 source4/smb_server/smb2/tcon.c req->smb_conn->negotiate.protocol, smb_conn 293 source4/smb_server/smb2/tcon.c req->smb_conn->connection->event.ctx, smb_conn 294 source4/smb_server/smb2/tcon.c req->smb_conn->connection->msg_ctx, smb_conn 295 source4/smb_server/smb2/tcon.c req->smb_conn->lp_ctx, smb_conn 296 source4/smb_server/smb2/tcon.c req->smb_conn->connection->server_id, smb_conn 310 source4/smb_server/smb2/tcon.c status = ntvfs_set_addr_callbacks(tcon->ntvfs, smbsrv_get_my_addr, smbsrv_get_peer_addr, req->smb_conn); smb_conn 434 source4/smb_server/smb2/tcon.c smbsrv_terminate_connection(req->smb_conn, nt_errstr(status)); smb_conn 40 source4/smb_server/smb_server.c struct smbsrv_connection *smb_conn = talloc_get_type(private_data, struct smbsrv_connection); smb_conn 45 source4/smb_server/smb_server.c status = smbsrv_init_smb_connection(smb_conn, smb_conn->lp_ctx); smb_conn 47 source4/smb_server/smb_server.c packet_set_callback(smb_conn->packet, smbsrv_recv_smb_request); smb_conn 48 source4/smb_server/smb_server.c return smbsrv_recv_smb_request(smb_conn, blob); smb_conn 53 source4/smb_server/smb_server.c smbsrv_terminate_connection(smb_conn, "Invalid SMB packet"); smb_conn 61 source4/smb_server/smb_server.c status = smbsrv_init_smb_connection(smb_conn, smb_conn->lp_ctx); smb_conn 63 source4/smb_server/smb_server.c packet_set_callback(smb_conn->packet, smbsrv_recv_smb_request); smb_conn 64 source4/smb_server/smb_server.c return smbsrv_recv_smb_request(smb_conn, blob); smb_conn 66 source4/smb_server/smb_server.c if (lp_srv_maxprotocol(smb_conn->lp_ctx) < PROTOCOL_SMB2) break; smb_conn 67 source4/smb_server/smb_server.c status = smbsrv_init_smb2_connection(smb_conn); smb_conn 69 source4/smb_server/smb_server.c packet_set_callback(smb_conn->packet, smbsrv_recv_smb2_request); smb_conn 70 source4/smb_server/smb_server.c return smbsrv_recv_smb2_request(smb_conn, blob); smb_conn 74 source4/smb_server/smb_server.c smbsrv_terminate_connection(smb_conn, "NON-SMB packet"); smb_conn 81 source4/smb_server/smb_server.c void smbsrv_terminate_connection(struct smbsrv_connection *smb_conn, const char *reason) smb_conn 83 source4/smb_server/smb_server.c stream_terminate_connection(smb_conn->connection, reason); smb_conn 91 source4/smb_server/smb_server.c struct smbsrv_connection *smb_conn = talloc_get_type(conn->private_data, smb_conn 96 source4/smb_server/smb_server.c packet_recv(smb_conn->packet); smb_conn 104 source4/smb_server/smb_server.c struct smbsrv_connection *smb_conn = talloc_get_type(conn->private_data, smb_conn 106 source4/smb_server/smb_server.c packet_queue_run(smb_conn->packet); smb_conn 114 source4/smb_server/smb_server.c struct smbsrv_connection *smb_conn = talloc_get_type(private_data, struct smbsrv_connection); smb_conn 116 source4/smb_server/smb_server.c smbsrv_terminate_connection(smb_conn, nt_errstr(status)); smb_conn 125 source4/smb_server/smb_server.c struct smbsrv_connection *smb_conn; smb_conn 129 source4/smb_server/smb_server.c smb_conn = talloc_zero(conn, struct smbsrv_connection); smb_conn 130 source4/smb_server/smb_server.c if (!smb_conn) { smb_conn 135 source4/smb_server/smb_server.c smb_conn->packet = packet_init(smb_conn); smb_conn 136 source4/smb_server/smb_server.c if (!smb_conn->packet) { smb_conn 137 source4/smb_server/smb_server.c smbsrv_terminate_connection(smb_conn, "out of memory"); smb_conn 140 source4/smb_server/smb_server.c packet_set_private(smb_conn->packet, smb_conn); smb_conn 141 source4/smb_server/smb_server.c packet_set_socket(smb_conn->packet, conn->socket); smb_conn 142 source4/smb_server/smb_server.c packet_set_callback(smb_conn->packet, smbsrv_recv_generic_request); smb_conn 143 source4/smb_server/smb_server.c packet_set_full_request(smb_conn->packet, packet_full_request_nbt); smb_conn 144 source4/smb_server/smb_server.c packet_set_error_handler(smb_conn->packet, smbsrv_recv_error); smb_conn 145 source4/smb_server/smb_server.c packet_set_event_context(smb_conn->packet, conn->event.ctx); smb_conn 146 source4/smb_server/smb_server.c packet_set_fde(smb_conn->packet, conn->event.fde); smb_conn 147 source4/smb_server/smb_server.c packet_set_serialise(smb_conn->packet); smb_conn 149 source4/smb_server/smb_server.c smb_conn->lp_ctx = conn->lp_ctx; smb_conn 150 source4/smb_server/smb_server.c smb_conn->connection = conn; smb_conn 151 source4/smb_server/smb_server.c conn->private_data = smb_conn; smb_conn 153 source4/smb_server/smb_server.c smb_conn->statistics.connect_time = timeval_current(); smb_conn 155 source4/smb_server/smb_server.c smbsrv_management_init(smb_conn); smb_conn 159 source4/smb_server/smb_server.c if (!NT_STATUS_IS_OK(share_get_context_by_name(smb_conn, lp_share_backend(smb_conn->lp_ctx), smb_conn 160 source4/smb_server/smb_server.c smb_conn->connection->event.ctx, smb_conn 161 source4/smb_server/smb_server.c smb_conn->lp_ctx, &(smb_conn->share_context)))) { smb_conn 162 source4/smb_server/smb_server.c smbsrv_terminate_connection(smb_conn, "share_init failed!"); smb_conn 79 source4/smb_server/smb_server.h struct smbsrv_connection *smb_conn; smb_conn 128 source4/smb_server/smb_server.h struct smbsrv_connection *smb_conn; smb_conn 228 source4/smb_server/smb_server.h struct smbsrv_connection *smb_conn; smb_conn 478 source4/smb_server/smb_server.h DLIST_ADD_END(req->smb_conn->requests, req, struct smbsrv_request *); \ smb_conn 488 source4/smb_server/smb_server.h smbsrv_terminate_connection(req->smb_conn, get_friendly_nt_error_msg (ntvfs->async_states->status)); \ smb_conn 504 source4/smb_server/smb_server.h smbsrv_terminate_connection(req->smb_conn, get_friendly_nt_error_msg (ntvfs->async_states->status)); \ smb_conn 30 source4/smb_server/tcon.c struct smbsrv_connection *smb_conn = talloc_get_type(p, smb_conn 33 source4/smb_server/tcon.c return socket_get_my_addr(smb_conn->connection->socket, mem_ctx); smb_conn 38 source4/smb_server/tcon.c struct smbsrv_connection *smb_conn = talloc_get_type(p, smb_conn 41 source4/smb_server/tcon.c return socket_get_peer_addr(smb_conn->connection->socket, mem_ctx); smb_conn 63 source4/smb_server/tcon.c NTSTATUS smbsrv_smb_init_tcons(struct smbsrv_connection *smb_conn) smb_conn 65 source4/smb_server/tcon.c return smbsrv_init_tcons(&smb_conn->smb_tcons, smb_conn, UINT16_MAX); smb_conn 97 source4/smb_server/tcon.c struct smbsrv_tcon *smbsrv_smb_tcon_find(struct smbsrv_connection *smb_conn, smb_conn 100 source4/smb_server/tcon.c return smbsrv_tcon_find(&smb_conn->smb_tcons, tid, request_time); smb_conn 118 source4/smb_server/tcon.c client_addr = socket_get_peer_addr(tcon->smb_conn->connection->socket, tcon); smb_conn 132 source4/smb_server/tcon.c tcons_ctx = &tcon->smb_conn->smb_tcons; smb_conn 143 source4/smb_server/tcon.c static struct smbsrv_tcon *smbsrv_tcon_new(struct smbsrv_connection *smb_conn, smb_conn 159 source4/smb_server/tcon.c mem_ctx = smb_conn; smb_conn 160 source4/smb_server/tcon.c tcons_ctx = &smb_conn->smb_tcons; smb_conn 166 source4/smb_server/tcon.c tcon->smb_conn = smb_conn; smb_conn 201 source4/smb_server/tcon.c struct smbsrv_tcon *smbsrv_smb_tcon_new(struct smbsrv_connection *smb_conn, const char *share_name) smb_conn 203 source4/smb_server/tcon.c return smbsrv_tcon_new(smb_conn, NULL, share_name); smb_conn 208 source4/smb_server/tcon.c return smbsrv_tcon_new(smb_sess->smb_conn, smb_sess, share_name);