Changeset 233 for branches/samba-3.2.x/source/rpc_server
- Timestamp:
- May 27, 2009, 11:39:15 AM (16 years ago)
- Location:
- branches/samba-3.2.x/source/rpc_server
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.2.x/source/rpc_server/srv_lsa_nt.c
r228 r233 831 831 &mapped_count); 832 832 833 if (NT_STATUS_IS_ERR(status)) { 834 return status; 835 } 836 833 837 /* Convert from lsa_TranslatedName2 to lsa_TranslatedName */ 834 838 names_out = TALLOC_ARRAY(p->mem_ctx, struct lsa_TranslatedName, -
branches/samba-3.2.x/source/rpc_server/srv_netlog_nt.c
r136 r233 475 475 struct netr_Credential srv_chal_out; 476 476 477 /* According to Microsoft (see bugid #6099) 478 * Windows 7 looks at the negotiate_flags 479 * returned in this structure *even if the 480 * call fails with access denied ! So in order 481 * to allow Win7 to connect to a Samba NT style 482 * PDC we set the flags before we know if it's 483 * an error or not. 484 */ 485 486 /* 0x000001ff */ 487 srv_flgs = NETLOGON_NEG_ACCOUNT_LOCKOUT | 488 NETLOGON_NEG_PERSISTENT_SAMREPL | 489 NETLOGON_NEG_ARCFOUR | 490 NETLOGON_NEG_PROMOTION_COUNT | 491 NETLOGON_NEG_CHANGELOG_BDC | 492 NETLOGON_NEG_FULL_SYNC_REPL | 493 NETLOGON_NEG_MULTIPLE_SIDS | 494 NETLOGON_NEG_REDO | 495 NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL; 496 497 if (lp_server_schannel() != false) { 498 srv_flgs |= NETLOGON_NEG_SCHANNEL; 499 } 500 501 *r->out.negotiate_flags = srv_flgs; 502 477 503 /* We use this as the key to store the creds: */ 478 504 /* r->in.computer_name */ … … 522 548 } 523 549 524 srv_flgs = 0x000001ff;525 526 if (lp_server_schannel() != false) {527 srv_flgs |= NETLOGON_NEG_SCHANNEL;528 }529 530 550 /* set up the LSA AUTH 2 response */ 531 551 memcpy(r->out.return_credentials->data, &srv_chal_out.data, 532 552 sizeof(r->out.return_credentials->data)); 533 *r->out.negotiate_flags = srv_flgs;534 553 535 554 fstrcpy(p->dc->mach_acct, r->in.account_name); … … 683 702 684 703 memcpy(r->out.return_authenticator, &cred_out, 685 sizeof( r->out.return_authenticator));704 sizeof(*(r->out.return_authenticator))); 686 705 687 706 TALLOC_FREE(sampass); … … 1343 1362 ****************************************************************/ 1344 1363 1345 WERROR _netr_NETRLOGONDUMMYROUTINE1(pipes_struct *p, 1346 struct netr_NETRLOGONDUMMYROUTINE1 *r) 1347 { 1348 p->rng_fault_state = true; 1349 return WERR_NOT_SUPPORTED; 1364 NTSTATUS _netr_LogonGetCapabilities(pipes_struct *p, 1365 struct netr_LogonGetCapabilities *r) 1366 { 1367 return NT_STATUS_NOT_IMPLEMENTED; 1350 1368 } 1351 1369 -
branches/samba-3.2.x/source/rpc_server/srv_pipe.c
r133 r233 2102 2102 auth_len = p->hdr.auth_len; 2103 2103 2104 if (auth_len != RPC_AUTH_SCHANNEL_SIGN_OR_SEAL_CHK_LEN) { 2104 if (auth_len < RPC_AUTH_SCHANNEL_SIGN_OR_SEAL_CHK_LEN || 2105 auth_len > RPC_HEADER_LEN + 2106 RPC_HDR_REQ_LEN + 2107 RPC_HDR_AUTH_LEN + 2108 auth_len) { 2105 2109 DEBUG(0,("Incorrect auth_len %u.\n", (unsigned int)auth_len )); 2106 2110 return False; -
branches/samba-3.2.x/source/rpc_server/srv_pipe_hnd.c
r133 r233 602 602 */ 603 603 604 if(prs_offset(&p->in_data.data) + data_len > 15*1024*1024) {604 if(prs_offset(&p->in_data.data) + data_len > MAX_RPC_DATA_SIZE) { 605 605 DEBUG(0,("process_request_pdu: rpc data buffer too large (%u) + (%u)\n", 606 606 (unsigned int)prs_data_size(&p->in_data.data), (unsigned int)data_len )); -
branches/samba-3.2.x/source/rpc_server/srv_samr_nt.c
r232 r233 1178 1178 *r->out.sam = samr_array; 1179 1179 *r->out.num_entries = num_groups; 1180 /* this was missing, IMHO:1181 1180 *r->out.resume_handle = num_groups + *r->in.resume_handle; 1182 */1183 1181 1184 1182 DEBUG(5,("_samr_EnumDomainGroups: %d\n", __LINE__)); -
branches/samba-3.2.x/source/rpc_server/srv_spoolss_nt.c
r149 r233 4730 4730 } 4731 4731 4732 if (offered > MAX_RPC_DATA_SIZE) { 4733 return WERR_INVALID_PARAM; 4734 } 4735 4732 4736 rpcbuf_move(q_u->buffer, &r_u->buffer); 4733 4737 buffer = r_u->buffer; … … 5084 5088 5085 5089 if (!q_u->buffer && (offered!=0)) { 5090 return WERR_INVALID_PARAM; 5091 } 5092 5093 if (offered > MAX_RPC_DATA_SIZE) { 5086 5094 return WERR_INVALID_PARAM; 5087 5095 } … … 5745 5753 5746 5754 if (!q_u->buffer && (offered!=0)) { 5755 return WERR_INVALID_PARAM; 5756 } 5757 5758 if (offered > MAX_RPC_DATA_SIZE) { 5747 5759 return WERR_INVALID_PARAM; 5748 5760 } … … 6821 6833 } 6822 6834 6835 if (offered > MAX_RPC_DATA_SIZE) { 6836 return WERR_INVALID_PARAM; 6837 } 6838 6823 6839 rpcbuf_move(q_u->buffer, &r_u->buffer); 6824 6840 buffer = r_u->buffer; … … 7197 7213 } 7198 7214 7215 if (offered > MAX_RPC_DATA_SIZE) { 7216 return WERR_INVALID_PARAM; 7217 } 7218 7199 7219 rpcbuf_move(q_u->buffer, &r_u->buffer); 7200 7220 buffer = r_u->buffer; … … 7264 7284 } 7265 7285 7286 if (offered > MAX_RPC_DATA_SIZE) { 7287 return WERR_INVALID_PARAM; 7288 } 7289 7266 7290 rpcbuf_move(q_u->buffer, &r_u->buffer); 7267 7291 buffer = r_u->buffer; … … 7669 7693 7670 7694 if (!q_u->buffer && (offered!=0)) { 7695 return WERR_INVALID_PARAM; 7696 } 7697 7698 if (offered > MAX_RPC_DATA_SIZE) { 7671 7699 return WERR_INVALID_PARAM; 7672 7700 } … … 8081 8109 } 8082 8110 8111 if (offered > MAX_RPC_DATA_SIZE) { 8112 return WERR_INVALID_PARAM; 8113 } 8114 8083 8115 rpcbuf_move(q_u->buffer, &r_u->buffer); 8084 8116 buffer = r_u->buffer; … … 8708 8740 } 8709 8741 8742 if (offered > MAX_RPC_DATA_SIZE) { 8743 return WERR_INVALID_PARAM; 8744 } 8745 8710 8746 rpcbuf_move(q_u->buffer, &r_u->buffer); 8711 8747 buffer = r_u->buffer; … … 8787 8823 } 8788 8824 8825 if (offered > MAX_RPC_DATA_SIZE) { 8826 return WERR_INVALID_PARAM; 8827 } 8828 8789 8829 rpcbuf_move(q_u->buffer, &r_u->buffer); 8790 8830 buffer = r_u->buffer; … … 8912 8952 8913 8953 if (!q_u->buffer && (offered!=0)) { 8954 return WERR_INVALID_PARAM; 8955 } 8956 8957 if (offered > MAX_RPC_DATA_SIZE) { 8914 8958 return WERR_INVALID_PARAM; 8915 8959 } … … 9088 9132 9089 9133 if (!q_u->buffer && (offered!=0)) { 9134 return WERR_INVALID_PARAM; 9135 } 9136 9137 if (offered > MAX_RPC_DATA_SIZE) { 9090 9138 return WERR_INVALID_PARAM; 9091 9139 } … … 9732 9780 } 9733 9781 9782 if (offered > MAX_RPC_DATA_SIZE) { 9783 return WERR_INVALID_PARAM; 9784 } 9785 9734 9786 rpcbuf_move(q_u->buffer, &r_u->buffer); 9735 9787 buffer = r_u->buffer; -
branches/samba-3.2.x/source/rpc_server/srv_srvsvc_nt.c
r228 r233 2329 2329 /*allow one struct srvsvc_NetDiskInfo0 for null terminator*/ 2330 2330 2331 r->out.info->count = 0; 2332 2331 2333 for(i = 0; i < MAX_SERVER_DISK_ENTRIES -1 && (disk_name = next_server_disk_enum(&resume)); i++) { 2332 2334
Note:
See TracChangeset
for help on using the changeset viewer.