Changeset 919 for vendor/current/source3/rpc_server
- Timestamp:
- Jun 9, 2016, 2:17:22 PM (9 years ago)
- Location:
- vendor/current/source3/rpc_server
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/rpc_server/dfs/srv_dfs_nt.c
r917 r919 412 412 { 413 413 /* FIXME: Implement your code here */ 414 p-> rng_fault_state = True;414 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 415 415 return WERR_NOT_SUPPORTED; 416 416 } … … 419 419 { 420 420 /* FIXME: Implement your code here */ 421 p-> rng_fault_state = True;421 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 422 422 return WERR_NOT_SUPPORTED; 423 423 } … … 426 426 { 427 427 /* FIXME: Implement your code here */ 428 p-> rng_fault_state = True;428 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 429 429 return WERR_NOT_SUPPORTED; 430 430 } … … 433 433 { 434 434 /* FIXME: Implement your code here */ 435 p-> rng_fault_state = True;435 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 436 436 return WERR_NOT_SUPPORTED; 437 437 } … … 440 440 { 441 441 /* FIXME: Implement your code here */ 442 p-> rng_fault_state = True;442 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 443 443 return WERR_NOT_SUPPORTED; 444 444 } … … 447 447 { 448 448 /* FIXME: Implement your code here */ 449 p-> rng_fault_state = True;449 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 450 450 return WERR_NOT_SUPPORTED; 451 451 } … … 454 454 { 455 455 /* FIXME: Implement your code here */ 456 p-> rng_fault_state = True;456 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 457 457 return WERR_NOT_SUPPORTED; 458 458 } … … 461 461 { 462 462 /* FIXME: Implement your code here */ 463 p-> rng_fault_state = True;463 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 464 464 return WERR_NOT_SUPPORTED; 465 465 } … … 468 468 { 469 469 /* FIXME: Implement your code here */ 470 p-> rng_fault_state = True;470 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 471 471 return WERR_NOT_SUPPORTED; 472 472 } … … 475 475 { 476 476 /* FIXME: Implement your code here */ 477 p-> rng_fault_state = True;477 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 478 478 return WERR_NOT_SUPPORTED; 479 479 } … … 482 482 { 483 483 /* FIXME: Implement your code here */ 484 p-> rng_fault_state = True;484 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 485 485 return WERR_NOT_SUPPORTED; 486 486 } … … 489 489 { 490 490 /* FIXME: Implement your code here */ 491 p-> rng_fault_state = True;491 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 492 492 return WERR_NOT_SUPPORTED; 493 493 } … … 496 496 { 497 497 /* FIXME: Implement your code here */ 498 p-> rng_fault_state = True;498 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 499 499 return WERR_NOT_SUPPORTED; 500 500 } … … 503 503 { 504 504 /* FIXME: Implement your code here */ 505 p-> rng_fault_state = True;505 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 506 506 return WERR_NOT_SUPPORTED; 507 507 } … … 510 510 { 511 511 /* FIXME: Implement your code here */ 512 p-> rng_fault_state = True;512 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 513 513 return WERR_NOT_SUPPORTED; 514 514 } … … 517 517 { 518 518 /* FIXME: Implement your code here */ 519 p-> rng_fault_state = True;519 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 520 520 return WERR_NOT_SUPPORTED; 521 521 } … … 524 524 { 525 525 /* FIXME: Implement your code here */ 526 p-> rng_fault_state = True;526 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 527 527 return WERR_NOT_SUPPORTED; 528 528 } … … 531 531 { 532 532 /* FIXME: Implement your code here */ 533 p-> rng_fault_state = True;534 return WERR_NOT_SUPPORTED; 535 } 533 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 534 return WERR_NOT_SUPPORTED; 535 } -
vendor/current/source3/rpc_server/dssetup/srv_dssetup_nt.c
r917 r919 131 131 struct dssetup_DsRoleDnsNameToFlatName *r) 132 132 { 133 p-> rng_fault_state = true;133 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 134 134 return WERR_NOT_SUPPORTED; 135 135 } … … 141 141 struct dssetup_DsRoleDcAsDc *r) 142 142 { 143 p-> rng_fault_state = true;143 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 144 144 return WERR_NOT_SUPPORTED; 145 145 } … … 151 151 struct dssetup_DsRoleDcAsReplica *r) 152 152 { 153 p-> rng_fault_state = true;153 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 154 154 return WERR_NOT_SUPPORTED; 155 155 } … … 161 161 struct dssetup_DsRoleDemoteDc *r) 162 162 { 163 p-> rng_fault_state = true;163 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 164 164 return WERR_NOT_SUPPORTED; 165 165 } … … 171 171 struct dssetup_DsRoleGetDcOperationProgress *r) 172 172 { 173 p-> rng_fault_state = true;173 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 174 174 return WERR_NOT_SUPPORTED; 175 175 } … … 181 181 struct dssetup_DsRoleGetDcOperationResults *r) 182 182 { 183 p-> rng_fault_state = true;183 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 184 184 return WERR_NOT_SUPPORTED; 185 185 } … … 191 191 struct dssetup_DsRoleCancel *r) 192 192 { 193 p-> rng_fault_state = true;193 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 194 194 return WERR_NOT_SUPPORTED; 195 195 } … … 201 201 struct dssetup_DsRoleServerSaveStateForUpgrade *r) 202 202 { 203 p-> rng_fault_state = true;203 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 204 204 return WERR_NOT_SUPPORTED; 205 205 } … … 211 211 struct dssetup_DsRoleUpgradeDownlevelServer *r) 212 212 { 213 p-> rng_fault_state = true;213 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 214 214 return WERR_NOT_SUPPORTED; 215 215 } … … 221 221 struct dssetup_DsRoleAbortDownlevelServerUpgrade *r) 222 222 { 223 p-> rng_fault_state = true;224 return WERR_NOT_SUPPORTED; 225 } 223 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 224 return WERR_NOT_SUPPORTED; 225 } -
vendor/current/source3/rpc_server/echo/srv_echo_nt.c
r917 r919 88 88 void _echo_TestCall(struct pipes_struct *p, struct echo_TestCall *r) 89 89 { 90 p-> rng_fault_state = True;90 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 91 91 return; 92 92 } … … 94 94 NTSTATUS _echo_TestCall2(struct pipes_struct *p, struct echo_TestCall2 *r) 95 95 { 96 p-> rng_fault_state = True;96 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 97 97 return NT_STATUS_OK; 98 98 } … … 106 106 void _echo_TestEnum(struct pipes_struct *p, struct echo_TestEnum *r) 107 107 { 108 p-> rng_fault_state = True;108 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 109 109 return; 110 110 } … … 112 112 void _echo_TestSurrounding(struct pipes_struct *p, struct echo_TestSurrounding *r) 113 113 { 114 p-> rng_fault_state = True;114 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 115 115 return; 116 116 } … … 118 118 uint16 _echo_TestDoublePointer(struct pipes_struct *p, struct echo_TestDoublePointer *r) 119 119 { 120 p-> rng_fault_state = True;120 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 121 121 return 0; 122 122 } -
vendor/current/source3/rpc_server/epmapper/srv_epmapper.c
r917 r919 298 298 if (p->transport != NCALRPC || 299 299 !is_priviledged_pipe(p->session_info)) { 300 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 300 301 return EPMAPPER_STATUS_CANT_PERFORM_OP; 301 302 } … … 434 435 if (p->transport != NCALRPC || 435 436 !is_priviledged_pipe(p->session_info)) { 437 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 436 438 return EPMAPPER_STATUS_CANT_PERFORM_OP; 437 439 } … … 1097 1099 struct epm_InqObject *r) 1098 1100 { 1099 p-> rng_fault_state = true;1101 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1100 1102 return EPMAPPER_STATUS_CANT_PERFORM_OP; 1101 1103 } … … 1111 1113 struct epm_MgmtDelete *r) 1112 1114 { 1113 p-> rng_fault_state = true;1115 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1114 1116 return EPMAPPER_STATUS_CANT_PERFORM_OP; 1115 1117 } … … 1122 1124 struct epm_MapAuth *r) 1123 1125 { 1124 p-> rng_fault_state = true;1126 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1125 1127 return EPMAPPER_STATUS_CANT_PERFORM_OP; 1126 1128 } -
vendor/current/source3/rpc_server/eventlog/srv_eventlog_nt.c
r917 r919 696 696 NTSTATUS _eventlog_BackupEventLogW(struct pipes_struct *p, struct eventlog_BackupEventLogW *r) 697 697 { 698 p-> rng_fault_state = True;698 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 699 699 return NT_STATUS_NOT_IMPLEMENTED; 700 700 } … … 839 839 struct eventlog_DeregisterEventSource *r) 840 840 { 841 p-> rng_fault_state = True;841 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 842 842 return NT_STATUS_NOT_IMPLEMENTED; 843 843 } … … 846 846 struct eventlog_ChangeNotify *r) 847 847 { 848 p-> rng_fault_state = True;848 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 849 849 return NT_STATUS_NOT_IMPLEMENTED; 850 850 } … … 853 853 struct eventlog_RegisterEventSourceW *r) 854 854 { 855 p-> rng_fault_state = True;855 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 856 856 return NT_STATUS_NOT_IMPLEMENTED; 857 857 } … … 860 860 struct eventlog_OpenBackupEventLogW *r) 861 861 { 862 p-> rng_fault_state = True;862 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 863 863 return NT_STATUS_NOT_IMPLEMENTED; 864 864 } … … 867 867 struct eventlog_ClearEventLogA *r) 868 868 { 869 p-> rng_fault_state = True;869 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 870 870 return NT_STATUS_NOT_IMPLEMENTED; 871 871 } … … 874 874 struct eventlog_BackupEventLogA *r) 875 875 { 876 p-> rng_fault_state = True;876 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 877 877 return NT_STATUS_NOT_IMPLEMENTED; 878 878 } … … 881 881 struct eventlog_OpenEventLogA *r) 882 882 { 883 p-> rng_fault_state = True;883 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 884 884 return NT_STATUS_NOT_IMPLEMENTED; 885 885 } … … 888 888 struct eventlog_RegisterEventSourceA *r) 889 889 { 890 p-> rng_fault_state = True;890 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 891 891 return NT_STATUS_NOT_IMPLEMENTED; 892 892 } … … 895 895 struct eventlog_OpenBackupEventLogA *r) 896 896 { 897 p-> rng_fault_state = True;897 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 898 898 return NT_STATUS_NOT_IMPLEMENTED; 899 899 } … … 902 902 struct eventlog_ReadEventLogA *r) 903 903 { 904 p-> rng_fault_state = True;904 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 905 905 return NT_STATUS_NOT_IMPLEMENTED; 906 906 } … … 909 909 struct eventlog_ReportEventA *r) 910 910 { 911 p-> rng_fault_state = True;911 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 912 912 return NT_STATUS_NOT_IMPLEMENTED; 913 913 } … … 916 916 struct eventlog_RegisterClusterSvc *r) 917 917 { 918 p-> rng_fault_state = True;918 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 919 919 return NT_STATUS_NOT_IMPLEMENTED; 920 920 } … … 923 923 struct eventlog_DeregisterClusterSvc *r) 924 924 { 925 p-> rng_fault_state = True;925 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 926 926 return NT_STATUS_NOT_IMPLEMENTED; 927 927 } … … 930 930 struct eventlog_WriteClusterEvents *r) 931 931 { 932 p-> rng_fault_state = True;932 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 933 933 return NT_STATUS_NOT_IMPLEMENTED; 934 934 } … … 937 937 struct eventlog_ReportEventAndSourceW *r) 938 938 { 939 p-> rng_fault_state = True;940 return NT_STATUS_NOT_IMPLEMENTED; 941 } 939 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 940 return NT_STATUS_NOT_IMPLEMENTED; 941 } -
vendor/current/source3/rpc_server/lsa/srv_lsa_nt.c
r917 r919 818 818 819 819 if ((pdb_capabilities() & PDB_CAP_ADS) == 0) { 820 p-> rng_fault_state = True;820 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 821 821 return NT_STATUS_NOT_IMPLEMENTED; 822 822 } … … 3211 3211 NTSTATUS _lsa_SetSecObj(struct pipes_struct *p, struct lsa_SetSecObj *r) 3212 3212 { 3213 p-> rng_fault_state = True;3213 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3214 3214 return NT_STATUS_NOT_IMPLEMENTED; 3215 3215 } … … 3218 3218 struct lsa_ChangePassword *r) 3219 3219 { 3220 p-> rng_fault_state = True;3220 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3221 3221 return NT_STATUS_NOT_IMPLEMENTED; 3222 3222 } … … 3224 3224 NTSTATUS _lsa_SetInfoPolicy(struct pipes_struct *p, struct lsa_SetInfoPolicy *r) 3225 3225 { 3226 p-> rng_fault_state = True;3226 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3227 3227 return NT_STATUS_NOT_IMPLEMENTED; 3228 3228 } … … 3230 3230 NTSTATUS _lsa_ClearAuditLog(struct pipes_struct *p, struct lsa_ClearAuditLog *r) 3231 3231 { 3232 p-> rng_fault_state = True;3232 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3233 3233 return NT_STATUS_NOT_IMPLEMENTED; 3234 3234 } … … 3237 3237 struct lsa_GetQuotasForAccount *r) 3238 3238 { 3239 p-> rng_fault_state = True;3239 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3240 3240 return NT_STATUS_NOT_IMPLEMENTED; 3241 3241 } … … 3244 3244 struct lsa_SetQuotasForAccount *r) 3245 3245 { 3246 p-> rng_fault_state = True;3246 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3247 3247 return NT_STATUS_NOT_IMPLEMENTED; 3248 3248 } … … 3251 3251 struct lsa_SetInformationTrustedDomain *r) 3252 3252 { 3253 p-> rng_fault_state = True;3253 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3254 3254 return NT_STATUS_NOT_IMPLEMENTED; 3255 3255 } … … 3257 3257 NTSTATUS _lsa_QuerySecret(struct pipes_struct *p, struct lsa_QuerySecret *r) 3258 3258 { 3259 p-> rng_fault_state = True;3259 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3260 3260 return NT_STATUS_NOT_IMPLEMENTED; 3261 3261 } … … 3264 3264 struct lsa_SetTrustedDomainInfo *r) 3265 3265 { 3266 p-> rng_fault_state = True;3266 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3267 3267 return NT_STATUS_NOT_IMPLEMENTED; 3268 3268 } … … 3271 3271 struct lsa_StorePrivateData *r) 3272 3272 { 3273 p-> rng_fault_state = True;3273 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3274 3274 return NT_STATUS_NOT_IMPLEMENTED; 3275 3275 } … … 3278 3278 struct lsa_RetrievePrivateData *r) 3279 3279 { 3280 p-> rng_fault_state = True;3280 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3281 3281 return NT_STATUS_NOT_IMPLEMENTED; 3282 3282 } … … 3285 3285 struct lsa_SetInfoPolicy2 *r) 3286 3286 { 3287 p-> rng_fault_state = True;3287 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3288 3288 return NT_STATUS_NOT_IMPLEMENTED; 3289 3289 } … … 3292 3292 struct lsa_SetTrustedDomainInfoByName *r) 3293 3293 { 3294 p-> rng_fault_state = True;3294 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3295 3295 return NT_STATUS_NOT_IMPLEMENTED; 3296 3296 } … … 3311 3311 3312 3312 if (!(pdb_capabilities() & PDB_CAP_TRUSTED_DOMAINS_EX)) { 3313 p-> rng_fault_state = True;3313 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3314 3314 return NT_STATUS_NOT_IMPLEMENTED; 3315 3315 } … … 3380 3380 struct lsa_QueryDomainInformationPolicy *r) 3381 3381 { 3382 p-> rng_fault_state = True;3382 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3383 3383 return NT_STATUS_NOT_IMPLEMENTED; 3384 3384 } … … 3387 3387 struct lsa_SetDomainInformationPolicy *r) 3388 3388 { 3389 p-> rng_fault_state = True;3389 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3390 3390 return NT_STATUS_NOT_IMPLEMENTED; 3391 3391 } … … 3393 3393 NTSTATUS _lsa_TestCall(struct pipes_struct *p, struct lsa_TestCall *r) 3394 3394 { 3395 p-> rng_fault_state = True;3395 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3396 3396 return NT_STATUS_NOT_IMPLEMENTED; 3397 3397 } … … 3399 3399 NTSTATUS _lsa_CREDRWRITE(struct pipes_struct *p, struct lsa_CREDRWRITE *r) 3400 3400 { 3401 p-> rng_fault_state = True;3401 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3402 3402 return NT_STATUS_NOT_IMPLEMENTED; 3403 3403 } … … 3405 3405 NTSTATUS _lsa_CREDRREAD(struct pipes_struct *p, struct lsa_CREDRREAD *r) 3406 3406 { 3407 p-> rng_fault_state = True;3407 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3408 3408 return NT_STATUS_NOT_IMPLEMENTED; 3409 3409 } … … 3411 3411 NTSTATUS _lsa_CREDRENUMERATE(struct pipes_struct *p, struct lsa_CREDRENUMERATE *r) 3412 3412 { 3413 p-> rng_fault_state = True;3413 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3414 3414 return NT_STATUS_NOT_IMPLEMENTED; 3415 3415 } … … 3418 3418 struct lsa_CREDRWRITEDOMAINCREDENTIALS *r) 3419 3419 { 3420 p-> rng_fault_state = True;3420 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3421 3421 return NT_STATUS_NOT_IMPLEMENTED; 3422 3422 } … … 3425 3425 struct lsa_CREDRREADDOMAINCREDENTIALS *r) 3426 3426 { 3427 p-> rng_fault_state = True;3427 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3428 3428 return NT_STATUS_NOT_IMPLEMENTED; 3429 3429 } … … 3431 3431 NTSTATUS _lsa_CREDRDELETE(struct pipes_struct *p, struct lsa_CREDRDELETE *r) 3432 3432 { 3433 p-> rng_fault_state = True;3433 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3434 3434 return NT_STATUS_NOT_IMPLEMENTED; 3435 3435 } … … 3438 3438 struct lsa_CREDRGETTARGETINFO *r) 3439 3439 { 3440 p-> rng_fault_state = True;3440 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3441 3441 return NT_STATUS_NOT_IMPLEMENTED; 3442 3442 } … … 3445 3445 struct lsa_CREDRPROFILELOADED *r) 3446 3446 { 3447 p-> rng_fault_state = True;3447 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3448 3448 return NT_STATUS_NOT_IMPLEMENTED; 3449 3449 } … … 3452 3452 struct lsa_CREDRGETSESSIONTYPES *r) 3453 3453 { 3454 p-> rng_fault_state = True;3454 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3455 3455 return NT_STATUS_NOT_IMPLEMENTED; 3456 3456 } … … 3459 3459 struct lsa_LSARREGISTERAUDITEVENT *r) 3460 3460 { 3461 p-> rng_fault_state = True;3461 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3462 3462 return NT_STATUS_NOT_IMPLEMENTED; 3463 3463 } … … 3466 3466 struct lsa_LSARGENAUDITEVENT *r) 3467 3467 { 3468 p-> rng_fault_state = True;3468 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3469 3469 return NT_STATUS_NOT_IMPLEMENTED; 3470 3470 } … … 3473 3473 struct lsa_LSARUNREGISTERAUDITEVENT *r) 3474 3474 { 3475 p-> rng_fault_state = True;3475 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3476 3476 return NT_STATUS_NOT_IMPLEMENTED; 3477 3477 } … … 3480 3480 struct lsa_lsaRQueryForestTrustInformation *r) 3481 3481 { 3482 p-> rng_fault_state = True;3482 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3483 3483 return NT_STATUS_NOT_IMPLEMENTED; 3484 3484 } … … 3993 3993 struct lsa_CREDRRENAME *r) 3994 3994 { 3995 p-> rng_fault_state = True;3995 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 3996 3996 return NT_STATUS_NOT_IMPLEMENTED; 3997 3997 } … … 4000 4000 struct lsa_LSAROPENPOLICYSCE *r) 4001 4001 { 4002 p-> rng_fault_state = True;4002 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 4003 4003 return NT_STATUS_NOT_IMPLEMENTED; 4004 4004 } … … 4007 4007 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r) 4008 4008 { 4009 p-> rng_fault_state = True;4009 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 4010 4010 return NT_STATUS_NOT_IMPLEMENTED; 4011 4011 } … … 4014 4014 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r) 4015 4015 { 4016 p-> rng_fault_state = True;4016 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 4017 4017 return NT_STATUS_NOT_IMPLEMENTED; 4018 4018 } … … 4021 4021 struct lsa_LSARADTREPORTSECURITYEVENT *r) 4022 4022 { 4023 p-> rng_fault_state = True;4023 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 4024 4024 return NT_STATUS_NOT_IMPLEMENTED; 4025 4025 } -
vendor/current/source3/rpc_server/netlogon/srv_netlog_nt.c
r914 r919 1509 1509 { 1510 1510 const char *wksname = nt_workstation; 1511 const char *workgroup = lp_workgroup(); 1511 1512 1512 1513 status = make_auth_context_fixed(talloc_tos(), &auth_context, … … 1533 1534 status = NT_STATUS_NO_MEMORY; 1534 1535 } 1536 1537 if (NT_STATUS_IS_OK(status)) { 1538 status = NTLMv2_RESPONSE_verify_netlogon_creds( 1539 user_info->client.account_name, 1540 user_info->client.domain_name, 1541 user_info->password.response.nt, 1542 creds, workgroup); 1543 } 1535 1544 break; 1536 1545 } … … 1637 1646 break; 1638 1647 case 6: 1648 /* Only allow this if the pipe is protected. */ 1649 if (p->auth.auth_level < DCERPC_AUTH_LEVEL_PRIVACY) { 1650 DEBUG(0,("netr_Validation6: client %s not using privacy for netlogon\n", 1651 get_remote_machine_name())); 1652 status = NT_STATUS_INVALID_PARAMETER; 1653 break; 1654 } 1655 1639 1656 status = serverinfo_to_SamInfo6(server_info, pipe_session_key, 16, 1640 1657 r->out.validation->sam6); … … 1788 1805 struct netr_LogonUasLogon *r) 1789 1806 { 1790 p-> rng_fault_state = true;1807 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1791 1808 return WERR_NOT_SUPPORTED; 1792 1809 } … … 1798 1815 struct netr_LogonUasLogoff *r) 1799 1816 { 1800 p-> rng_fault_state = true;1817 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1801 1818 return WERR_NOT_SUPPORTED; 1802 1819 } … … 1808 1825 struct netr_DatabaseDeltas *r) 1809 1826 { 1810 p-> rng_fault_state = true;1827 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1811 1828 return NT_STATUS_NOT_IMPLEMENTED; 1812 1829 } … … 1818 1835 struct netr_DatabaseSync *r) 1819 1836 { 1820 p-> rng_fault_state = true;1837 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1821 1838 return NT_STATUS_NOT_IMPLEMENTED; 1822 1839 } … … 1828 1845 struct netr_AccountDeltas *r) 1829 1846 { 1830 p-> rng_fault_state = true;1847 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1831 1848 return NT_STATUS_NOT_IMPLEMENTED; 1832 1849 } … … 1838 1855 struct netr_AccountSync *r) 1839 1856 { 1840 p-> rng_fault_state = true;1857 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1841 1858 return NT_STATUS_NOT_IMPLEMENTED; 1842 1859 } … … 1979 1996 struct netr_DatabaseSync2 *r) 1980 1997 { 1981 p-> rng_fault_state = true;1998 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1982 1999 return NT_STATUS_NOT_IMPLEMENTED; 1983 2000 } … … 1989 2006 struct netr_DatabaseRedo *r) 1990 2007 { 1991 p-> rng_fault_state = true;2008 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1992 2009 return NT_STATUS_NOT_IMPLEMENTED; 1993 2010 } … … 1999 2016 struct netr_DsRGetDCName *r) 2000 2017 { 2001 p-> rng_fault_state = true;2018 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2002 2019 return WERR_NOT_SUPPORTED; 2003 2020 } … … 2018 2035 struct netr_NETRLOGONSETSERVICEBITS *r) 2019 2036 { 2020 p-> rng_fault_state = true;2037 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2021 2038 return WERR_NOT_SUPPORTED; 2022 2039 } … … 2028 2045 struct netr_LogonGetTrustRid *r) 2029 2046 { 2030 p-> rng_fault_state = true;2047 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2031 2048 return WERR_NOT_SUPPORTED; 2032 2049 } … … 2038 2055 struct netr_NETRLOGONCOMPUTESERVERDIGEST *r) 2039 2056 { 2040 p-> rng_fault_state = true;2057 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2041 2058 return WERR_NOT_SUPPORTED; 2042 2059 } … … 2048 2065 struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r) 2049 2066 { 2050 p-> rng_fault_state = true;2067 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2051 2068 return WERR_NOT_SUPPORTED; 2052 2069 } … … 2058 2075 struct netr_DsRGetDCNameEx *r) 2059 2076 { 2060 p-> rng_fault_state = true;2077 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2061 2078 return WERR_NOT_SUPPORTED; 2062 2079 } … … 2068 2085 struct netr_DsRGetSiteName *r) 2069 2086 { 2070 p-> rng_fault_state = true;2087 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2071 2088 return WERR_NOT_SUPPORTED; 2072 2089 } … … 2078 2095 struct netr_LogonGetDomainInfo *r) 2079 2096 { 2080 p-> rng_fault_state = true;2097 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2081 2098 return NT_STATUS_NOT_IMPLEMENTED; 2082 2099 } … … 2088 2105 struct netr_ServerPasswordGet *r) 2089 2106 { 2090 p-> rng_fault_state = true;2107 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2091 2108 return WERR_NOT_SUPPORTED; 2092 2109 } … … 2098 2115 struct netr_NETRLOGONSENDTOSAM *r) 2099 2116 { 2100 p-> rng_fault_state = true;2117 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2101 2118 return WERR_NOT_SUPPORTED; 2102 2119 } … … 2108 2125 struct netr_DsRAddressToSitenamesW *r) 2109 2126 { 2110 p-> rng_fault_state = true;2127 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2111 2128 return WERR_NOT_SUPPORTED; 2112 2129 } … … 2118 2135 struct netr_DsRGetDCNameEx2 *r) 2119 2136 { 2120 p-> rng_fault_state = true;2137 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2121 2138 return WERR_NOT_SUPPORTED; 2122 2139 } … … 2128 2145 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r) 2129 2146 { 2130 p-> rng_fault_state = true;2147 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2131 2148 return WERR_NOT_SUPPORTED; 2132 2149 } … … 2138 2155 struct netr_NetrEnumerateTrustedDomainsEx *r) 2139 2156 { 2140 p-> rng_fault_state = true;2157 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2141 2158 return WERR_NOT_SUPPORTED; 2142 2159 } … … 2148 2165 struct netr_DsRAddressToSitenamesExW *r) 2149 2166 { 2150 p-> rng_fault_state = true;2167 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2151 2168 return WERR_NOT_SUPPORTED; 2152 2169 } … … 2158 2175 struct netr_DsrGetDcSiteCoverageW *r) 2159 2176 { 2160 p-> rng_fault_state = true;2177 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2161 2178 return WERR_NOT_SUPPORTED; 2162 2179 } … … 2168 2185 struct netr_DsrEnumerateDomainTrusts *r) 2169 2186 { 2170 p-> rng_fault_state = true;2187 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2171 2188 return WERR_NOT_SUPPORTED; 2172 2189 } … … 2178 2195 struct netr_DsrDeregisterDNSHostRecords *r) 2179 2196 { 2180 p-> rng_fault_state = true;2197 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2181 2198 return WERR_NOT_SUPPORTED; 2182 2199 } … … 2188 2205 struct netr_ServerTrustPasswordsGet *r) 2189 2206 { 2190 p-> rng_fault_state = true;2207 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2191 2208 return NT_STATUS_NOT_IMPLEMENTED; 2192 2209 } … … 2198 2215 struct netr_DsRGetForestTrustInformation *r) 2199 2216 { 2200 p-> rng_fault_state = true;2217 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2201 2218 return WERR_NOT_SUPPORTED; 2202 2219 } … … 2272 2289 /* TODO: check server name */ 2273 2290 2274 status = schannel_check_creds_state(p->mem_ctx, lp_private_dir(), 2275 r->in.computer_name, 2276 r->in.credential, 2277 r->out.return_authenticator, 2278 &creds); 2291 become_root(); 2292 status = netr_creds_server_step_check(p, p->mem_ctx, 2293 r->in.computer_name, 2294 r->in.credential, 2295 r->out.return_authenticator, 2296 &creds); 2297 unbecome_root(); 2279 2298 if (!NT_STATUS_IS_OK(status)) { 2280 2299 return status; … … 2372 2391 /* TODO: check server name */ 2373 2392 2374 status = schannel_check_creds_state(p->mem_ctx, lp_private_dir(), 2375 r->in.computer_name, 2376 r->in.credential, 2377 r->out.return_authenticator, 2378 &creds); 2393 become_root(); 2394 status = netr_creds_server_step_check(p, p->mem_ctx, 2395 r->in.computer_name, 2396 r->in.credential, 2397 r->out.return_authenticator, 2398 &creds); 2399 unbecome_root(); 2379 2400 if (!NT_STATUS_IS_OK(status)) { 2380 2401 return status; … … 2477 2498 struct netr_Unused47 *r) 2478 2499 { 2479 p-> rng_fault_state = true;2500 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2480 2501 return NT_STATUS_NOT_IMPLEMENTED; 2481 2502 } … … 2487 2508 struct netr_DsrUpdateReadOnlyServerDnsRecords *r) 2488 2509 { 2489 p-> rng_fault_state = true;2510 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2490 2511 return NT_STATUS_NOT_IMPLEMENTED; 2491 2512 } -
vendor/current/source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c
r917 r919 228 228 struct PNP_Disconnect *r) 229 229 { 230 p-> rng_fault_state = true;230 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 231 231 return WERR_NOT_SUPPORTED; 232 232 } … … 238 238 struct PNP_Connect *r) 239 239 { 240 p-> rng_fault_state = true;240 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 241 241 return WERR_NOT_SUPPORTED; 242 242 } … … 248 248 struct PNP_GetGlobalState *r) 249 249 { 250 p-> rng_fault_state = true;250 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 251 251 return WERR_NOT_SUPPORTED; 252 252 } … … 258 258 struct PNP_InitDetection *r) 259 259 { 260 p-> rng_fault_state = true;260 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 261 261 return WERR_NOT_SUPPORTED; 262 262 } … … 268 268 struct PNP_ReportLogOn *r) 269 269 { 270 p-> rng_fault_state = true;270 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 271 271 return WERR_NOT_SUPPORTED; 272 272 } … … 278 278 struct PNP_GetRootDeviceInstance *r) 279 279 { 280 p-> rng_fault_state = true;280 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 281 281 return WERR_NOT_SUPPORTED; 282 282 } … … 288 288 struct PNP_GetRelatedDeviceInstance *r) 289 289 { 290 p-> rng_fault_state = true;290 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 291 291 return WERR_NOT_SUPPORTED; 292 292 } … … 298 298 struct PNP_EnumerateSubKeys *r) 299 299 { 300 p-> rng_fault_state = true;300 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 301 301 return WERR_NOT_SUPPORTED; 302 302 } … … 308 308 struct PNP_GetDepth *r) 309 309 { 310 p-> rng_fault_state = true;310 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 311 311 return WERR_NOT_SUPPORTED; 312 312 } … … 318 318 struct PNP_SetDeviceRegProp *r) 319 319 { 320 p-> rng_fault_state = true;320 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 321 321 return WERR_NOT_SUPPORTED; 322 322 } … … 328 328 struct PNP_GetClassInstance *r) 329 329 { 330 p-> rng_fault_state = true;330 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 331 331 return WERR_NOT_SUPPORTED; 332 332 } … … 338 338 struct PNP_CreateKey *r) 339 339 { 340 p-> rng_fault_state = true;340 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 341 341 return WERR_NOT_SUPPORTED; 342 342 } … … 348 348 struct PNP_DeleteRegistryKey *r) 349 349 { 350 p-> rng_fault_state = true;350 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 351 351 return WERR_NOT_SUPPORTED; 352 352 } … … 358 358 struct PNP_GetClassCount *r) 359 359 { 360 p-> rng_fault_state = true;360 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 361 361 return WERR_NOT_SUPPORTED; 362 362 } … … 368 368 struct PNP_GetClassName *r) 369 369 { 370 p-> rng_fault_state = true;370 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 371 371 return WERR_NOT_SUPPORTED; 372 372 } … … 378 378 struct PNP_DeleteClassKey *r) 379 379 { 380 p-> rng_fault_state = true;380 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 381 381 return WERR_NOT_SUPPORTED; 382 382 } … … 388 388 struct PNP_GetInterfaceDeviceAlias *r) 389 389 { 390 p-> rng_fault_state = true;390 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 391 391 return WERR_NOT_SUPPORTED; 392 392 } … … 398 398 struct PNP_GetInterfaceDeviceList *r) 399 399 { 400 p-> rng_fault_state = true;400 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 401 401 return WERR_NOT_SUPPORTED; 402 402 } … … 408 408 struct PNP_GetInterfaceDeviceListSize *r) 409 409 { 410 p-> rng_fault_state = true;410 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 411 411 return WERR_NOT_SUPPORTED; 412 412 } … … 418 418 struct PNP_RegisterDeviceClassAssociation *r) 419 419 { 420 p-> rng_fault_state = true;420 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 421 421 return WERR_NOT_SUPPORTED; 422 422 } … … 428 428 struct PNP_UnregisterDeviceClassAssociation *r) 429 429 { 430 p-> rng_fault_state = true;430 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 431 431 return WERR_NOT_SUPPORTED; 432 432 } … … 438 438 struct PNP_GetClassRegProp *r) 439 439 { 440 p-> rng_fault_state = true;440 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 441 441 return WERR_NOT_SUPPORTED; 442 442 } … … 448 448 struct PNP_SetClassRegProp *r) 449 449 { 450 p-> rng_fault_state = true;450 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 451 451 return WERR_NOT_SUPPORTED; 452 452 } … … 458 458 struct PNP_CreateDevInst *r) 459 459 { 460 p-> rng_fault_state = true;460 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 461 461 return WERR_NOT_SUPPORTED; 462 462 } … … 468 468 struct PNP_DeviceInstanceAction *r) 469 469 { 470 p-> rng_fault_state = true;470 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 471 471 return WERR_NOT_SUPPORTED; 472 472 } … … 478 478 struct PNP_GetDeviceStatus *r) 479 479 { 480 p-> rng_fault_state = true;480 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 481 481 return WERR_NOT_SUPPORTED; 482 482 } … … 488 488 struct PNP_SetDeviceProblem *r) 489 489 { 490 p-> rng_fault_state = true;490 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 491 491 return WERR_NOT_SUPPORTED; 492 492 } … … 498 498 struct PNP_DisableDevInst *r) 499 499 { 500 p-> rng_fault_state = true;500 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 501 501 return WERR_NOT_SUPPORTED; 502 502 } … … 508 508 struct PNP_UninstallDevInst *r) 509 509 { 510 p-> rng_fault_state = true;510 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 511 511 return WERR_NOT_SUPPORTED; 512 512 } … … 518 518 struct PNP_AddID *r) 519 519 { 520 p-> rng_fault_state = true;520 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 521 521 return WERR_NOT_SUPPORTED; 522 522 } … … 528 528 struct PNP_RegisterDriver *r) 529 529 { 530 p-> rng_fault_state = true;530 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 531 531 return WERR_NOT_SUPPORTED; 532 532 } … … 538 538 struct PNP_QueryRemove *r) 539 539 { 540 p-> rng_fault_state = true;540 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 541 541 return WERR_NOT_SUPPORTED; 542 542 } … … 548 548 struct PNP_RequestDeviceEject *r) 549 549 { 550 p-> rng_fault_state = true;550 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 551 551 return WERR_NOT_SUPPORTED; 552 552 } … … 558 558 struct PNP_IsDockStationPresent *r) 559 559 { 560 p-> rng_fault_state = true;560 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 561 561 return WERR_NOT_SUPPORTED; 562 562 } … … 568 568 struct PNP_RequestEjectPC *r) 569 569 { 570 p-> rng_fault_state = true;570 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 571 571 return WERR_NOT_SUPPORTED; 572 572 } … … 578 578 struct PNP_AddEmptyLogConf *r) 579 579 { 580 p-> rng_fault_state = true;580 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 581 581 return WERR_NOT_SUPPORTED; 582 582 } … … 588 588 struct PNP_FreeLogConf *r) 589 589 { 590 p-> rng_fault_state = true;590 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 591 591 return WERR_NOT_SUPPORTED; 592 592 } … … 598 598 struct PNP_GetFirstLogConf *r) 599 599 { 600 p-> rng_fault_state = true;600 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 601 601 return WERR_NOT_SUPPORTED; 602 602 } … … 608 608 struct PNP_GetNextLogConf *r) 609 609 { 610 p-> rng_fault_state = true;610 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 611 611 return WERR_NOT_SUPPORTED; 612 612 } … … 618 618 struct PNP_GetLogConfPriority *r) 619 619 { 620 p-> rng_fault_state = true;620 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 621 621 return WERR_NOT_SUPPORTED; 622 622 } … … 628 628 struct PNP_AddResDes *r) 629 629 { 630 p-> rng_fault_state = true;630 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 631 631 return WERR_NOT_SUPPORTED; 632 632 } … … 638 638 struct PNP_FreeResDes *r) 639 639 { 640 p-> rng_fault_state = true;640 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 641 641 return WERR_NOT_SUPPORTED; 642 642 } … … 648 648 struct PNP_GetNextResDes *r) 649 649 { 650 p-> rng_fault_state = true;650 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 651 651 return WERR_NOT_SUPPORTED; 652 652 } … … 658 658 struct PNP_GetResDesData *r) 659 659 { 660 p-> rng_fault_state = true;660 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 661 661 return WERR_NOT_SUPPORTED; 662 662 } … … 668 668 struct PNP_GetResDesDataSize *r) 669 669 { 670 p-> rng_fault_state = true;670 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 671 671 return WERR_NOT_SUPPORTED; 672 672 } … … 678 678 struct PNP_ModifyResDes *r) 679 679 { 680 p-> rng_fault_state = true;680 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 681 681 return WERR_NOT_SUPPORTED; 682 682 } … … 688 688 struct PNP_DetectResourceLimit *r) 689 689 { 690 p-> rng_fault_state = true;690 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 691 691 return WERR_NOT_SUPPORTED; 692 692 } … … 698 698 struct PNP_QueryResConfList *r) 699 699 { 700 p-> rng_fault_state = true;700 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 701 701 return WERR_NOT_SUPPORTED; 702 702 } … … 708 708 struct PNP_SetHwProf *r) 709 709 { 710 p-> rng_fault_state = true;710 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 711 711 return WERR_NOT_SUPPORTED; 712 712 } … … 718 718 struct PNP_QueryArbitratorFreeData *r) 719 719 { 720 p-> rng_fault_state = true;720 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 721 721 return WERR_NOT_SUPPORTED; 722 722 } … … 728 728 struct PNP_QueryArbitratorFreeSize *r) 729 729 { 730 p-> rng_fault_state = true;730 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 731 731 return WERR_NOT_SUPPORTED; 732 732 } … … 738 738 struct PNP_RunDetection *r) 739 739 { 740 p-> rng_fault_state = true;740 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 741 741 return WERR_NOT_SUPPORTED; 742 742 } … … 748 748 struct PNP_RegisterNotification *r) 749 749 { 750 p-> rng_fault_state = true;750 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 751 751 return WERR_NOT_SUPPORTED; 752 752 } … … 758 758 struct PNP_UnregisterNotification *r) 759 759 { 760 p-> rng_fault_state = true;760 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 761 761 return WERR_NOT_SUPPORTED; 762 762 } … … 768 768 struct PNP_GetCustomDevProp *r) 769 769 { 770 p-> rng_fault_state = true;770 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 771 771 return WERR_NOT_SUPPORTED; 772 772 } … … 778 778 struct PNP_GetVersionInternal *r) 779 779 { 780 p-> rng_fault_state = true;780 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 781 781 return WERR_NOT_SUPPORTED; 782 782 } … … 788 788 struct PNP_GetBlockedDriverInfo *r) 789 789 { 790 p-> rng_fault_state = true;790 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 791 791 return WERR_NOT_SUPPORTED; 792 792 } … … 798 798 struct PNP_GetServerSideDeviceInstallFlags *r) 799 799 { 800 p-> rng_fault_state = true;801 return WERR_NOT_SUPPORTED; 802 } 800 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 801 return WERR_NOT_SUPPORTED; 802 } -
vendor/current/source3/rpc_server/rpc_handles.c
r917 r919 243 243 dump_data(4, (uint8_t *)hnd, sizeof(*hnd)); 244 244 245 p-> bad_handle_fault_state = true;245 p->fault_state = DCERPC_FAULT_CONTEXT_MISMATCH; 246 246 247 247 return NULL; -
vendor/current/source3/rpc_server/rpc_ncacn_np.c
r917 r919 172 172 p->syntax = *syntax; 173 173 p->transport = NCALRPC; 174 p->allow_bind = true; 174 175 175 176 DEBUG(4,("Created internal pipe %s (pipes_open=%d)\n", … … 217 218 218 219 if (p->fault_state) { 219 p->fault_state = false; 220 NTSTATUS status; 221 222 status = NT_STATUS(p->fault_state); 223 p->fault_state = 0; 220 224 data_blob_free(&p->out_data.rdata); 221 225 talloc_free_children(p->mem_ctx); 222 return NT_STATUS_RPC_CALL_FAILED; 223 } 224 225 if (p->bad_handle_fault_state) { 226 p->bad_handle_fault_state = false; 227 data_blob_free(&p->out_data.rdata); 228 talloc_free_children(p->mem_ctx); 229 return NT_STATUS_RPC_SS_CONTEXT_MISMATCH; 230 } 231 232 if (p->rng_fault_state) { 233 p->rng_fault_state = false; 234 data_blob_free(&p->out_data.rdata); 235 talloc_free_children(p->mem_ctx); 236 return NT_STATUS_RPC_PROCNUM_OUT_OF_RANGE; 226 return status; 237 227 } 238 228 … … 792 782 result->auth->auth_type = DCERPC_AUTH_TYPE_NONE; 793 783 result->auth->auth_level = DCERPC_AUTH_LEVEL_NONE; 784 result->auth->auth_context_id = 0; 794 785 795 786 status = rpccli_anon_bind_data(result, &auth); -
vendor/current/source3/rpc_server/rpc_server.c
r740 r919 103 103 p->transport = transport; 104 104 p->ncalrpc_as_system = ncalrpc_as_system; 105 p->allow_bind = true; 105 106 106 107 p->mem_ctx = talloc_named(p, 0, "pipe %s %p", pipe_name, p); … … 661 662 if (ret == -1) { 662 663 DEBUG(2, ("Writev failed!\n")); 664 goto fail; 665 } 666 667 if (npc->p->fault_state != 0) { 668 DEBUG(2, ("Disconnect after fault\n")); 669 sys_errno = EINVAL; 663 670 goto fail; 664 671 } … … 1392 1399 } 1393 1400 1401 if (ncacn_conn->p->fault_state != 0) { 1402 DEBUG(2, ("Disconnect after fault\n")); 1403 sys_errno = EINVAL; 1404 goto fail; 1405 } 1406 1394 1407 /* clear out any data that may have been left around */ 1395 1408 ncacn_conn->count = 0; -
vendor/current/source3/rpc_server/samr/srv_samr_nt.c
r860 r919 6629 6629 struct samr_PwInfo dom_pw_info; 6630 6630 6631 if (p->auth.auth_level != DCERPC_AUTH_LEVEL_PRIVACY) { 6632 p->fault_state = DCERPC_FAULT_ACCESS_DENIED; 6633 return NT_STATUS_ACCESS_DENIED; 6634 } 6635 6631 6636 if (r->in.level < 1 || r->in.level > 3) { 6632 6637 return NT_STATUS_INVALID_INFO_CLASS; … … 6683 6688 struct samr_Shutdown *r) 6684 6689 { 6685 p-> rng_fault_state = true;6690 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6686 6691 return NT_STATUS_NOT_IMPLEMENTED; 6687 6692 } … … 6693 6698 struct samr_SetMemberAttributesOfGroup *r) 6694 6699 { 6695 p-> rng_fault_state = true;6700 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6696 6701 return NT_STATUS_NOT_IMPLEMENTED; 6697 6702 } … … 6703 6708 struct samr_TestPrivateFunctionsDomain *r) 6704 6709 { 6710 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6705 6711 return NT_STATUS_NOT_IMPLEMENTED; 6706 6712 } … … 6712 6718 struct samr_TestPrivateFunctionsUser *r) 6713 6719 { 6720 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6714 6721 return NT_STATUS_NOT_IMPLEMENTED; 6715 6722 } … … 6721 6728 struct samr_AddMultipleMembersToAlias *r) 6722 6729 { 6723 p-> rng_fault_state = true;6730 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6724 6731 return NT_STATUS_NOT_IMPLEMENTED; 6725 6732 } … … 6731 6738 struct samr_RemoveMultipleMembersFromAlias *r) 6732 6739 { 6733 p-> rng_fault_state = true;6740 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6734 6741 return NT_STATUS_NOT_IMPLEMENTED; 6735 6742 } … … 6741 6748 struct samr_SetBootKeyInformation *r) 6742 6749 { 6743 p-> rng_fault_state = true;6750 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6744 6751 return NT_STATUS_NOT_IMPLEMENTED; 6745 6752 } … … 6751 6758 struct samr_GetBootKeyInformation *r) 6752 6759 { 6753 p-> rng_fault_state = true;6760 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6754 6761 return NT_STATUS_NOT_IMPLEMENTED; 6755 6762 } … … 6761 6768 struct samr_SetDsrmPassword *r) 6762 6769 { 6763 p-> rng_fault_state = true;6770 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 6764 6771 return NT_STATUS_NOT_IMPLEMENTED; 6765 6772 } -
vendor/current/source3/rpc_server/spoolss/srv_spoolss_nt.c
r860 r919 2481 2481 "", /* domain */ 2482 2482 "", /* password */ 2483 0, lp_client_signing());2483 0, False); 2484 2484 2485 2485 if ( !NT_STATUS_IS_OK( ret ) ) { … … 10157 10157 struct spoolss_GetPrinterDriver *r) 10158 10158 { 10159 p-> rng_fault_state = true;10159 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10160 10160 return WERR_NOT_SUPPORTED; 10161 10161 } … … 10168 10168 struct spoolss_ReadPrinter *r) 10169 10169 { 10170 p-> rng_fault_state = true;10170 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10171 10171 return WERR_NOT_SUPPORTED; 10172 10172 } … … 10179 10179 struct spoolss_WaitForPrinterChange *r) 10180 10180 { 10181 p-> rng_fault_state = true;10181 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10182 10182 return WERR_NOT_SUPPORTED; 10183 10183 } … … 10190 10190 struct spoolss_ConfigurePort *r) 10191 10191 { 10192 p-> rng_fault_state = true;10192 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10193 10193 return WERR_NOT_SUPPORTED; 10194 10194 } … … 10201 10201 struct spoolss_DeletePort *r) 10202 10202 { 10203 p-> rng_fault_state = true;10203 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10204 10204 return WERR_NOT_SUPPORTED; 10205 10205 } … … 10212 10212 struct spoolss_CreatePrinterIC *r) 10213 10213 { 10214 p-> rng_fault_state = true;10214 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10215 10215 return WERR_NOT_SUPPORTED; 10216 10216 } … … 10223 10223 struct spoolss_PlayGDIScriptOnPrinterIC *r) 10224 10224 { 10225 p-> rng_fault_state = true;10225 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10226 10226 return WERR_NOT_SUPPORTED; 10227 10227 } … … 10234 10234 struct spoolss_DeletePrinterIC *r) 10235 10235 { 10236 p-> rng_fault_state = true;10236 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10237 10237 return WERR_NOT_SUPPORTED; 10238 10238 } … … 10245 10245 struct spoolss_AddPrinterConnection *r) 10246 10246 { 10247 p-> rng_fault_state = true;10247 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10248 10248 return WERR_NOT_SUPPORTED; 10249 10249 } … … 10256 10256 struct spoolss_DeletePrinterConnection *r) 10257 10257 { 10258 p-> rng_fault_state = true;10258 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10259 10259 return WERR_NOT_SUPPORTED; 10260 10260 } … … 10267 10267 struct spoolss_PrinterMessageBox *r) 10268 10268 { 10269 p-> rng_fault_state = true;10269 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10270 10270 return WERR_NOT_SUPPORTED; 10271 10271 } … … 10278 10278 struct spoolss_AddMonitor *r) 10279 10279 { 10280 p-> rng_fault_state = true;10280 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10281 10281 return WERR_NOT_SUPPORTED; 10282 10282 } … … 10289 10289 struct spoolss_DeleteMonitor *r) 10290 10290 { 10291 p-> rng_fault_state = true;10291 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10292 10292 return WERR_NOT_SUPPORTED; 10293 10293 } … … 10300 10300 struct spoolss_DeletePrintProcessor *r) 10301 10301 { 10302 p-> rng_fault_state = true;10302 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10303 10303 return WERR_NOT_SUPPORTED; 10304 10304 } … … 10311 10311 struct spoolss_AddPrintProvidor *r) 10312 10312 { 10313 p-> rng_fault_state = true;10313 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10314 10314 return WERR_NOT_SUPPORTED; 10315 10315 } … … 10322 10322 struct spoolss_DeletePrintProvidor *r) 10323 10323 { 10324 p-> rng_fault_state = true;10324 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10325 10325 return WERR_NOT_SUPPORTED; 10326 10326 } … … 10333 10333 struct spoolss_FindFirstPrinterChangeNotification *r) 10334 10334 { 10335 p-> rng_fault_state = true;10335 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10336 10336 return WERR_NOT_SUPPORTED; 10337 10337 } … … 10344 10344 struct spoolss_FindNextPrinterChangeNotification *r) 10345 10345 { 10346 p-> rng_fault_state = true;10346 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10347 10347 return WERR_NOT_SUPPORTED; 10348 10348 } … … 10355 10355 struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r) 10356 10356 { 10357 p-> rng_fault_state = true;10357 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10358 10358 return WERR_NOT_SUPPORTED; 10359 10359 } … … 10366 10366 struct spoolss_ReplyOpenPrinter *r) 10367 10367 { 10368 p-> rng_fault_state = true;10368 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10369 10369 return WERR_NOT_SUPPORTED; 10370 10370 } … … 10377 10377 struct spoolss_RouterReplyPrinter *r) 10378 10378 { 10379 p-> rng_fault_state = true;10379 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10380 10380 return WERR_NOT_SUPPORTED; 10381 10381 } … … 10388 10388 struct spoolss_ReplyClosePrinter *r) 10389 10389 { 10390 p-> rng_fault_state = true;10390 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10391 10391 return WERR_NOT_SUPPORTED; 10392 10392 } … … 10399 10399 struct spoolss_AddPortEx *r) 10400 10400 { 10401 p-> rng_fault_state = true;10401 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10402 10402 return WERR_NOT_SUPPORTED; 10403 10403 } … … 10410 10410 struct spoolss_RouterFindFirstPrinterChangeNotification *r) 10411 10411 { 10412 p-> rng_fault_state = true;10412 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10413 10413 return WERR_NOT_SUPPORTED; 10414 10414 } … … 10421 10421 struct spoolss_SpoolerInit *r) 10422 10422 { 10423 p-> rng_fault_state = true;10423 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10424 10424 return WERR_NOT_SUPPORTED; 10425 10425 } … … 10432 10432 struct spoolss_ResetPrinterEx *r) 10433 10433 { 10434 p-> rng_fault_state = true;10434 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10435 10435 return WERR_NOT_SUPPORTED; 10436 10436 } … … 10443 10443 struct spoolss_RouterReplyPrinterEx *r) 10444 10444 { 10445 p-> rng_fault_state = true;10445 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10446 10446 return WERR_NOT_SUPPORTED; 10447 10447 } … … 10454 10454 struct spoolss_44 *r) 10455 10455 { 10456 p-> rng_fault_state = true;10456 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10457 10457 return WERR_NOT_SUPPORTED; 10458 10458 } … … 10465 10465 struct spoolss_SetPort *r) 10466 10466 { 10467 p-> rng_fault_state = true;10467 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10468 10468 return WERR_NOT_SUPPORTED; 10469 10469 } … … 10476 10476 struct spoolss_4a *r) 10477 10477 { 10478 p-> rng_fault_state = true;10478 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10479 10479 return WERR_NOT_SUPPORTED; 10480 10480 } … … 10487 10487 struct spoolss_4b *r) 10488 10488 { 10489 p-> rng_fault_state = true;10489 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10490 10490 return WERR_NOT_SUPPORTED; 10491 10491 } … … 10498 10498 struct spoolss_4c *r) 10499 10499 { 10500 p-> rng_fault_state = true;10500 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10501 10501 return WERR_NOT_SUPPORTED; 10502 10502 } … … 10509 10509 struct spoolss_53 *r) 10510 10510 { 10511 p-> rng_fault_state = true;10511 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10512 10512 return WERR_NOT_SUPPORTED; 10513 10513 } … … 10520 10520 struct spoolss_AddPerMachineConnection *r) 10521 10521 { 10522 p-> rng_fault_state = true;10522 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10523 10523 return WERR_NOT_SUPPORTED; 10524 10524 } … … 10531 10531 struct spoolss_DeletePerMachineConnection *r) 10532 10532 { 10533 p-> rng_fault_state = true;10533 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10534 10534 return WERR_NOT_SUPPORTED; 10535 10535 } … … 10542 10542 struct spoolss_EnumPerMachineConnections *r) 10543 10543 { 10544 p-> rng_fault_state = true;10544 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10545 10545 return WERR_NOT_SUPPORTED; 10546 10546 } … … 10553 10553 struct spoolss_5a *r) 10554 10554 { 10555 p-> rng_fault_state = true;10555 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10556 10556 return WERR_NOT_SUPPORTED; 10557 10557 } … … 10564 10564 struct spoolss_5b *r) 10565 10565 { 10566 p-> rng_fault_state = true;10566 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10567 10567 return WERR_NOT_SUPPORTED; 10568 10568 } … … 10575 10575 struct spoolss_5c *r) 10576 10576 { 10577 p-> rng_fault_state = true;10577 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10578 10578 return WERR_NOT_SUPPORTED; 10579 10579 } … … 10586 10586 struct spoolss_5d *r) 10587 10587 { 10588 p-> rng_fault_state = true;10588 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10589 10589 return WERR_NOT_SUPPORTED; 10590 10590 } … … 10597 10597 struct spoolss_5e *r) 10598 10598 { 10599 p-> rng_fault_state = true;10599 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10600 10600 return WERR_NOT_SUPPORTED; 10601 10601 } … … 10608 10608 struct spoolss_5f *r) 10609 10609 { 10610 p-> rng_fault_state = true;10610 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10611 10611 return WERR_NOT_SUPPORTED; 10612 10612 } … … 10619 10619 struct spoolss_60 *r) 10620 10620 { 10621 p-> rng_fault_state = true;10621 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10622 10622 return WERR_NOT_SUPPORTED; 10623 10623 } … … 10630 10630 struct spoolss_61 *r) 10631 10631 { 10632 p-> rng_fault_state = true;10632 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10633 10633 return WERR_NOT_SUPPORTED; 10634 10634 } … … 10641 10641 struct spoolss_62 *r) 10642 10642 { 10643 p-> rng_fault_state = true;10643 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10644 10644 return WERR_NOT_SUPPORTED; 10645 10645 } … … 10652 10652 struct spoolss_63 *r) 10653 10653 { 10654 p-> rng_fault_state = true;10654 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10655 10655 return WERR_NOT_SUPPORTED; 10656 10656 } … … 10663 10663 struct spoolss_64 *r) 10664 10664 { 10665 p-> rng_fault_state = true;10665 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10666 10666 return WERR_NOT_SUPPORTED; 10667 10667 } … … 10674 10674 struct spoolss_65 *r) 10675 10675 { 10676 p-> rng_fault_state = true;10676 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10677 10677 return WERR_NOT_SUPPORTED; 10678 10678 } … … 10685 10685 struct spoolss_GetCorePrinterDrivers *r) 10686 10686 { 10687 p-> rng_fault_state = true;10687 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10688 10688 return WERR_NOT_SUPPORTED; 10689 10689 } … … 10696 10696 struct spoolss_67 *r) 10697 10697 { 10698 p-> rng_fault_state = true;10698 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10699 10699 return WERR_NOT_SUPPORTED; 10700 10700 } … … 10707 10707 struct spoolss_GetPrinterDriverPackagePath *r) 10708 10708 { 10709 p-> rng_fault_state = true;10709 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10710 10710 return WERR_NOT_SUPPORTED; 10711 10711 } … … 10718 10718 struct spoolss_69 *r) 10719 10719 { 10720 p-> rng_fault_state = true;10720 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10721 10721 return WERR_NOT_SUPPORTED; 10722 10722 } … … 10729 10729 struct spoolss_6a *r) 10730 10730 { 10731 p-> rng_fault_state = true;10731 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10732 10732 return WERR_NOT_SUPPORTED; 10733 10733 } … … 10740 10740 struct spoolss_6b *r) 10741 10741 { 10742 p-> rng_fault_state = true;10742 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10743 10743 return WERR_NOT_SUPPORTED; 10744 10744 } … … 10751 10751 struct spoolss_6c *r) 10752 10752 { 10753 p-> rng_fault_state = true;10753 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10754 10754 return WERR_NOT_SUPPORTED; 10755 10755 } … … 10762 10762 struct spoolss_6d *r) 10763 10763 { 10764 p-> rng_fault_state = true;10764 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 10765 10765 return WERR_NOT_SUPPORTED; 10766 10766 } -
vendor/current/source3/rpc_server/srv_pipe.c
r917 r919 43 43 #include "ntdomain.h" 44 44 #include "rpc_server/srv_pipe.h" 45 #include "../librpc/gen_ndr/ndr_dcerpc.h" 46 #include "../librpc/ndr/ndr_dcerpc.h" 47 #include "../librpc/gen_ndr/ndr_samr.h" 48 #include "../librpc/gen_ndr/ndr_lsa.h" 49 #include "../librpc/gen_ndr/ndr_netlogon.h" 50 #include "../librpc/gen_ndr/ndr_epmapper.h" 51 #include "../librpc/gen_ndr/ndr_echo.h" 45 52 46 53 #undef DBGC_CLASS … … 203 210 */ 204 211 if (p->fault_state) { 205 setup_fault_pdu(p, NT_STATUS( DCERPC_FAULT_OP_RNG_ERROR));212 setup_fault_pdu(p, NT_STATUS(p->fault_state)); 206 213 return true; 207 214 } … … 270 277 p->out_data.current_pdu_sent = 0; 271 278 279 set_incoming_fault(p); 272 280 TALLOC_FREE(p->auth.auth_ctx); 273 281 p->auth.auth_level = DCERPC_AUTH_LEVEL_NONE; 274 282 p->auth.auth_type = DCERPC_AUTH_TYPE_NONE; 275 283 p->pipe_bound = False; 284 p->allow_bind = false; 285 p->allow_alter = false; 286 p->allow_auth3 = false; 276 287 277 288 return True; … … 335 346 { 336 347 struct pipe_rpc_fns *context_fns; 348 const char *interface_name = NULL; 349 bool ok; 337 350 338 351 DEBUG(3,("check_bind_req for %s\n", 339 get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); 352 get_pipe_name_from_syntax(talloc_tos(), abstract))); 353 354 ok = ndr_syntax_id_equal(transfer, &ndr_transfer_syntax); 355 if (!ok) { 356 DEBUG(1,("check_bind_req unknown transfer syntax for " 357 "%s context_id=%u\n", 358 get_pipe_name_from_syntax(talloc_tos(), abstract), 359 (unsigned)context_id)); 360 return false; 361 } 362 363 for (context_fns = p->contexts; 364 context_fns != NULL; 365 context_fns = context_fns->next) 366 { 367 if (context_fns->context_id != context_id) { 368 continue; 369 } 370 371 ok = ndr_syntax_id_equal(&context_fns->syntax, 372 abstract); 373 if (ok) { 374 return true; 375 } 376 377 DEBUG(1,("check_bind_req: changing abstract syntax for " 378 "%s context_id=%u into %s not supported\n", 379 get_pipe_name_from_syntax(talloc_tos(), &context_fns->syntax), 380 (unsigned)context_id, 381 get_pipe_name_from_syntax(talloc_tos(), abstract))); 382 return false; 383 } 340 384 341 385 /* we have to check all now since win2k introduced a new UUID on the lsaprpc pipe */ 342 if (rpc_srv_pipe_exists_by_id(abstract) && 343 ndr_syntax_id_equal(transfer, &ndr_transfer_syntax)) { 344 DEBUG(3, ("check_bind_req: \\PIPE\\%s -> \\PIPE\\%s\n", 345 rpc_srv_get_pipe_cli_name(abstract), 346 rpc_srv_get_pipe_srv_name(abstract))); 347 } else { 386 if (!rpc_srv_pipe_exists_by_id(abstract)) { 348 387 return false; 349 388 } 389 390 DEBUG(3, ("check_bind_req: %s -> %s rpc service\n", 391 rpc_srv_get_pipe_cli_name(abstract), 392 rpc_srv_get_pipe_srv_name(abstract))); 350 393 351 394 context_fns = SMB_MALLOC_P(struct pipe_rpc_fns); … … 355 398 } 356 399 400 interface_name = get_pipe_name_from_syntax(talloc_tos(), 401 abstract); 402 403 SMB_ASSERT(interface_name != NULL); 404 357 405 context_fns->next = context_fns->prev = NULL; 358 406 context_fns->n_cmds = rpc_srv_get_pipe_num_cmds(abstract); 359 407 context_fns->cmds = rpc_srv_get_pipe_cmds(abstract); 360 408 context_fns->context_id = context_id; 409 context_fns->syntax = *abstract; 410 411 context_fns->allow_connect = lp_allow_dcerpc_auth_level_connect(); 412 /* 413 * for the samr and the lsarpc interfaces we don't allow "connect" 414 * auth_level by default. 415 */ 416 ok = ndr_syntax_id_equal(abstract, &ndr_table_samr.syntax_id); 417 if (ok) { 418 context_fns->allow_connect = false; 419 } 420 ok = ndr_syntax_id_equal(abstract, &ndr_table_lsarpc.syntax_id); 421 if (ok) { 422 context_fns->allow_connect = false; 423 } 424 ok = ndr_syntax_id_equal(abstract, &ndr_table_netlogon.syntax_id); 425 if (ok) { 426 context_fns->allow_connect = false; 427 } 428 /* 429 * for the epmapper and echo interfaces we allow "connect" 430 * auth_level by default. 431 */ 432 ok = ndr_syntax_id_equal(abstract, &ndr_table_epmapper.syntax_id); 433 if (ok) { 434 context_fns->allow_connect = true; 435 } 436 ok = ndr_syntax_id_equal(abstract, &ndr_table_rpcecho.syntax_id); 437 if (ok) { 438 context_fns->allow_connect = true; 439 } 440 /* 441 * every interface can be modified to allow "connect" auth_level by 442 * using a parametric option like: 443 * allow dcerpc auth level connect:<interface> 444 * e.g. 445 * allow dcerpc auth level connect:samr = yes 446 */ 447 context_fns->allow_connect = lp_parm_bool(-1, 448 "allow dcerpc auth level connect", 449 interface_name, context_fns->allow_connect); 361 450 362 451 /* add to the list of open contexts */ … … 446 535 p->auth.auth_ctx = spnego_ctx; 447 536 p->auth.auth_type = DCERPC_AUTH_TYPE_SPNEGO; 537 p->auth.auth_context_id = auth_info->auth_context_id; 448 538 449 539 DEBUG(10, ("SPNEGO auth started\n")); … … 556 646 p->auth.auth_ctx = schannel_auth; 557 647 p->auth.auth_type = DCERPC_AUTH_TYPE_SCHANNEL; 648 p->auth.auth_context_id = auth_info->auth_context_id; 558 649 559 650 p->pipe_bound = True; … … 600 691 p->auth.auth_ctx = ntlmssp_state; 601 692 p->auth.auth_type = DCERPC_AUTH_TYPE_NTLMSSP; 693 p->auth.auth_context_id = auth_info->auth_context_id; 602 694 603 695 DEBUG(10, (__location__ ": NTLMSSP auth started\n")); … … 774 866 void *mech_ctx; 775 867 NTSTATUS status; 868 869 if (p->auth.auth_type == DCERPC_AUTH_TYPE_NONE) { 870 p->pipe_bound = true; 871 return NT_STATUS_OK; 872 } 776 873 777 874 switch (p->auth.auth_type) { … … 866 963 DATA_BLOB auth_blob = data_blob_null; 867 964 868 /* No rebinds on a bound pipe - use alter context. */ 869 if (p->pipe_bound) { 870 DEBUG(2,("api_pipe_bind_req: rejecting bind request on bound " 871 "pipe %s.\n", 872 get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); 965 if (!p->allow_bind) { 966 DEBUG(2,("Pipe not in allow bind state\n")); 873 967 return setup_bind_nak(p, pkt); 874 968 } 969 p->allow_bind = false; 970 971 status = dcerpc_verify_ncacn_packet_header(pkt, 972 DCERPC_PKT_BIND, 973 pkt->u.bind.auth_info.length, 974 0, /* required flags */ 975 DCERPC_PFC_FLAG_FIRST | 976 DCERPC_PFC_FLAG_LAST | 977 DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN | 978 0x08 | /* this is not defined, but should be ignored */ 979 DCERPC_PFC_FLAG_CONC_MPX | 980 DCERPC_PFC_FLAG_DID_NOT_EXECUTE | 981 DCERPC_PFC_FLAG_MAYBE | 982 DCERPC_PFC_FLAG_OBJECT_UUID); 983 if (!NT_STATUS_IS_OK(status)) { 984 DEBUG(1, ("api_pipe_bind_req: invalid pdu: %s\n", 985 nt_errstr(status))); 986 NDR_PRINT_DEBUG(ncacn_packet, pkt); 987 goto err_exit; 988 } 875 989 876 990 if (pkt->u.bind.num_contexts == 0) { 877 DEBUG(0, ("api_pipe_bind_req: no rpc contexts around\n")); 991 DEBUG(1, ("api_pipe_bind_req: no rpc contexts around\n")); 992 goto err_exit; 993 } 994 995 if (pkt->u.bind.ctx_list[0].num_transfer_syntaxes == 0) { 996 DEBUG(1, ("api_pipe_bind_req: no transfer syntaxes around\n")); 878 997 goto err_exit; 879 998 } … … 959 1078 */ 960 1079 if (pkt->auth_length) { 961 /* Quick length check. Won't catch a bad auth footer,962 * prevents overrun. */963 964 if (pkt->frag_length < RPC_HEADER_LEN +965 DCERPC_AUTH_TRAILER_LENGTH +966 pkt->auth_length) {967 DEBUG(0,("api_pipe_bind_req: auth_len (%u) "968 "too long for fragment %u.\n",969 (unsigned int)pkt->auth_length,970 (unsigned int)pkt->frag_length));971 goto err_exit;972 }973 974 1080 /* 975 1081 * Decode the authentication verifier. 976 1082 */ 977 status = dcerpc_pull_ dcerpc_auth(pkt,978 &pkt->u.bind.auth_info,979 &auth_info, p->endian);1083 status = dcerpc_pull_auth_trailer(pkt, pkt, 1084 &pkt->u.bind.auth_info, 1085 &auth_info, NULL, true); 980 1086 if (!NT_STATUS_IS_OK(status)) { 981 1087 DEBUG(0, ("Unable to unmarshall dcerpc_auth.\n")); … … 1071 1177 /* The session key was initialized from the SMB 1072 1178 * session in make_internal_rpc_pipe_p */ 1179 p->auth.auth_context_id = 0; 1073 1180 } 1074 1181 … … 1112 1219 DEBUG(0, ("Failed to marshall bind_ack packet. (%s)\n", 1113 1220 nt_errstr(status))); 1221 goto err_exit; 1114 1222 } 1115 1223 1116 1224 if (auth_resp.length) { 1117 1118 1225 status = dcerpc_push_dcerpc_auth(pkt, 1119 1226 auth_type, 1120 1227 auth_info.auth_level, 1121 0, 1122 1, /* auth_context_id */1228 0, /* pad_len */ 1229 p->auth.auth_context_id, 1123 1230 &auth_resp, 1124 1231 &auth_blob); … … 1151 1258 1152 1259 TALLOC_FREE(auth_blob.data); 1260 1261 if (bind_ack_ctx.result == 0) { 1262 p->allow_alter = true; 1263 p->allow_auth3 = true; 1264 if (p->auth.auth_type == DCERPC_AUTH_TYPE_NONE) { 1265 status = pipe_auth_verify_final(p); 1266 if (!NT_STATUS_IS_OK(status)) { 1267 DEBUG(0, ("pipe_auth_verify_final failed: %s\n", 1268 nt_errstr(status))); 1269 goto err_exit; 1270 } 1271 } 1272 } else { 1273 goto err_exit; 1274 } 1275 1153 1276 return True; 1154 1277 … … 1175 1298 DEBUG(5, ("api_pipe_bind_auth3: decode request. %d\n", __LINE__)); 1176 1299 1300 if (!p->allow_auth3) { 1301 DEBUG(1, ("Pipe not in allow auth3 state.\n")); 1302 goto err; 1303 } 1304 1305 status = dcerpc_verify_ncacn_packet_header(pkt, 1306 DCERPC_PKT_AUTH3, 1307 pkt->u.auth3.auth_info.length, 1308 0, /* required flags */ 1309 DCERPC_PFC_FLAG_FIRST | 1310 DCERPC_PFC_FLAG_LAST | 1311 DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN | 1312 0x08 | /* this is not defined, but should be ignored */ 1313 DCERPC_PFC_FLAG_CONC_MPX | 1314 DCERPC_PFC_FLAG_DID_NOT_EXECUTE | 1315 DCERPC_PFC_FLAG_MAYBE | 1316 DCERPC_PFC_FLAG_OBJECT_UUID); 1317 if (!NT_STATUS_IS_OK(status)) { 1318 DEBUG(1, ("api_pipe_bind_auth3: invalid pdu: %s\n", 1319 nt_errstr(status))); 1320 NDR_PRINT_DEBUG(ncacn_packet, pkt); 1321 goto err; 1322 } 1323 1324 /* We can only finish if the pipe is unbound for now */ 1325 if (p->pipe_bound) { 1326 DEBUG(0, (__location__ ": Pipe already bound, " 1327 "AUTH3 not supported!\n")); 1328 goto err; 1329 } 1330 1177 1331 if (pkt->auth_length == 0) { 1178 DEBUG( 0, ("No auth field sent for bindrequest!\n"));1332 DEBUG(1, ("No auth field sent for auth3 request!\n")); 1179 1333 goto err; 1180 1334 } 1181 1335 1182 /* Ensure there's enough data for an authenticated request. */1183 if (pkt->frag_length < RPC_HEADER_LEN1184 + DCERPC_AUTH_TRAILER_LENGTH1185 + pkt->auth_length) {1186 DEBUG(0,("api_pipe_ntlmssp_auth_process: auth_len "1187 "%u is too large.\n",1188 (unsigned int)pkt->auth_length));1189 goto err;1190 }1191 1192 1336 /* 1193 1337 * Decode the authentication verifier response. 1194 1338 */ 1195 1339 1196 status = dcerpc_pull_ dcerpc_auth(pkt,1197 &pkt->u.auth3.auth_info,1198 &auth_info, p->endian);1340 status = dcerpc_pull_auth_trailer(pkt, pkt, 1341 &pkt->u.auth3.auth_info, 1342 &auth_info, NULL, true); 1199 1343 if (!NT_STATUS_IS_OK(status)) { 1200 1344 DEBUG(0, ("Failed to unmarshall dcerpc_auth.\n")); … … 1211 1355 "but auth was started as type %d!\n", 1212 1356 auth_info.auth_type, p->auth.auth_type)); 1357 goto err; 1358 } 1359 1360 if (auth_info.auth_level != p->auth.auth_level) { 1361 DEBUG(1, ("Auth level mismatch! Client sent %d, " 1362 "but auth was started as level %d!\n", 1363 auth_info.auth_level, p->auth.auth_level)); 1364 goto err; 1365 } 1366 1367 if (auth_info.auth_context_id != p->auth.auth_context_id) { 1368 DEBUG(0, ("Auth context id mismatch! Client sent %u, " 1369 "but auth was started as level %u!\n", 1370 (unsigned)auth_info.auth_context_id, 1371 (unsigned)p->auth.auth_context_id)); 1213 1372 goto err; 1214 1373 } … … 1266 1425 1267 1426 err: 1427 p->pipe_bound = false; 1428 p->allow_bind = false; 1429 p->allow_alter = false; 1430 p->allow_auth3 = false; 1268 1431 1269 1432 TALLOC_FREE(p->auth.auth_ctx); … … 1283 1446 NTSTATUS status; 1284 1447 union dcerpc_payload u; 1285 struct dcerpc_ack_ctx bind_ack_ctx;1448 struct dcerpc_ack_ctx alter_ack_ctx; 1286 1449 DATA_BLOB auth_resp = data_blob_null; 1287 1450 DATA_BLOB auth_blob = data_blob_null; … … 1293 1456 DEBUG(5,("api_pipe_alter_context: make response. %d\n", __LINE__)); 1294 1457 1295 if (pkt->u.bind.assoc_group_id != 0) { 1296 assoc_gid = pkt->u.bind.assoc_group_id; 1458 if (!p->allow_alter) { 1459 DEBUG(1, ("Pipe not in allow alter state.\n")); 1460 goto err_exit; 1461 } 1462 1463 status = dcerpc_verify_ncacn_packet_header(pkt, 1464 DCERPC_PKT_ALTER, 1465 pkt->u.alter.auth_info.length, 1466 0, /* required flags */ 1467 DCERPC_PFC_FLAG_FIRST | 1468 DCERPC_PFC_FLAG_LAST | 1469 DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN | 1470 0x08 | /* this is not defined, but should be ignored */ 1471 DCERPC_PFC_FLAG_CONC_MPX | 1472 DCERPC_PFC_FLAG_DID_NOT_EXECUTE | 1473 DCERPC_PFC_FLAG_MAYBE | 1474 DCERPC_PFC_FLAG_OBJECT_UUID); 1475 if (!NT_STATUS_IS_OK(status)) { 1476 DEBUG(1, ("api_pipe_alter_context: invalid pdu: %s\n", 1477 nt_errstr(status))); 1478 NDR_PRINT_DEBUG(ncacn_packet, pkt); 1479 goto err_exit; 1480 } 1481 1482 if (pkt->u.alter.num_contexts == 0) { 1483 DEBUG(1, ("api_pipe_alter_context: no rpc contexts around\n")); 1484 goto err_exit; 1485 } 1486 1487 if (pkt->u.alter.ctx_list[0].num_transfer_syntaxes == 0) { 1488 DEBUG(1, ("api_pipe_alter_context: no transfer syntaxes around\n")); 1489 goto err_exit; 1490 } 1491 1492 if (pkt->u.alter.assoc_group_id != 0) { 1493 assoc_gid = pkt->u.alter.assoc_group_id; 1297 1494 } else { 1298 1495 assoc_gid = 0x53f0; … … 1304 1501 1305 1502 /* If the requested abstract synt uuid doesn't match our client pipe, 1306 reject the bind_ack & set the transfer interface synt to all 0's,1503 reject the alter_ack & set the transfer interface synt to all 0's, 1307 1504 ver 0 (observed when NT5 attempts to bind to abstract interfaces 1308 1505 unknown to NT4) … … 1310 1507 1311 1508 if (check_bind_req(p, 1312 &pkt->u. bind.ctx_list[0].abstract_syntax,1313 &pkt->u. bind.ctx_list[0].transfer_syntaxes[0],1314 pkt->u. bind.ctx_list[0].context_id)) {1315 1316 bind_ack_ctx.result = 0;1317 bind_ack_ctx.reason = 0;1318 bind_ack_ctx.syntax = pkt->u.bind.ctx_list[0].transfer_syntaxes[0];1509 &pkt->u.alter.ctx_list[0].abstract_syntax, 1510 &pkt->u.alter.ctx_list[0].transfer_syntaxes[0], 1511 pkt->u.alter.ctx_list[0].context_id)) { 1512 1513 alter_ack_ctx.result = 0; 1514 alter_ack_ctx.reason = 0; 1515 alter_ack_ctx.syntax = pkt->u.alter.ctx_list[0].transfer_syntaxes[0]; 1319 1516 } else { 1320 p->pipe_bound = False;1321 1517 /* Rejection reason: abstract syntax not supported */ 1322 bind_ack_ctx.result = DCERPC_BIND_PROVIDER_REJECT;1323 bind_ack_ctx.reason = DCERPC_BIND_REASON_ASYNTAX;1324 bind_ack_ctx.syntax = null_ndr_syntax_id;1518 alter_ack_ctx.result = DCERPC_BIND_PROVIDER_REJECT; 1519 alter_ack_ctx.reason = DCERPC_BIND_REASON_ASYNTAX; 1520 alter_ack_ctx.syntax = null_ndr_syntax_id; 1325 1521 } 1326 1522 … … 1329 1525 */ 1330 1526 if (pkt->auth_length) { 1331 /* Quick length check. Won't catch a bad auth footer,1332 * prevents overrun. */1333 1334 if (pkt->frag_length < RPC_HEADER_LEN +1335 DCERPC_AUTH_TRAILER_LENGTH +1336 pkt->auth_length) {1337 DEBUG(0,("api_pipe_alter_context: auth_len (%u) "1338 "too long for fragment %u.\n",1339 (unsigned int)pkt->auth_length,1340 (unsigned int)pkt->frag_length ));1341 goto err_exit;1342 }1343 1344 status = dcerpc_pull_dcerpc_auth(pkt,1345 &pkt->u.bind.auth_info,1346 &auth_info, p->endian);1347 if (!NT_STATUS_IS_OK(status)) {1348 DEBUG(0, ("Unable to unmarshall dcerpc_auth.\n"));1349 goto err_exit;1350 }1351 1352 1527 /* We can only finish if the pipe is unbound for now */ 1353 1528 if (p->pipe_bound) { … … 1357 1532 } 1358 1533 1534 status = dcerpc_pull_auth_trailer(pkt, pkt, 1535 &pkt->u.alter.auth_info, 1536 &auth_info, NULL, true); 1537 if (!NT_STATUS_IS_OK(status)) { 1538 DEBUG(0, ("Unable to unmarshall dcerpc_auth.\n")); 1539 goto err_exit; 1540 } 1541 1359 1542 if (auth_info.auth_type != p->auth.auth_type) { 1360 1543 DEBUG(0, ("Auth type mismatch! Client sent %d, " … … 1364 1547 } 1365 1548 1549 if (auth_info.auth_level != p->auth.auth_level) { 1550 DEBUG(0, ("Auth level mismatch! Client sent %d, " 1551 "but auth was started as level %d!\n", 1552 auth_info.auth_level, p->auth.auth_level)); 1553 goto err_exit; 1554 } 1555 1556 if (auth_info.auth_context_id != p->auth.auth_context_id) { 1557 DEBUG(0, ("Auth context id mismatch! Client sent %u, " 1558 "but auth was started as level %u!\n", 1559 (unsigned)auth_info.auth_context_id, 1560 (unsigned)p->auth.auth_context_id)); 1561 goto err_exit; 1562 } 1366 1563 1367 1564 switch (auth_info.auth_type) { … … 1430 1627 1431 1628 u.alter_resp.num_results = 1; 1432 u.alter_resp.ctx_list = & bind_ack_ctx;1629 u.alter_resp.ctx_list = &alter_ack_ctx; 1433 1630 1434 1631 /* NOTE: We leave the auth_info empty so we can calculate the padding … … 1450 1647 &p->out_data.frag); 1451 1648 if (!NT_STATUS_IS_OK(status)) { 1452 DEBUG(0, ("Failed to marshall bind_ackpacket. (%s)\n",1649 DEBUG(0, ("Failed to marshall alter_resp packet. (%s)\n", 1453 1650 nt_errstr(status))); 1651 goto err_exit; 1454 1652 } 1455 1653 … … 1468 1666 auth_info.auth_level, 1469 1667 pad_len, 1470 1, /* auth_context_id */1668 p->auth.auth_context_id, 1471 1669 &auth_resp, 1472 1670 &auth_blob); … … 1542 1740 1543 1741 static bool api_rpcTNP(struct pipes_struct *p, struct ncacn_packet *pkt, 1544 const struct api_struct *api_rpc_cmds, int n_cmds); 1742 const struct api_struct *api_rpc_cmds, int n_cmds, 1743 const struct ndr_syntax_id *syntax); 1744 1745 static bool srv_pipe_check_verification_trailer(struct pipes_struct *p, 1746 struct ncacn_packet *pkt, 1747 struct pipe_rpc_fns *pipe_fns) 1748 { 1749 TALLOC_CTX *frame = talloc_stackframe(); 1750 struct dcerpc_sec_verification_trailer *vt = NULL; 1751 const uint32_t bitmask1 = 0; 1752 const struct dcerpc_sec_vt_pcontext pcontext = { 1753 .abstract_syntax = pipe_fns->syntax, 1754 .transfer_syntax = ndr_transfer_syntax, 1755 }; 1756 const struct dcerpc_sec_vt_header2 header2 = 1757 dcerpc_sec_vt_header2_from_ncacn_packet(pkt); 1758 struct ndr_pull *ndr; 1759 enum ndr_err_code ndr_err; 1760 bool ret = false; 1761 1762 ndr = ndr_pull_init_blob(&p->in_data.data, frame); 1763 if (ndr == NULL) { 1764 goto done; 1765 } 1766 1767 ndr_err = ndr_pop_dcerpc_sec_verification_trailer(ndr, frame, &vt); 1768 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { 1769 goto done; 1770 } 1771 1772 ret = dcerpc_sec_verification_trailer_check(vt, &bitmask1, 1773 &pcontext, &header2); 1774 done: 1775 TALLOC_FREE(frame); 1776 return ret; 1777 } 1545 1778 1546 1779 /**************************************************************************** … … 1553 1786 struct ncacn_packet *pkt) 1554 1787 { 1788 TALLOC_CTX *frame = talloc_stackframe(); 1555 1789 bool ret = False; 1556 bool changed_user = False;1557 1790 PIPE_RPC_FNS *pipe_fns; 1558 1559 if (p->pipe_bound && 1560 ((p->auth.auth_type == DCERPC_AUTH_TYPE_NTLMSSP) || 1561 (p->auth.auth_type == DCERPC_AUTH_TYPE_KRB5) || 1562 (p->auth.auth_type == DCERPC_AUTH_TYPE_SPNEGO))) { 1563 if(!become_authenticated_pipe_user(p->session_info)) { 1564 data_blob_free(&p->out_data.rdata); 1565 return False; 1566 } 1567 changed_user = True; 1568 } 1569 1570 DEBUG(5, ("Requested \\PIPE\\%s\n", 1571 get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); 1791 const char *interface_name = NULL; 1792 1793 if (!p->pipe_bound) { 1794 DEBUG(1, ("Pipe not bound!\n")); 1795 data_blob_free(&p->out_data.rdata); 1796 TALLOC_FREE(frame); 1797 return false; 1798 } 1572 1799 1573 1800 /* get the set of RPC functions for this context */ … … 1575 1802 pipe_fns = find_pipe_fns_by_context(p->contexts, 1576 1803 pkt->u.request.context_id); 1577 1578 if ( pipe_fns ) { 1579 TALLOC_CTX *frame = talloc_stackframe(); 1580 ret = api_rpcTNP(p, pkt, pipe_fns->cmds, pipe_fns->n_cmds); 1804 if (pipe_fns == NULL) { 1805 DEBUG(0, ("No rpc function table associated with context " 1806 "[%d]\n", 1807 pkt->u.request.context_id)); 1808 data_blob_free(&p->out_data.rdata); 1581 1809 TALLOC_FREE(frame); 1582 } 1583 else { 1584 DEBUG(0, ("No rpc function table associated with context " 1585 "[%d] on pipe [%s]\n", 1586 pkt->u.request.context_id, 1587 get_pipe_name_from_syntax(talloc_tos(), 1588 &p->syntax))); 1589 } 1590 1591 if (changed_user) { 1592 unbecome_authenticated_pipe_user(); 1593 } 1594 1810 return false; 1811 } 1812 1813 interface_name = get_pipe_name_from_syntax(talloc_tos(), 1814 &pipe_fns->syntax); 1815 1816 SMB_ASSERT(interface_name != NULL); 1817 1818 DEBUG(5, ("Requested \\PIPE\\%s\n", 1819 interface_name)); 1820 1821 switch (p->auth.auth_level) { 1822 case DCERPC_AUTH_LEVEL_NONE: 1823 case DCERPC_AUTH_LEVEL_INTEGRITY: 1824 case DCERPC_AUTH_LEVEL_PRIVACY: 1825 break; 1826 default: 1827 if (!pipe_fns->allow_connect) { 1828 DEBUG(1, ("%s: restrict auth_level_connect access " 1829 "to [%s] with auth[type=0x%x,level=0x%x] " 1830 "on [%s] from [%s]\n", 1831 __func__, interface_name, 1832 p->auth.auth_type, 1833 p->auth.auth_level, 1834 derpc_transport_string_by_transport(p->transport), 1835 p->client_id->name)); 1836 1837 setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_ACCESS_DENIED)); 1838 TALLOC_FREE(frame); 1839 return true; 1840 } 1841 break; 1842 } 1843 1844 if (!srv_pipe_check_verification_trailer(p, pkt, pipe_fns)) { 1845 DEBUG(1, ("srv_pipe_check_verification_trailer: failed\n")); 1846 set_incoming_fault(p); 1847 setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_ACCESS_DENIED)); 1848 data_blob_free(&p->out_data.rdata); 1849 TALLOC_FREE(frame); 1850 return true; 1851 } 1852 1853 if (!become_authenticated_pipe_user(p->session_info)) { 1854 DEBUG(1, ("Failed to become pipe user!\n")); 1855 data_blob_free(&p->out_data.rdata); 1856 TALLOC_FREE(frame); 1857 return false; 1858 } 1859 1860 ret = api_rpcTNP(p, pkt, pipe_fns->cmds, pipe_fns->n_cmds, 1861 &pipe_fns->syntax); 1862 unbecome_authenticated_pipe_user(); 1863 1864 TALLOC_FREE(frame); 1595 1865 return ret; 1596 1866 } … … 1601 1871 1602 1872 static bool api_rpcTNP(struct pipes_struct *p, struct ncacn_packet *pkt, 1603 const struct api_struct *api_rpc_cmds, int n_cmds) 1873 const struct api_struct *api_rpc_cmds, int n_cmds, 1874 const struct ndr_syntax_id *syntax) 1604 1875 { 1605 1876 int fn_num; … … 1608 1879 /* interpret the command */ 1609 1880 DEBUG(4,("api_rpcTNP: %s op 0x%x - ", 1610 get_pipe_name_from_syntax(talloc_tos(), &p->syntax),1881 get_pipe_name_from_syntax(talloc_tos(), syntax), 1611 1882 pkt->u.request.opnum)); 1612 1883 … … 1614 1885 fstring name; 1615 1886 slprintf(name, sizeof(name)-1, "in_%s", 1616 get_pipe_name_from_syntax(talloc_tos(), &p->syntax));1887 get_pipe_name_from_syntax(talloc_tos(), syntax)); 1617 1888 dump_pdu_region(name, pkt->u.request.opnum, 1618 1889 &p->in_data.data, 0, … … 1647 1918 if(!api_rpc_cmds[fn_num].fn(p)) { 1648 1919 DEBUG(0,("api_rpcTNP: %s: %s failed.\n", 1649 get_pipe_name_from_syntax(talloc_tos(), &p->syntax),1920 get_pipe_name_from_syntax(talloc_tos(), syntax), 1650 1921 api_rpc_cmds[fn_num].name)); 1651 1922 data_blob_free(&p->out_data.rdata); … … 1653 1924 } 1654 1925 1655 if (p->bad_handle_fault_state) { 1656 DEBUG(4,("api_rpcTNP: bad handle fault return.\n")); 1657 p->bad_handle_fault_state = False; 1658 setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_CONTEXT_MISMATCH)); 1659 return True; 1660 } 1661 1662 if (p->rng_fault_state) { 1663 DEBUG(4, ("api_rpcTNP: rng fault return\n")); 1664 p->rng_fault_state = False; 1665 setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_OP_RNG_ERROR)); 1666 return True; 1926 if (p->fault_state) { 1927 DEBUG(4,("api_rpcTNP: fault(%d) return.\n", p->fault_state)); 1928 setup_fault_pdu(p, NT_STATUS(p->fault_state)); 1929 p->fault_state = 0; 1930 return true; 1667 1931 } 1668 1932 … … 1670 1934 fstring name; 1671 1935 slprintf(name, sizeof(name)-1, "out_%s", 1672 get_pipe_name_from_syntax(talloc_tos(), &p->syntax));1936 get_pipe_name_from_syntax(talloc_tos(), syntax)); 1673 1937 dump_pdu_region(name, pkt->u.request.opnum, 1674 1938 &p->out_data.rdata, offset1, … … 1677 1941 1678 1942 DEBUG(5,("api_rpcTNP: called %s successfully\n", 1679 get_pipe_name_from_syntax(talloc_tos(), &p->syntax)));1943 get_pipe_name_from_syntax(talloc_tos(), syntax))); 1680 1944 1681 1945 /* Check for buffer underflow in rpc parsing */ … … 1719 1983 p->in_data.pdu_needed_len = 0; 1720 1984 p->in_data.pdu.length = 0; 1721 p->fault_state = True; 1722 DEBUG(10, ("set_incoming_fault: Setting fault state on pipe %s\n", 1723 get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); 1985 p->fault_state = DCERPC_NCA_S_PROTO_ERROR; 1986 1987 p->allow_alter = false; 1988 p->allow_auth3 = false; 1989 p->pipe_bound = false; 1990 1991 DEBUG(10, ("Setting fault state\n")); 1724 1992 } 1725 1993 … … 1730 1998 NTSTATUS status; 1731 1999 size_t hdr_size = DCERPC_REQUEST_LENGTH; 1732 size_t pad_len;1733 2000 1734 2001 DEBUG(10, ("Checking request auth.\n")); … … 1741 2008 status = dcerpc_check_auth(auth, pkt, 1742 2009 &pkt->u.request.stub_and_verifier, 1743 hdr_size, raw_pkt, 1744 &pad_len); 2010 hdr_size, raw_pkt); 1745 2011 if (!NT_STATUS_IS_OK(status)) { 1746 2012 return status; 1747 }1748 1749 1750 /* remove padding and auth trailer,1751 * this way the caller will get just the data */1752 if (pkt->auth_length) {1753 size_t trail_len = pad_len1754 + DCERPC_AUTH_TRAILER_LENGTH1755 + pkt->auth_length;1756 if (pkt->u.request.stub_and_verifier.length < trail_len) {1757 return NT_STATUS_INFO_LENGTH_MISMATCH;1758 }1759 pkt->u.request.stub_and_verifier.length -= trail_len;1760 2013 } 1761 2014 … … 1777 2030 set_incoming_fault(p); 1778 2031 return False; 2032 } 2033 2034 /* 2035 * We don't ignore DCERPC_PFC_FLAG_PENDING_CANCEL. 2036 * TODO: we can reject it with DCERPC_FAULT_NO_CALL_ACTIVE later. 2037 */ 2038 status = dcerpc_verify_ncacn_packet_header(pkt, 2039 DCERPC_PKT_REQUEST, 2040 pkt->u.request.stub_and_verifier.length, 2041 0, /* required_flags */ 2042 DCERPC_PFC_FLAG_FIRST | 2043 DCERPC_PFC_FLAG_LAST | 2044 0x08 | /* this is not defined, but should be ignored */ 2045 DCERPC_PFC_FLAG_CONC_MPX | 2046 DCERPC_PFC_FLAG_DID_NOT_EXECUTE | 2047 DCERPC_PFC_FLAG_MAYBE | 2048 DCERPC_PFC_FLAG_OBJECT_UUID); 2049 if (!NT_STATUS_IS_OK(status)) { 2050 DEBUG(1, ("process_request_pdu: invalid pdu: %s\n", 2051 nt_errstr(status))); 2052 NDR_PRINT_DEBUG(ncacn_packet, pkt); 2053 set_incoming_fault(p); 2054 return false; 1779 2055 } 1780 2056 … … 2028 2304 &p->syntax))); 2029 2305 set_incoming_fault(p); 2030 setup_fault_pdu(p, NT_STATUS(DCERPC_ FAULT_OP_RNG_ERROR));2306 setup_fault_pdu(p, NT_STATUS(DCERPC_NCA_S_PROTO_ERROR)); 2031 2307 TALLOC_FREE(pkt); 2032 2308 } else { -
vendor/current/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
r917 r919 2549 2549 struct srvsvc_NetCharDevEnum *r) 2550 2550 { 2551 p-> rng_fault_state = True;2551 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2552 2552 return WERR_NOT_SUPPORTED; 2553 2553 } … … 2556 2556 struct srvsvc_NetCharDevGetInfo *r) 2557 2557 { 2558 p-> rng_fault_state = True;2558 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2559 2559 return WERR_NOT_SUPPORTED; 2560 2560 } … … 2563 2563 struct srvsvc_NetCharDevControl *r) 2564 2564 { 2565 p-> rng_fault_state = True;2565 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2566 2566 return WERR_NOT_SUPPORTED; 2567 2567 } … … 2570 2570 struct srvsvc_NetCharDevQEnum *r) 2571 2571 { 2572 p-> rng_fault_state = True;2572 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2573 2573 return WERR_NOT_SUPPORTED; 2574 2574 } … … 2577 2577 struct srvsvc_NetCharDevQGetInfo *r) 2578 2578 { 2579 p-> rng_fault_state = True;2579 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2580 2580 return WERR_NOT_SUPPORTED; 2581 2581 } … … 2584 2584 struct srvsvc_NetCharDevQSetInfo *r) 2585 2585 { 2586 p-> rng_fault_state = True;2586 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2587 2587 return WERR_NOT_SUPPORTED; 2588 2588 } … … 2591 2591 struct srvsvc_NetCharDevQPurge *r) 2592 2592 { 2593 p-> rng_fault_state = True;2593 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2594 2594 return WERR_NOT_SUPPORTED; 2595 2595 } … … 2598 2598 struct srvsvc_NetCharDevQPurgeSelf *r) 2599 2599 { 2600 p-> rng_fault_state = True;2600 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2601 2601 return WERR_NOT_SUPPORTED; 2602 2602 } … … 2605 2605 struct srvsvc_NetFileGetInfo *r) 2606 2606 { 2607 p-> rng_fault_state = True;2607 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2608 2608 return WERR_NOT_SUPPORTED; 2609 2609 } … … 2612 2612 struct srvsvc_NetShareCheck *r) 2613 2613 { 2614 p-> rng_fault_state = True;2614 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2615 2615 return WERR_NOT_SUPPORTED; 2616 2616 } … … 2619 2619 struct srvsvc_NetServerStatisticsGet *r) 2620 2620 { 2621 p-> rng_fault_state = True;2621 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2622 2622 return WERR_NOT_SUPPORTED; 2623 2623 } … … 2626 2626 struct srvsvc_NetTransportAdd *r) 2627 2627 { 2628 p-> rng_fault_state = True;2628 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2629 2629 return WERR_NOT_SUPPORTED; 2630 2630 } … … 2633 2633 struct srvsvc_NetTransportEnum *r) 2634 2634 { 2635 p-> rng_fault_state = True;2635 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2636 2636 return WERR_NOT_SUPPORTED; 2637 2637 } … … 2640 2640 struct srvsvc_NetTransportDel *r) 2641 2641 { 2642 p-> rng_fault_state = True;2642 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2643 2643 return WERR_NOT_SUPPORTED; 2644 2644 } … … 2647 2647 struct srvsvc_NetSetServiceBits *r) 2648 2648 { 2649 p-> rng_fault_state = True;2649 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2650 2650 return WERR_NOT_SUPPORTED; 2651 2651 } … … 2654 2654 struct srvsvc_NetPathType *r) 2655 2655 { 2656 p-> rng_fault_state = True;2656 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2657 2657 return WERR_NOT_SUPPORTED; 2658 2658 } … … 2661 2661 struct srvsvc_NetPathCanonicalize *r) 2662 2662 { 2663 p-> rng_fault_state = True;2663 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2664 2664 return WERR_NOT_SUPPORTED; 2665 2665 } … … 2668 2668 struct srvsvc_NetPathCompare *r) 2669 2669 { 2670 p-> rng_fault_state = True;2670 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2671 2671 return WERR_NOT_SUPPORTED; 2672 2672 } … … 2675 2675 struct srvsvc_NETRPRNAMECANONICALIZE *r) 2676 2676 { 2677 p-> rng_fault_state = True;2677 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2678 2678 return WERR_NOT_SUPPORTED; 2679 2679 } … … 2682 2682 struct srvsvc_NetPRNameCompare *r) 2683 2683 { 2684 p-> rng_fault_state = True;2684 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2685 2685 return WERR_NOT_SUPPORTED; 2686 2686 } … … 2689 2689 struct srvsvc_NetShareDelStart *r) 2690 2690 { 2691 p-> rng_fault_state = True;2691 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2692 2692 return WERR_NOT_SUPPORTED; 2693 2693 } … … 2696 2696 struct srvsvc_NetShareDelCommit *r) 2697 2697 { 2698 p-> rng_fault_state = True;2698 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2699 2699 return WERR_NOT_SUPPORTED; 2700 2700 } … … 2703 2703 struct srvsvc_NetServerTransportAddEx *r) 2704 2704 { 2705 p-> rng_fault_state = True;2705 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2706 2706 return WERR_NOT_SUPPORTED; 2707 2707 } … … 2710 2710 struct srvsvc_NetServerSetServiceBitsEx *r) 2711 2711 { 2712 p-> rng_fault_state = True;2712 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2713 2713 return WERR_NOT_SUPPORTED; 2714 2714 } … … 2717 2717 struct srvsvc_NETRDFSGETVERSION *r) 2718 2718 { 2719 p-> rng_fault_state = True;2719 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2720 2720 return WERR_NOT_SUPPORTED; 2721 2721 } … … 2724 2724 struct srvsvc_NETRDFSCREATELOCALPARTITION *r) 2725 2725 { 2726 p-> rng_fault_state = True;2726 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2727 2727 return WERR_NOT_SUPPORTED; 2728 2728 } … … 2731 2731 struct srvsvc_NETRDFSDELETELOCALPARTITION *r) 2732 2732 { 2733 p-> rng_fault_state = True;2733 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2734 2734 return WERR_NOT_SUPPORTED; 2735 2735 } … … 2738 2738 struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r) 2739 2739 { 2740 p-> rng_fault_state = True;2740 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2741 2741 return WERR_NOT_SUPPORTED; 2742 2742 } … … 2745 2745 struct srvsvc_NETRDFSSETSERVERINFO *r) 2746 2746 { 2747 p-> rng_fault_state = True;2747 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2748 2748 return WERR_NOT_SUPPORTED; 2749 2749 } … … 2752 2752 struct srvsvc_NETRDFSCREATEEXITPOINT *r) 2753 2753 { 2754 p-> rng_fault_state = True;2754 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2755 2755 return WERR_NOT_SUPPORTED; 2756 2756 } … … 2759 2759 struct srvsvc_NETRDFSDELETEEXITPOINT *r) 2760 2760 { 2761 p-> rng_fault_state = True;2761 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2762 2762 return WERR_NOT_SUPPORTED; 2763 2763 } … … 2766 2766 struct srvsvc_NETRDFSMODIFYPREFIX *r) 2767 2767 { 2768 p-> rng_fault_state = True;2768 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2769 2769 return WERR_NOT_SUPPORTED; 2770 2770 } … … 2773 2773 struct srvsvc_NETRDFSFIXLOCALVOLUME *r) 2774 2774 { 2775 p-> rng_fault_state = True;2775 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2776 2776 return WERR_NOT_SUPPORTED; 2777 2777 } … … 2780 2780 struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r) 2781 2781 { 2782 p-> rng_fault_state = True;2782 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2783 2783 return WERR_NOT_SUPPORTED; 2784 2784 } … … 2787 2787 struct srvsvc_NETRSERVERTRANSPORTDELEX *r) 2788 2788 { 2789 p-> rng_fault_state = True;2790 return WERR_NOT_SUPPORTED; 2791 } 2789 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 2790 return WERR_NOT_SUPPORTED; 2791 } -
vendor/current/source3/rpc_server/svcctl/srv_svcctl_nt.c
r917 r919 1005 1005 struct svcctl_DeleteService *r) 1006 1006 { 1007 p-> rng_fault_state = True;1007 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1008 1008 return WERR_NOT_SUPPORTED; 1009 1009 } … … 1012 1012 struct svcctl_SetServiceStatus *r) 1013 1013 { 1014 p-> rng_fault_state = True;1014 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1015 1015 return WERR_NOT_SUPPORTED; 1016 1016 } … … 1019 1019 struct svcctl_NotifyBootConfigStatus *r) 1020 1020 { 1021 p-> rng_fault_state = True;1021 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1022 1022 return WERR_NOT_SUPPORTED; 1023 1023 } … … 1026 1026 struct svcctl_SCSetServiceBitsW *r) 1027 1027 { 1028 p-> rng_fault_state = True;1028 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1029 1029 return WERR_NOT_SUPPORTED; 1030 1030 } … … 1033 1033 struct svcctl_ChangeServiceConfigW *r) 1034 1034 { 1035 p-> rng_fault_state = True;1035 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1036 1036 return WERR_NOT_SUPPORTED; 1037 1037 } … … 1040 1040 struct svcctl_CreateServiceW *r) 1041 1041 { 1042 p-> rng_fault_state = True;1042 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1043 1043 return WERR_NOT_SUPPORTED; 1044 1044 } … … 1047 1047 struct svcctl_QueryServiceLockStatusW *r) 1048 1048 { 1049 p-> rng_fault_state = True;1049 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1050 1050 return WERR_NOT_SUPPORTED; 1051 1051 } … … 1054 1054 struct svcctl_GetServiceKeyNameW *r) 1055 1055 { 1056 p-> rng_fault_state = True;1056 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1057 1057 return WERR_NOT_SUPPORTED; 1058 1058 } … … 1061 1061 struct svcctl_SCSetServiceBitsA *r) 1062 1062 { 1063 p-> rng_fault_state = True;1063 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1064 1064 return WERR_NOT_SUPPORTED; 1065 1065 } … … 1068 1068 struct svcctl_ChangeServiceConfigA *r) 1069 1069 { 1070 p-> rng_fault_state = True;1070 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1071 1071 return WERR_NOT_SUPPORTED; 1072 1072 } … … 1075 1075 struct svcctl_CreateServiceA *r) 1076 1076 { 1077 p-> rng_fault_state = True;1077 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1078 1078 return WERR_NOT_SUPPORTED; 1079 1079 } … … 1082 1082 struct svcctl_EnumDependentServicesA *r) 1083 1083 { 1084 p-> rng_fault_state = True;1084 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1085 1085 return WERR_NOT_SUPPORTED; 1086 1086 } … … 1089 1089 struct svcctl_EnumServicesStatusA *r) 1090 1090 { 1091 p-> rng_fault_state = True;1091 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1092 1092 return WERR_NOT_SUPPORTED; 1093 1093 } … … 1096 1096 struct svcctl_OpenSCManagerA *r) 1097 1097 { 1098 p-> rng_fault_state = True;1098 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1099 1099 return WERR_NOT_SUPPORTED; 1100 1100 } … … 1103 1103 struct svcctl_OpenServiceA *r) 1104 1104 { 1105 p-> rng_fault_state = True;1105 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1106 1106 return WERR_NOT_SUPPORTED; 1107 1107 } … … 1110 1110 struct svcctl_QueryServiceConfigA *r) 1111 1111 { 1112 p-> rng_fault_state = True;1112 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1113 1113 return WERR_NOT_SUPPORTED; 1114 1114 } … … 1117 1117 struct svcctl_QueryServiceLockStatusA *r) 1118 1118 { 1119 p-> rng_fault_state = True;1119 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1120 1120 return WERR_NOT_SUPPORTED; 1121 1121 } … … 1124 1124 struct svcctl_StartServiceA *r) 1125 1125 { 1126 p-> rng_fault_state = True;1126 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1127 1127 return WERR_NOT_SUPPORTED; 1128 1128 } … … 1131 1131 struct svcctl_GetServiceDisplayNameA *r) 1132 1132 { 1133 p-> rng_fault_state = True;1133 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1134 1134 return WERR_NOT_SUPPORTED; 1135 1135 } … … 1138 1138 struct svcctl_GetServiceKeyNameA *r) 1139 1139 { 1140 p-> rng_fault_state = True;1140 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1141 1141 return WERR_NOT_SUPPORTED; 1142 1142 } … … 1145 1145 struct svcctl_GetCurrentGroupeStateW *r) 1146 1146 { 1147 p-> rng_fault_state = True;1147 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1148 1148 return WERR_NOT_SUPPORTED; 1149 1149 } … … 1152 1152 struct svcctl_EnumServiceGroupW *r) 1153 1153 { 1154 p-> rng_fault_state = True;1154 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1155 1155 return WERR_NOT_SUPPORTED; 1156 1156 } … … 1159 1159 struct svcctl_ChangeServiceConfig2A *r) 1160 1160 { 1161 p-> rng_fault_state = True;1161 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1162 1162 return WERR_NOT_SUPPORTED; 1163 1163 } … … 1166 1166 struct svcctl_ChangeServiceConfig2W *r) 1167 1167 { 1168 p-> rng_fault_state = True;1168 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1169 1169 return WERR_NOT_SUPPORTED; 1170 1170 } … … 1173 1173 struct svcctl_QueryServiceConfig2A *r) 1174 1174 { 1175 p-> rng_fault_state = True;1175 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1176 1176 return WERR_NOT_SUPPORTED; 1177 1177 } … … 1180 1180 struct EnumServicesStatusExA *r) 1181 1181 { 1182 p-> rng_fault_state = True;1182 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1183 1183 return WERR_NOT_SUPPORTED; 1184 1184 } … … 1187 1187 struct EnumServicesStatusExW *r) 1188 1188 { 1189 p-> rng_fault_state = True;1189 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1190 1190 return WERR_NOT_SUPPORTED; 1191 1191 } … … 1194 1194 struct svcctl_SCSendTSMessage *r) 1195 1195 { 1196 p-> rng_fault_state = True;1197 return WERR_NOT_SUPPORTED; 1198 } 1196 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1197 return WERR_NOT_SUPPORTED; 1198 } -
vendor/current/source3/rpc_server/winreg/srv_winreg_nt.c
r917 r919 761 761 do anything */ 762 762 763 p-> rng_fault_state = True;763 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 764 764 return WERR_NOT_SUPPORTED; 765 765 } … … 949 949 do anything */ 950 950 951 p-> rng_fault_state = True;951 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 952 952 return WERR_NOT_SUPPORTED; 953 953 } … … 963 963 do anything */ 964 964 965 p-> rng_fault_state = True;965 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 966 966 return WERR_NOT_SUPPORTED; 967 967 } … … 977 977 do anything */ 978 978 979 p-> rng_fault_state = True;979 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 980 980 return WERR_NOT_SUPPORTED; 981 981 } … … 1140 1140 do anything */ 1141 1141 1142 p-> rng_fault_state = True;1142 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1143 1143 return WERR_NOT_SUPPORTED; 1144 1144 } -
vendor/current/source3/rpc_server/wkssvc/srv_wkssvc_nt.c
r860 r919 406 406 { 407 407 /* FIXME: Add implementation code here */ 408 p-> rng_fault_state = True;408 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 409 409 return WERR_NOT_SUPPORTED; 410 410 } … … 609 609 { 610 610 /* FIXME: Add implementation code here */ 611 p-> rng_fault_state = True;611 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 612 612 return WERR_NOT_SUPPORTED; 613 613 } … … 620 620 { 621 621 /* FIXME: Add implementation code here */ 622 p-> rng_fault_state = True;622 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 623 623 return WERR_NOT_SUPPORTED; 624 624 } … … 631 631 { 632 632 /* FIXME: Add implementation code here */ 633 p-> rng_fault_state = True;633 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 634 634 return WERR_NOT_SUPPORTED; 635 635 } … … 642 642 { 643 643 /* FIXME: Add implementation code here */ 644 p-> rng_fault_state = True;644 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 645 645 return WERR_NOT_SUPPORTED; 646 646 } … … 653 653 { 654 654 /* FIXME: Add implementation code here */ 655 p-> rng_fault_state = True;655 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 656 656 return WERR_NOT_SUPPORTED; 657 657 } … … 664 664 { 665 665 /* FIXME: Add implementation code here */ 666 p-> rng_fault_state = True;666 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 667 667 return WERR_NOT_SUPPORTED; 668 668 } … … 675 675 { 676 676 /* FIXME: Add implementation code here */ 677 p-> rng_fault_state = True;677 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 678 678 return WERR_NOT_SUPPORTED; 679 679 } … … 686 686 { 687 687 /* FIXME: Add implementation code here */ 688 p-> rng_fault_state = True;688 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 689 689 return WERR_NOT_SUPPORTED; 690 690 } … … 697 697 { 698 698 /* FIXME: Add implementation code here */ 699 p-> rng_fault_state = True;699 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 700 700 return WERR_NOT_SUPPORTED; 701 701 } … … 708 708 { 709 709 /* FIXME: Add implementation code here */ 710 p-> rng_fault_state = True;710 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 711 711 return WERR_NOT_SUPPORTED; 712 712 } … … 719 719 { 720 720 /* FIXME: Add implementation code here */ 721 p-> rng_fault_state = True;721 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 722 722 return WERR_NOT_SUPPORTED; 723 723 } … … 730 730 { 731 731 /* FIXME: Add implementation code here */ 732 p-> rng_fault_state = True;732 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 733 733 return WERR_NOT_SUPPORTED; 734 734 } … … 741 741 { 742 742 /* FIXME: Add implementation code here */ 743 p-> rng_fault_state = True;743 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 744 744 return WERR_NOT_SUPPORTED; 745 745 } … … 752 752 { 753 753 /* FIXME: Add implementation code here */ 754 p-> rng_fault_state = True;754 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 755 755 return WERR_NOT_SUPPORTED; 756 756 } … … 763 763 { 764 764 /* FIXME: Add implementation code here */ 765 p-> rng_fault_state = True;765 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 766 766 return WERR_NOT_SUPPORTED; 767 767 } … … 774 774 { 775 775 /* FIXME: Add implementation code here */ 776 p-> rng_fault_state = True;776 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 777 777 return WERR_NOT_SUPPORTED; 778 778 } … … 785 785 { 786 786 /* FIXME: Add implementation code here */ 787 p-> rng_fault_state = True;787 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 788 788 return WERR_NOT_SUPPORTED; 789 789 } … … 796 796 { 797 797 /* FIXME: Add implementation code here */ 798 p-> rng_fault_state = True;798 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 799 799 return WERR_NOT_SUPPORTED; 800 800 } … … 807 807 { 808 808 /* FIXME: Add implementation code here */ 809 p-> rng_fault_state = True;809 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 810 810 return WERR_NOT_SUPPORTED; 811 811 } … … 963 963 { 964 964 /* for now just return not supported */ 965 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 965 966 return WERR_NOT_SUPPORTED; 966 967 } … … 973 974 { 974 975 /* FIXME: Add implementation code here */ 975 p-> rng_fault_state = True;976 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 976 977 return WERR_NOT_SUPPORTED; 977 978 } … … 984 985 { 985 986 /* FIXME: Add implementation code here */ 986 p-> rng_fault_state = True;987 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 987 988 return WERR_NOT_SUPPORTED; 988 989 } … … 995 996 { 996 997 /* FIXME: Add implementation code here */ 997 p-> rng_fault_state = True;998 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 998 999 return WERR_NOT_SUPPORTED; 999 1000 } … … 1006 1007 { 1007 1008 /* FIXME: Add implementation code here */ 1008 p-> rng_fault_state = True;1009 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1009 1010 return WERR_NOT_SUPPORTED; 1010 1011 } … … 1017 1018 { 1018 1019 /* FIXME: Add implementation code here */ 1019 p-> rng_fault_state = True;1020 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1020 1021 return WERR_NOT_SUPPORTED; 1021 1022 } … … 1028 1029 { 1029 1030 /* FIXME: Add implementation code here */ 1030 p-> rng_fault_state = True;1031 return WERR_NOT_SUPPORTED; 1032 } 1031 p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; 1032 return WERR_NOT_SUPPORTED; 1033 }
Note:
See TracChangeset
for help on using the changeset viewer.