Changeset 920 for trunk/server/source3/rpc_server
- Timestamp:
- Jun 9, 2016, 2:23:12 PM (10 years ago)
- Location:
- trunk/server
- Files:
-
- 19 edited
-
. (modified) (1 prop)
-
source3/rpc_server/dfs/srv_dfs_nt.c (modified) (18 diffs)
-
source3/rpc_server/dssetup/srv_dssetup_nt.c (modified) (10 diffs)
-
source3/rpc_server/echo/srv_echo_nt.c (modified) (5 diffs)
-
source3/rpc_server/epmapper/srv_epmapper.c (modified) (5 diffs)
-
source3/rpc_server/eventlog/srv_eventlog_nt.c (modified) (16 diffs)
-
source3/rpc_server/lsa/srv_lsa_nt.c (modified) (36 diffs)
-
source3/rpc_server/netlogon/srv_netlog_nt.c (modified) (35 diffs)
-
source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c (modified) (58 diffs)
-
source3/rpc_server/rpc_handles.c (modified) (1 diff)
-
source3/rpc_server/rpc_ncacn_np.c (modified) (3 diffs)
-
source3/rpc_server/rpc_server.c (modified) (3 diffs)
-
source3/rpc_server/samr/srv_samr_nt.c (modified) (10 diffs)
-
source3/rpc_server/spoolss/srv_spoolss_nt.c (modified) (57 diffs)
-
source3/rpc_server/srv_pipe.c (modified) (42 diffs)
-
source3/rpc_server/srvsvc/srv_srvsvc_nt.c (modified) (35 diffs)
-
source3/rpc_server/svcctl/srv_svcctl_nt.c (modified) (28 diffs)
-
source3/rpc_server/winreg/srv_winreg_nt.c (modified) (5 diffs)
-
source3/rpc_server/wkssvc/srv_wkssvc_nt.c (modified) (27 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 919
- Property svn:mergeinfo changed
-
trunk/server/source3/rpc_server/dfs/srv_dfs_nt.c
r918 r920 412 412 { 413 413 /* FIXME: Implement your code here */ 414 p-> rng_fault_state = True;414 p->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 534 return WERR_NOT_SUPPORTED; 535 } -
trunk/server/source3/rpc_server/dssetup/srv_dssetup_nt.c
r918 r920 131 131 struct dssetup_DsRoleDnsNameToFlatName *r) 132 132 { 133 p-> rng_fault_state = true;133 p->; 134 134 return WERR_NOT_SUPPORTED; 135 135 } … … 141 141 struct dssetup_DsRoleDcAsDc *r) 142 142 { 143 p-> rng_fault_state = true;143 p->; 144 144 return WERR_NOT_SUPPORTED; 145 145 } … … 151 151 struct dssetup_DsRoleDcAsReplica *r) 152 152 { 153 p-> rng_fault_state = true;153 p->; 154 154 return WERR_NOT_SUPPORTED; 155 155 } … … 161 161 struct dssetup_DsRoleDemoteDc *r) 162 162 { 163 p-> rng_fault_state = true;163 p->; 164 164 return WERR_NOT_SUPPORTED; 165 165 } … … 171 171 struct dssetup_DsRoleGetDcOperationProgress *r) 172 172 { 173 p-> rng_fault_state = true;173 p->; 174 174 return WERR_NOT_SUPPORTED; 175 175 } … … 181 181 struct dssetup_DsRoleGetDcOperationResults *r) 182 182 { 183 p-> rng_fault_state = true;183 p->; 184 184 return WERR_NOT_SUPPORTED; 185 185 } … … 191 191 struct dssetup_DsRoleCancel *r) 192 192 { 193 p-> rng_fault_state = true;193 p->; 194 194 return WERR_NOT_SUPPORTED; 195 195 } … … 201 201 struct dssetup_DsRoleServerSaveStateForUpgrade *r) 202 202 { 203 p-> rng_fault_state = true;203 p->; 204 204 return WERR_NOT_SUPPORTED; 205 205 } … … 211 211 struct dssetup_DsRoleUpgradeDownlevelServer *r) 212 212 { 213 p-> rng_fault_state = true;213 p->; 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->; 224 return WERR_NOT_SUPPORTED; 225 } -
trunk/server/source3/rpc_server/echo/srv_echo_nt.c
r918 r920 88 88 void _echo_TestCall(struct pipes_struct *p, struct echo_TestCall *r) 89 89 { 90 p-> rng_fault_state = True;90 p->; 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->; 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->; 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->; 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->; 121 121 return 0; 122 122 } -
trunk/server/source3/rpc_server/epmapper/srv_epmapper.c
r918 r920 298 298 if (p->transport != NCALRPC || 299 299 !is_priviledged_pipe(p->session_info)) { 300 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 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->; 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->; 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->; 1125 1127 return EPMAPPER_STATUS_CANT_PERFORM_OP; 1126 1128 } -
trunk/server/source3/rpc_server/eventlog/srv_eventlog_nt.c
r918 r920 696 696 NTSTATUS _eventlog_BackupEventLogW(struct pipes_struct *p, struct eventlog_BackupEventLogW *r) 697 697 { 698 p-> rng_fault_state = True;698 p->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 940 return NT_STATUS_NOT_IMPLEMENTED; 941 } -
trunk/server/source3/rpc_server/lsa/srv_lsa_nt.c
r918 r920 818 818 819 819 if ((pdb_capabilities() & PDB_CAP_ADS) == 0) { 820 p-> rng_fault_state = True;820 p->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 4024 4024 return NT_STATUS_NOT_IMPLEMENTED; 4025 4025 } -
trunk/server/source3/rpc_server/netlogon/srv_netlog_nt.c
r916 r920 1509 1509 { 1510 1510 const char *wksname = nt_workstation; 1511 1511 1512 1512 1513 status = make_auth_context_fixed(talloc_tos(), &auth_context, … … 1533 1534 status = NT_STATUS_NO_MEMORY; 1534 1535 } 1536 1537 1538 1539 1540 1541 1542 1543 1535 1544 break; 1536 1545 } … … 1637 1646 break; 1638 1647 case 6: 1648 1649 1650 1651 1652 1653 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->; 1791 1808 return WERR_NOT_SUPPORTED; 1792 1809 } … … 1798 1815 struct netr_LogonUasLogoff *r) 1799 1816 { 1800 p-> rng_fault_state = true;1817 p->; 1801 1818 return WERR_NOT_SUPPORTED; 1802 1819 } … … 1808 1825 struct netr_DatabaseDeltas *r) 1809 1826 { 1810 p-> rng_fault_state = true;1827 p->; 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->; 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->; 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->; 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->; 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->; 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->; 2002 2019 return WERR_NOT_SUPPORTED; 2003 2020 } … … 2018 2035 struct netr_NETRLOGONSETSERVICEBITS *r) 2019 2036 { 2020 p-> rng_fault_state = true;2037 p->; 2021 2038 return WERR_NOT_SUPPORTED; 2022 2039 } … … 2028 2045 struct netr_LogonGetTrustRid *r) 2029 2046 { 2030 p-> rng_fault_state = true;2047 p->; 2031 2048 return WERR_NOT_SUPPORTED; 2032 2049 } … … 2038 2055 struct netr_NETRLOGONCOMPUTESERVERDIGEST *r) 2039 2056 { 2040 p-> rng_fault_state = true;2057 p->; 2041 2058 return WERR_NOT_SUPPORTED; 2042 2059 } … … 2048 2065 struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r) 2049 2066 { 2050 p-> rng_fault_state = true;2067 p->; 2051 2068 return WERR_NOT_SUPPORTED; 2052 2069 } … … 2058 2075 struct netr_DsRGetDCNameEx *r) 2059 2076 { 2060 p-> rng_fault_state = true;2077 p->; 2061 2078 return WERR_NOT_SUPPORTED; 2062 2079 } … … 2068 2085 struct netr_DsRGetSiteName *r) 2069 2086 { 2070 p-> rng_fault_state = true;2087 p->; 2071 2088 return WERR_NOT_SUPPORTED; 2072 2089 } … … 2078 2095 struct netr_LogonGetDomainInfo *r) 2079 2096 { 2080 p-> rng_fault_state = true;2097 p->; 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->; 2091 2108 return WERR_NOT_SUPPORTED; 2092 2109 } … … 2098 2115 struct netr_NETRLOGONSENDTOSAM *r) 2099 2116 { 2100 p-> rng_fault_state = true;2117 p->; 2101 2118 return WERR_NOT_SUPPORTED; 2102 2119 } … … 2108 2125 struct netr_DsRAddressToSitenamesW *r) 2109 2126 { 2110 p-> rng_fault_state = true;2127 p->; 2111 2128 return WERR_NOT_SUPPORTED; 2112 2129 } … … 2118 2135 struct netr_DsRGetDCNameEx2 *r) 2119 2136 { 2120 p-> rng_fault_state = true;2137 p->; 2121 2138 return WERR_NOT_SUPPORTED; 2122 2139 } … … 2128 2145 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN *r) 2129 2146 { 2130 p-> rng_fault_state = true;2147 p->; 2131 2148 return WERR_NOT_SUPPORTED; 2132 2149 } … … 2138 2155 struct netr_NetrEnumerateTrustedDomainsEx *r) 2139 2156 { 2140 p-> rng_fault_state = true;2157 p->; 2141 2158 return WERR_NOT_SUPPORTED; 2142 2159 } … … 2148 2165 struct netr_DsRAddressToSitenamesExW *r) 2149 2166 { 2150 p-> rng_fault_state = true;2167 p->; 2151 2168 return WERR_NOT_SUPPORTED; 2152 2169 } … … 2158 2175 struct netr_DsrGetDcSiteCoverageW *r) 2159 2176 { 2160 p-> rng_fault_state = true;2177 p->; 2161 2178 return WERR_NOT_SUPPORTED; 2162 2179 } … … 2168 2185 struct netr_DsrEnumerateDomainTrusts *r) 2169 2186 { 2170 p-> rng_fault_state = true;2187 p->; 2171 2188 return WERR_NOT_SUPPORTED; 2172 2189 } … … 2178 2195 struct netr_DsrDeregisterDNSHostRecords *r) 2179 2196 { 2180 p-> rng_fault_state = true;2197 p->; 2181 2198 return WERR_NOT_SUPPORTED; 2182 2199 } … … 2188 2205 struct netr_ServerTrustPasswordsGet *r) 2189 2206 { 2190 p-> rng_fault_state = true;2207 p->; 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->; 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->; 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->; 2490 2511 return NT_STATUS_NOT_IMPLEMENTED; 2491 2512 } -
trunk/server/source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c
r918 r920 228 228 struct PNP_Disconnect *r) 229 229 { 230 p-> rng_fault_state = true;230 p->; 231 231 return WERR_NOT_SUPPORTED; 232 232 } … … 238 238 struct PNP_Connect *r) 239 239 { 240 p-> rng_fault_state = true;240 p->; 241 241 return WERR_NOT_SUPPORTED; 242 242 } … … 248 248 struct PNP_GetGlobalState *r) 249 249 { 250 p-> rng_fault_state = true;250 p->; 251 251 return WERR_NOT_SUPPORTED; 252 252 } … … 258 258 struct PNP_InitDetection *r) 259 259 { 260 p-> rng_fault_state = true;260 p->; 261 261 return WERR_NOT_SUPPORTED; 262 262 } … … 268 268 struct PNP_ReportLogOn *r) 269 269 { 270 p-> rng_fault_state = true;270 p->; 271 271 return WERR_NOT_SUPPORTED; 272 272 } … … 278 278 struct PNP_GetRootDeviceInstance *r) 279 279 { 280 p-> rng_fault_state = true;280 p->; 281 281 return WERR_NOT_SUPPORTED; 282 282 } … … 288 288 struct PNP_GetRelatedDeviceInstance *r) 289 289 { 290 p-> rng_fault_state = true;290 p->; 291 291 return WERR_NOT_SUPPORTED; 292 292 } … … 298 298 struct PNP_EnumerateSubKeys *r) 299 299 { 300 p-> rng_fault_state = true;300 p->; 301 301 return WERR_NOT_SUPPORTED; 302 302 } … … 308 308 struct PNP_GetDepth *r) 309 309 { 310 p-> rng_fault_state = true;310 p->; 311 311 return WERR_NOT_SUPPORTED; 312 312 } … … 318 318 struct PNP_SetDeviceRegProp *r) 319 319 { 320 p-> rng_fault_state = true;320 p->; 321 321 return WERR_NOT_SUPPORTED; 322 322 } … … 328 328 struct PNP_GetClassInstance *r) 329 329 { 330 p-> rng_fault_state = true;330 p->; 331 331 return WERR_NOT_SUPPORTED; 332 332 } … … 338 338 struct PNP_CreateKey *r) 339 339 { 340 p-> rng_fault_state = true;340 p->; 341 341 return WERR_NOT_SUPPORTED; 342 342 } … … 348 348 struct PNP_DeleteRegistryKey *r) 349 349 { 350 p-> rng_fault_state = true;350 p->; 351 351 return WERR_NOT_SUPPORTED; 352 352 } … … 358 358 struct PNP_GetClassCount *r) 359 359 { 360 p-> rng_fault_state = true;360 p->; 361 361 return WERR_NOT_SUPPORTED; 362 362 } … … 368 368 struct PNP_GetClassName *r) 369 369 { 370 p-> rng_fault_state = true;370 p->; 371 371 return WERR_NOT_SUPPORTED; 372 372 } … … 378 378 struct PNP_DeleteClassKey *r) 379 379 { 380 p-> rng_fault_state = true;380 p->; 381 381 return WERR_NOT_SUPPORTED; 382 382 } … … 388 388 struct PNP_GetInterfaceDeviceAlias *r) 389 389 { 390 p-> rng_fault_state = true;390 p->; 391 391 return WERR_NOT_SUPPORTED; 392 392 } … … 398 398 struct PNP_GetInterfaceDeviceList *r) 399 399 { 400 p-> rng_fault_state = true;400 p->; 401 401 return WERR_NOT_SUPPORTED; 402 402 } … … 408 408 struct PNP_GetInterfaceDeviceListSize *r) 409 409 { 410 p-> rng_fault_state = true;410 p->; 411 411 return WERR_NOT_SUPPORTED; 412 412 } … … 418 418 struct PNP_RegisterDeviceClassAssociation *r) 419 419 { 420 p-> rng_fault_state = true;420 p->; 421 421 return WERR_NOT_SUPPORTED; 422 422 } … … 428 428 struct PNP_UnregisterDeviceClassAssociation *r) 429 429 { 430 p-> rng_fault_state = true;430 p->; 431 431 return WERR_NOT_SUPPORTED; 432 432 } … … 438 438 struct PNP_GetClassRegProp *r) 439 439 { 440 p-> rng_fault_state = true;440 p->; 441 441 return WERR_NOT_SUPPORTED; 442 442 } … … 448 448 struct PNP_SetClassRegProp *r) 449 449 { 450 p-> rng_fault_state = true;450 p->; 451 451 return WERR_NOT_SUPPORTED; 452 452 } … … 458 458 struct PNP_CreateDevInst *r) 459 459 { 460 p-> rng_fault_state = true;460 p->; 461 461 return WERR_NOT_SUPPORTED; 462 462 } … … 468 468 struct PNP_DeviceInstanceAction *r) 469 469 { 470 p-> rng_fault_state = true;470 p->; 471 471 return WERR_NOT_SUPPORTED; 472 472 } … … 478 478 struct PNP_GetDeviceStatus *r) 479 479 { 480 p-> rng_fault_state = true;480 p->; 481 481 return WERR_NOT_SUPPORTED; 482 482 } … … 488 488 struct PNP_SetDeviceProblem *r) 489 489 { 490 p-> rng_fault_state = true;490 p->; 491 491 return WERR_NOT_SUPPORTED; 492 492 } … … 498 498 struct PNP_DisableDevInst *r) 499 499 { 500 p-> rng_fault_state = true;500 p->; 501 501 return WERR_NOT_SUPPORTED; 502 502 } … … 508 508 struct PNP_UninstallDevInst *r) 509 509 { 510 p-> rng_fault_state = true;510 p->; 511 511 return WERR_NOT_SUPPORTED; 512 512 } … … 518 518 struct PNP_AddID *r) 519 519 { 520 p-> rng_fault_state = true;520 p->; 521 521 return WERR_NOT_SUPPORTED; 522 522 } … … 528 528 struct PNP_RegisterDriver *r) 529 529 { 530 p-> rng_fault_state = true;530 p->; 531 531 return WERR_NOT_SUPPORTED; 532 532 } … … 538 538 struct PNP_QueryRemove *r) 539 539 { 540 p-> rng_fault_state = true;540 p->; 541 541 return WERR_NOT_SUPPORTED; 542 542 } … … 548 548 struct PNP_RequestDeviceEject *r) 549 549 { 550 p-> rng_fault_state = true;550 p->; 551 551 return WERR_NOT_SUPPORTED; 552 552 } … … 558 558 struct PNP_IsDockStationPresent *r) 559 559 { 560 p-> rng_fault_state = true;560 p->; 561 561 return WERR_NOT_SUPPORTED; 562 562 } … … 568 568 struct PNP_RequestEjectPC *r) 569 569 { 570 p-> rng_fault_state = true;570 p->; 571 571 return WERR_NOT_SUPPORTED; 572 572 } … … 578 578 struct PNP_AddEmptyLogConf *r) 579 579 { 580 p-> rng_fault_state = true;580 p->; 581 581 return WERR_NOT_SUPPORTED; 582 582 } … … 588 588 struct PNP_FreeLogConf *r) 589 589 { 590 p-> rng_fault_state = true;590 p->; 591 591 return WERR_NOT_SUPPORTED; 592 592 } … … 598 598 struct PNP_GetFirstLogConf *r) 599 599 { 600 p-> rng_fault_state = true;600 p->; 601 601 return WERR_NOT_SUPPORTED; 602 602 } … … 608 608 struct PNP_GetNextLogConf *r) 609 609 { 610 p-> rng_fault_state = true;610 p->; 611 611 return WERR_NOT_SUPPORTED; 612 612 } … … 618 618 struct PNP_GetLogConfPriority *r) 619 619 { 620 p-> rng_fault_state = true;620 p->; 621 621 return WERR_NOT_SUPPORTED; 622 622 } … … 628 628 struct PNP_AddResDes *r) 629 629 { 630 p-> rng_fault_state = true;630 p->; 631 631 return WERR_NOT_SUPPORTED; 632 632 } … … 638 638 struct PNP_FreeResDes *r) 639 639 { 640 p-> rng_fault_state = true;640 p->; 641 641 return WERR_NOT_SUPPORTED; 642 642 } … … 648 648 struct PNP_GetNextResDes *r) 649 649 { 650 p-> rng_fault_state = true;650 p->; 651 651 return WERR_NOT_SUPPORTED; 652 652 } … … 658 658 struct PNP_GetResDesData *r) 659 659 { 660 p-> rng_fault_state = true;660 p->; 661 661 return WERR_NOT_SUPPORTED; 662 662 } … … 668 668 struct PNP_GetResDesDataSize *r) 669 669 { 670 p-> rng_fault_state = true;670 p->; 671 671 return WERR_NOT_SUPPORTED; 672 672 } … … 678 678 struct PNP_ModifyResDes *r) 679 679 { 680 p-> rng_fault_state = true;680 p->; 681 681 return WERR_NOT_SUPPORTED; 682 682 } … … 688 688 struct PNP_DetectResourceLimit *r) 689 689 { 690 p-> rng_fault_state = true;690 p->; 691 691 return WERR_NOT_SUPPORTED; 692 692 } … … 698 698 struct PNP_QueryResConfList *r) 699 699 { 700 p-> rng_fault_state = true;700 p->; 701 701 return WERR_NOT_SUPPORTED; 702 702 } … … 708 708 struct PNP_SetHwProf *r) 709 709 { 710 p-> rng_fault_state = true;710 p->; 711 711 return WERR_NOT_SUPPORTED; 712 712 } … … 718 718 struct PNP_QueryArbitratorFreeData *r) 719 719 { 720 p-> rng_fault_state = true;720 p->; 721 721 return WERR_NOT_SUPPORTED; 722 722 } … … 728 728 struct PNP_QueryArbitratorFreeSize *r) 729 729 { 730 p-> rng_fault_state = true;730 p->; 731 731 return WERR_NOT_SUPPORTED; 732 732 } … … 738 738 struct PNP_RunDetection *r) 739 739 { 740 p-> rng_fault_state = true;740 p->; 741 741 return WERR_NOT_SUPPORTED; 742 742 } … … 748 748 struct PNP_RegisterNotification *r) 749 749 { 750 p-> rng_fault_state = true;750 p->; 751 751 return WERR_NOT_SUPPORTED; 752 752 } … … 758 758 struct PNP_UnregisterNotification *r) 759 759 { 760 p-> rng_fault_state = true;760 p->; 761 761 return WERR_NOT_SUPPORTED; 762 762 } … … 768 768 struct PNP_GetCustomDevProp *r) 769 769 { 770 p-> rng_fault_state = true;770 p->; 771 771 return WERR_NOT_SUPPORTED; 772 772 } … … 778 778 struct PNP_GetVersionInternal *r) 779 779 { 780 p-> rng_fault_state = true;780 p->; 781 781 return WERR_NOT_SUPPORTED; 782 782 } … … 788 788 struct PNP_GetBlockedDriverInfo *r) 789 789 { 790 p-> rng_fault_state = true;790 p->; 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->; 801 return WERR_NOT_SUPPORTED; 802 } -
trunk/server/source3/rpc_server/rpc_handles.c
r918 r920 243 243 dump_data(4, (uint8_t *)hnd, sizeof(*hnd)); 244 244 245 p-> bad_handle_fault_state = true;245 p->; 246 246 247 247 return NULL; -
trunk/server/source3/rpc_server/rpc_ncacn_np.c
r918 r920 172 172 p->syntax = *syntax; 173 173 p->transport = NCALRPC; 174 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 794 785 795 786 status = rpccli_anon_bind_data(result, &auth); -
trunk/server/source3/rpc_server/rpc_server.c
r745 r920 103 103 p->transport = transport; 104 104 p->ncalrpc_as_system = ncalrpc_as_system; 105 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 665 666 667 668 669 663 670 goto fail; 664 671 } … … 1392 1399 } 1393 1400 1401 1402 1403 1404 1405 1406 1394 1407 /* clear out any data that may have been left around */ 1395 1408 ncacn_conn->count = 0; -
trunk/server/source3/rpc_server/samr/srv_samr_nt.c
r862 r920 6629 6629 struct samr_PwInfo dom_pw_info; 6630 6630 6631 6632 6633 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->; 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->; 6696 6701 return NT_STATUS_NOT_IMPLEMENTED; 6697 6702 } … … 6703 6708 struct samr_TestPrivateFunctionsDomain *r) 6704 6709 { 6710 6705 6711 return NT_STATUS_NOT_IMPLEMENTED; 6706 6712 } … … 6712 6718 struct samr_TestPrivateFunctionsUser *r) 6713 6719 { 6720 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->; 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->; 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->; 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->; 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->; 6764 6771 return NT_STATUS_NOT_IMPLEMENTED; 6765 6772 } -
trunk/server/source3/rpc_server/spoolss/srv_spoolss_nt.c
r862 r920 2481 2481 "", /* domain */ 2482 2482 "", /* password */ 2483 0, lp_client_signing());2483 0, ); 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->; 10160 10160 return WERR_NOT_SUPPORTED; 10161 10161 } … … 10168 10168 struct spoolss_ReadPrinter *r) 10169 10169 { 10170 p-> rng_fault_state = true;10170 p->; 10171 10171 return WERR_NOT_SUPPORTED; 10172 10172 } … … 10179 10179 struct spoolss_WaitForPrinterChange *r) 10180 10180 { 10181 p-> rng_fault_state = true;10181 p->; 10182 10182 return WERR_NOT_SUPPORTED; 10183 10183 } … … 10190 10190 struct spoolss_ConfigurePort *r) 10191 10191 { 10192 p-> rng_fault_state = true;10192 p->; 10193 10193 return WERR_NOT_SUPPORTED; 10194 10194 } … … 10201 10201 struct spoolss_DeletePort *r) 10202 10202 { 10203 p-> rng_fault_state = true;10203 p->; 10204 10204 return WERR_NOT_SUPPORTED; 10205 10205 } … … 10212 10212 struct spoolss_CreatePrinterIC *r) 10213 10213 { 10214 p-> rng_fault_state = true;10214 p->; 10215 10215 return WERR_NOT_SUPPORTED; 10216 10216 } … … 10223 10223 struct spoolss_PlayGDIScriptOnPrinterIC *r) 10224 10224 { 10225 p-> rng_fault_state = true;10225 p->; 10226 10226 return WERR_NOT_SUPPORTED; 10227 10227 } … … 10234 10234 struct spoolss_DeletePrinterIC *r) 10235 10235 { 10236 p-> rng_fault_state = true;10236 p->; 10237 10237 return WERR_NOT_SUPPORTED; 10238 10238 } … … 10245 10245 struct spoolss_AddPrinterConnection *r) 10246 10246 { 10247 p-> rng_fault_state = true;10247 p->; 10248 10248 return WERR_NOT_SUPPORTED; 10249 10249 } … … 10256 10256 struct spoolss_DeletePrinterConnection *r) 10257 10257 { 10258 p-> rng_fault_state = true;10258 p->; 10259 10259 return WERR_NOT_SUPPORTED; 10260 10260 } … … 10267 10267 struct spoolss_PrinterMessageBox *r) 10268 10268 { 10269 p-> rng_fault_state = true;10269 p->; 10270 10270 return WERR_NOT_SUPPORTED; 10271 10271 } … … 10278 10278 struct spoolss_AddMonitor *r) 10279 10279 { 10280 p-> rng_fault_state = true;10280 p->; 10281 10281 return WERR_NOT_SUPPORTED; 10282 10282 } … … 10289 10289 struct spoolss_DeleteMonitor *r) 10290 10290 { 10291 p-> rng_fault_state = true;10291 p->; 10292 10292 return WERR_NOT_SUPPORTED; 10293 10293 } … … 10300 10300 struct spoolss_DeletePrintProcessor *r) 10301 10301 { 10302 p-> rng_fault_state = true;10302 p->; 10303 10303 return WERR_NOT_SUPPORTED; 10304 10304 } … … 10311 10311 struct spoolss_AddPrintProvidor *r) 10312 10312 { 10313 p-> rng_fault_state = true;10313 p->; 10314 10314 return WERR_NOT_SUPPORTED; 10315 10315 } … … 10322 10322 struct spoolss_DeletePrintProvidor *r) 10323 10323 { 10324 p-> rng_fault_state = true;10324 p->; 10325 10325 return WERR_NOT_SUPPORTED; 10326 10326 } … … 10333 10333 struct spoolss_FindFirstPrinterChangeNotification *r) 10334 10334 { 10335 p-> rng_fault_state = true;10335 p->; 10336 10336 return WERR_NOT_SUPPORTED; 10337 10337 } … … 10344 10344 struct spoolss_FindNextPrinterChangeNotification *r) 10345 10345 { 10346 p-> rng_fault_state = true;10346 p->; 10347 10347 return WERR_NOT_SUPPORTED; 10348 10348 } … … 10355 10355 struct spoolss_RouterFindFirstPrinterChangeNotificationOld *r) 10356 10356 { 10357 p-> rng_fault_state = true;10357 p->; 10358 10358 return WERR_NOT_SUPPORTED; 10359 10359 } … … 10366 10366 struct spoolss_ReplyOpenPrinter *r) 10367 10367 { 10368 p-> rng_fault_state = true;10368 p->; 10369 10369 return WERR_NOT_SUPPORTED; 10370 10370 } … … 10377 10377 struct spoolss_RouterReplyPrinter *r) 10378 10378 { 10379 p-> rng_fault_state = true;10379 p->; 10380 10380 return WERR_NOT_SUPPORTED; 10381 10381 } … … 10388 10388 struct spoolss_ReplyClosePrinter *r) 10389 10389 { 10390 p-> rng_fault_state = true;10390 p->; 10391 10391 return WERR_NOT_SUPPORTED; 10392 10392 } … … 10399 10399 struct spoolss_AddPortEx *r) 10400 10400 { 10401 p-> rng_fault_state = true;10401 p->; 10402 10402 return WERR_NOT_SUPPORTED; 10403 10403 } … … 10410 10410 struct spoolss_RouterFindFirstPrinterChangeNotification *r) 10411 10411 { 10412 p-> rng_fault_state = true;10412 p->; 10413 10413 return WERR_NOT_SUPPORTED; 10414 10414 } … … 10421 10421 struct spoolss_SpoolerInit *r) 10422 10422 { 10423 p-> rng_fault_state = true;10423 p->; 10424 10424 return WERR_NOT_SUPPORTED; 10425 10425 } … … 10432 10432 struct spoolss_ResetPrinterEx *r) 10433 10433 { 10434 p-> rng_fault_state = true;10434 p->; 10435 10435 return WERR_NOT_SUPPORTED; 10436 10436 } … … 10443 10443 struct spoolss_RouterReplyPrinterEx *r) 10444 10444 { 10445 p-> rng_fault_state = true;10445 p->; 10446 10446 return WERR_NOT_SUPPORTED; 10447 10447 } … … 10454 10454 struct spoolss_44 *r) 10455 10455 { 10456 p-> rng_fault_state = true;10456 p->; 10457 10457 return WERR_NOT_SUPPORTED; 10458 10458 } … … 10465 10465 struct spoolss_SetPort *r) 10466 10466 { 10467 p-> rng_fault_state = true;10467 p->; 10468 10468 return WERR_NOT_SUPPORTED; 10469 10469 } … … 10476 10476 struct spoolss_4a *r) 10477 10477 { 10478 p-> rng_fault_state = true;10478 p->; 10479 10479 return WERR_NOT_SUPPORTED; 10480 10480 } … … 10487 10487 struct spoolss_4b *r) 10488 10488 { 10489 p-> rng_fault_state = true;10489 p->; 10490 10490 return WERR_NOT_SUPPORTED; 10491 10491 } … … 10498 10498 struct spoolss_4c *r) 10499 10499 { 10500 p-> rng_fault_state = true;10500 p->; 10501 10501 return WERR_NOT_SUPPORTED; 10502 10502 } … … 10509 10509 struct spoolss_53 *r) 10510 10510 { 10511 p-> rng_fault_state = true;10511 p->; 10512 10512 return WERR_NOT_SUPPORTED; 10513 10513 } … … 10520 10520 struct spoolss_AddPerMachineConnection *r) 10521 10521 { 10522 p-> rng_fault_state = true;10522 p->; 10523 10523 return WERR_NOT_SUPPORTED; 10524 10524 } … … 10531 10531 struct spoolss_DeletePerMachineConnection *r) 10532 10532 { 10533 p-> rng_fault_state = true;10533 p->; 10534 10534 return WERR_NOT_SUPPORTED; 10535 10535 } … … 10542 10542 struct spoolss_EnumPerMachineConnections *r) 10543 10543 { 10544 p-> rng_fault_state = true;10544 p->; 10545 10545 return WERR_NOT_SUPPORTED; 10546 10546 } … … 10553 10553 struct spoolss_5a *r) 10554 10554 { 10555 p-> rng_fault_state = true;10555 p->; 10556 10556 return WERR_NOT_SUPPORTED; 10557 10557 } … … 10564 10564 struct spoolss_5b *r) 10565 10565 { 10566 p-> rng_fault_state = true;10566 p->; 10567 10567 return WERR_NOT_SUPPORTED; 10568 10568 } … … 10575 10575 struct spoolss_5c *r) 10576 10576 { 10577 p-> rng_fault_state = true;10577 p->; 10578 10578 return WERR_NOT_SUPPORTED; 10579 10579 } … … 10586 10586 struct spoolss_5d *r) 10587 10587 { 10588 p-> rng_fault_state = true;10588 p->; 10589 10589 return WERR_NOT_SUPPORTED; 10590 10590 } … … 10597 10597 struct spoolss_5e *r) 10598 10598 { 10599 p-> rng_fault_state = true;10599 p->; 10600 10600 return WERR_NOT_SUPPORTED; 10601 10601 } … … 10608 10608 struct spoolss_5f *r) 10609 10609 { 10610 p-> rng_fault_state = true;10610 p->; 10611 10611 return WERR_NOT_SUPPORTED; 10612 10612 } … … 10619 10619 struct spoolss_60 *r) 10620 10620 { 10621 p-> rng_fault_state = true;10621 p->; 10622 10622 return WERR_NOT_SUPPORTED; 10623 10623 } … … 10630 10630 struct spoolss_61 *r) 10631 10631 { 10632 p-> rng_fault_state = true;10632 p->; 10633 10633 return WERR_NOT_SUPPORTED; 10634 10634 } … … 10641 10641 struct spoolss_62 *r) 10642 10642 { 10643 p-> rng_fault_state = true;10643 p->; 10644 10644 return WERR_NOT_SUPPORTED; 10645 10645 } … … 10652 10652 struct spoolss_63 *r) 10653 10653 { 10654 p-> rng_fault_state = true;10654 p->; 10655 10655 return WERR_NOT_SUPPORTED; 10656 10656 } … … 10663 10663 struct spoolss_64 *r) 10664 10664 { 10665 p-> rng_fault_state = true;10665 p->; 10666 10666 return WERR_NOT_SUPPORTED; 10667 10667 } … … 10674 10674 struct spoolss_65 *r) 10675 10675 { 10676 p-> rng_fault_state = true;10676 p->; 10677 10677 return WERR_NOT_SUPPORTED; 10678 10678 } … … 10685 10685 struct spoolss_GetCorePrinterDrivers *r) 10686 10686 { 10687 p-> rng_fault_state = true;10687 p->; 10688 10688 return WERR_NOT_SUPPORTED; 10689 10689 } … … 10696 10696 struct spoolss_67 *r) 10697 10697 { 10698 p-> rng_fault_state = true;10698 p->; 10699 10699 return WERR_NOT_SUPPORTED; 10700 10700 } … … 10707 10707 struct spoolss_GetPrinterDriverPackagePath *r) 10708 10708 { 10709 p-> rng_fault_state = true;10709 p->; 10710 10710 return WERR_NOT_SUPPORTED; 10711 10711 } … … 10718 10718 struct spoolss_69 *r) 10719 10719 { 10720 p-> rng_fault_state = true;10720 p->; 10721 10721 return WERR_NOT_SUPPORTED; 10722 10722 } … … 10729 10729 struct spoolss_6a *r) 10730 10730 { 10731 p-> rng_fault_state = true;10731 p->; 10732 10732 return WERR_NOT_SUPPORTED; 10733 10733 } … … 10740 10740 struct spoolss_6b *r) 10741 10741 { 10742 p-> rng_fault_state = true;10742 p->; 10743 10743 return WERR_NOT_SUPPORTED; 10744 10744 } … … 10751 10751 struct spoolss_6c *r) 10752 10752 { 10753 p-> rng_fault_state = true;10753 p->; 10754 10754 return WERR_NOT_SUPPORTED; 10755 10755 } … … 10762 10762 struct spoolss_6d *r) 10763 10763 { 10764 p-> rng_fault_state = true;10764 p->; 10765 10765 return WERR_NOT_SUPPORTED; 10766 10766 } -
trunk/server/source3/rpc_server/srv_pipe.c
r918 r920 43 43 #include "ntdomain.h" 44 44 #include "rpc_server/srv_pipe.h" 45 46 47 48 49 50 51 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()); 206 213 return true; 207 214 } … … 270 277 p->out_data.current_pdu_sent = 0; 271 278 279 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 285 286 276 287 277 288 return True; … … 335 346 { 336 347 struct pipe_rpc_fns *context_fns; 348 349 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 391 392 350 393 351 394 context_fns = SMB_MALLOC_P(struct pipe_rpc_fns); … … 355 398 } 356 399 400 401 402 403 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 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 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 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 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 602 694 603 695 DEBUG(10, (__location__ ": NTLMSSP auth started\n")); … … 774 866 void *mech_ctx; 775 867 NTSTATUS status; 868 869 870 871 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 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 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_pkt, 1084 &pkt->u.bind.auth_info, 1085 ); 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 1073 1180 } 1074 1181 … … 1112 1219 DEBUG(0, ("Failed to marshall bind_ack packet. (%s)\n", 1113 1220 nt_errstr(status))); 1221 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, 1229 1123 1230 &auth_resp, 1124 1231 &auth_blob); … … 1151 1258 1152 1259 TALLOC_FREE(auth_blob.data); 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1153 1276 return True; 1154 1277 … … 1175 1298 DEBUG(5, ("api_pipe_bind_auth3: decode request. %d\n", __LINE__)); 1176 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1177 1331 if (pkt->auth_length == 0) { 1178 DEBUG( 0, ("No auth field sent for bindrequest!\n"));1332 DEBUG( 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_pkt, 1341 &pkt->u.auth3.auth_info, 1342 ); 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 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1213 1372 goto err; 1214 1373 } … … 1266 1425 1267 1426 err: 1427 1428 1429 1430 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 _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 _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..ctx_list[0].abstract_syntax, 1510 &pkt->u..ctx_list[0].transfer_syntaxes[0], 1511 pkt->u..ctx_list[0].context_id)) { 1512 1513 _ack_ctx.result = 0; 1514 _ack_ctx.reason = 0; 1515 .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 _ack_ctx.result = DCERPC_BIND_PROVIDER_REJECT; 1519 _ack_ctx.reason = DCERPC_BIND_REASON_ASYNTAX; 1520 _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 1535 1536 1537 1538 1539 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 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 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 = &_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 packet. (%s)\n", 1453 1650 nt_errstr(status))); 1651 1454 1652 } 1455 1653 … … 1468 1666 auth_info.auth_level, 1469 1667 pad_len, 1470 1, /* auth_context_id */1668 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 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 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 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__ERROR)); 2031 2307 TALLOC_FREE(pkt); 2032 2308 } else { -
trunk/server/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
r918 r920 2549 2549 struct srvsvc_NetCharDevEnum *r) 2550 2550 { 2551 p-> rng_fault_state = True;2551 p->; 2552 2552 return WERR_NOT_SUPPORTED; 2553 2553 } … … 2556 2556 struct srvsvc_NetCharDevGetInfo *r) 2557 2557 { 2558 p-> rng_fault_state = True;2558 p->; 2559 2559 return WERR_NOT_SUPPORTED; 2560 2560 } … … 2563 2563 struct srvsvc_NetCharDevControl *r) 2564 2564 { 2565 p-> rng_fault_state = True;2565 p->; 2566 2566 return WERR_NOT_SUPPORTED; 2567 2567 } … … 2570 2570 struct srvsvc_NetCharDevQEnum *r) 2571 2571 { 2572 p-> rng_fault_state = True;2572 p->; 2573 2573 return WERR_NOT_SUPPORTED; 2574 2574 } … … 2577 2577 struct srvsvc_NetCharDevQGetInfo *r) 2578 2578 { 2579 p-> rng_fault_state = True;2579 p->; 2580 2580 return WERR_NOT_SUPPORTED; 2581 2581 } … … 2584 2584 struct srvsvc_NetCharDevQSetInfo *r) 2585 2585 { 2586 p-> rng_fault_state = True;2586 p->; 2587 2587 return WERR_NOT_SUPPORTED; 2588 2588 } … … 2591 2591 struct srvsvc_NetCharDevQPurge *r) 2592 2592 { 2593 p-> rng_fault_state = True;2593 p->; 2594 2594 return WERR_NOT_SUPPORTED; 2595 2595 } … … 2598 2598 struct srvsvc_NetCharDevQPurgeSelf *r) 2599 2599 { 2600 p-> rng_fault_state = True;2600 p->; 2601 2601 return WERR_NOT_SUPPORTED; 2602 2602 } … … 2605 2605 struct srvsvc_NetFileGetInfo *r) 2606 2606 { 2607 p-> rng_fault_state = True;2607 p->; 2608 2608 return WERR_NOT_SUPPORTED; 2609 2609 } … … 2612 2612 struct srvsvc_NetShareCheck *r) 2613 2613 { 2614 p-> rng_fault_state = True;2614 p->; 2615 2615 return WERR_NOT_SUPPORTED; 2616 2616 } … … 2619 2619 struct srvsvc_NetServerStatisticsGet *r) 2620 2620 { 2621 p-> rng_fault_state = True;2621 p->; 2622 2622 return WERR_NOT_SUPPORTED; 2623 2623 } … … 2626 2626 struct srvsvc_NetTransportAdd *r) 2627 2627 { 2628 p-> rng_fault_state = True;2628 p->; 2629 2629 return WERR_NOT_SUPPORTED; 2630 2630 } … … 2633 2633 struct srvsvc_NetTransportEnum *r) 2634 2634 { 2635 p-> rng_fault_state = True;2635 p->; 2636 2636 return WERR_NOT_SUPPORTED; 2637 2637 } … … 2640 2640 struct srvsvc_NetTransportDel *r) 2641 2641 { 2642 p-> rng_fault_state = True;2642 p->; 2643 2643 return WERR_NOT_SUPPORTED; 2644 2644 } … … 2647 2647 struct srvsvc_NetSetServiceBits *r) 2648 2648 { 2649 p-> rng_fault_state = True;2649 p->; 2650 2650 return WERR_NOT_SUPPORTED; 2651 2651 } … … 2654 2654 struct srvsvc_NetPathType *r) 2655 2655 { 2656 p-> rng_fault_state = True;2656 p->; 2657 2657 return WERR_NOT_SUPPORTED; 2658 2658 } … … 2661 2661 struct srvsvc_NetPathCanonicalize *r) 2662 2662 { 2663 p-> rng_fault_state = True;2663 p->; 2664 2664 return WERR_NOT_SUPPORTED; 2665 2665 } … … 2668 2668 struct srvsvc_NetPathCompare *r) 2669 2669 { 2670 p-> rng_fault_state = True;2670 p->; 2671 2671 return WERR_NOT_SUPPORTED; 2672 2672 } … … 2675 2675 struct srvsvc_NETRPRNAMECANONICALIZE *r) 2676 2676 { 2677 p-> rng_fault_state = True;2677 p->; 2678 2678 return WERR_NOT_SUPPORTED; 2679 2679 } … … 2682 2682 struct srvsvc_NetPRNameCompare *r) 2683 2683 { 2684 p-> rng_fault_state = True;2684 p->; 2685 2685 return WERR_NOT_SUPPORTED; 2686 2686 } … … 2689 2689 struct srvsvc_NetShareDelStart *r) 2690 2690 { 2691 p-> rng_fault_state = True;2691 p->; 2692 2692 return WERR_NOT_SUPPORTED; 2693 2693 } … … 2696 2696 struct srvsvc_NetShareDelCommit *r) 2697 2697 { 2698 p-> rng_fault_state = True;2698 p->; 2699 2699 return WERR_NOT_SUPPORTED; 2700 2700 } … … 2703 2703 struct srvsvc_NetServerTransportAddEx *r) 2704 2704 { 2705 p-> rng_fault_state = True;2705 p->; 2706 2706 return WERR_NOT_SUPPORTED; 2707 2707 } … … 2710 2710 struct srvsvc_NetServerSetServiceBitsEx *r) 2711 2711 { 2712 p-> rng_fault_state = True;2712 p->; 2713 2713 return WERR_NOT_SUPPORTED; 2714 2714 } … … 2717 2717 struct srvsvc_NETRDFSGETVERSION *r) 2718 2718 { 2719 p-> rng_fault_state = True;2719 p->; 2720 2720 return WERR_NOT_SUPPORTED; 2721 2721 } … … 2724 2724 struct srvsvc_NETRDFSCREATELOCALPARTITION *r) 2725 2725 { 2726 p-> rng_fault_state = True;2726 p->; 2727 2727 return WERR_NOT_SUPPORTED; 2728 2728 } … … 2731 2731 struct srvsvc_NETRDFSDELETELOCALPARTITION *r) 2732 2732 { 2733 p-> rng_fault_state = True;2733 p->; 2734 2734 return WERR_NOT_SUPPORTED; 2735 2735 } … … 2738 2738 struct srvsvc_NETRDFSSETLOCALVOLUMESTATE *r) 2739 2739 { 2740 p-> rng_fault_state = True;2740 p->; 2741 2741 return WERR_NOT_SUPPORTED; 2742 2742 } … … 2745 2745 struct srvsvc_NETRDFSSETSERVERINFO *r) 2746 2746 { 2747 p-> rng_fault_state = True;2747 p->; 2748 2748 return WERR_NOT_SUPPORTED; 2749 2749 } … … 2752 2752 struct srvsvc_NETRDFSCREATEEXITPOINT *r) 2753 2753 { 2754 p-> rng_fault_state = True;2754 p->; 2755 2755 return WERR_NOT_SUPPORTED; 2756 2756 } … … 2759 2759 struct srvsvc_NETRDFSDELETEEXITPOINT *r) 2760 2760 { 2761 p-> rng_fault_state = True;2761 p->; 2762 2762 return WERR_NOT_SUPPORTED; 2763 2763 } … … 2766 2766 struct srvsvc_NETRDFSMODIFYPREFIX *r) 2767 2767 { 2768 p-> rng_fault_state = True;2768 p->; 2769 2769 return WERR_NOT_SUPPORTED; 2770 2770 } … … 2773 2773 struct srvsvc_NETRDFSFIXLOCALVOLUME *r) 2774 2774 { 2775 p-> rng_fault_state = True;2775 p->; 2776 2776 return WERR_NOT_SUPPORTED; 2777 2777 } … … 2780 2780 struct srvsvc_NETRDFSMANAGERREPORTSITEINFO *r) 2781 2781 { 2782 p-> rng_fault_state = True;2782 p->; 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->; 2790 return WERR_NOT_SUPPORTED; 2791 } -
trunk/server/source3/rpc_server/svcctl/srv_svcctl_nt.c
r918 r920 1005 1005 struct svcctl_DeleteService *r) 1006 1006 { 1007 p-> rng_fault_state = True;1007 p->; 1008 1008 return WERR_NOT_SUPPORTED; 1009 1009 } … … 1012 1012 struct svcctl_SetServiceStatus *r) 1013 1013 { 1014 p-> rng_fault_state = True;1014 p->; 1015 1015 return WERR_NOT_SUPPORTED; 1016 1016 } … … 1019 1019 struct svcctl_NotifyBootConfigStatus *r) 1020 1020 { 1021 p-> rng_fault_state = True;1021 p->; 1022 1022 return WERR_NOT_SUPPORTED; 1023 1023 } … … 1026 1026 struct svcctl_SCSetServiceBitsW *r) 1027 1027 { 1028 p-> rng_fault_state = True;1028 p->; 1029 1029 return WERR_NOT_SUPPORTED; 1030 1030 } … … 1033 1033 struct svcctl_ChangeServiceConfigW *r) 1034 1034 { 1035 p-> rng_fault_state = True;1035 p->; 1036 1036 return WERR_NOT_SUPPORTED; 1037 1037 } … … 1040 1040 struct svcctl_CreateServiceW *r) 1041 1041 { 1042 p-> rng_fault_state = True;1042 p->; 1043 1043 return WERR_NOT_SUPPORTED; 1044 1044 } … … 1047 1047 struct svcctl_QueryServiceLockStatusW *r) 1048 1048 { 1049 p-> rng_fault_state = True;1049 p->; 1050 1050 return WERR_NOT_SUPPORTED; 1051 1051 } … … 1054 1054 struct svcctl_GetServiceKeyNameW *r) 1055 1055 { 1056 p-> rng_fault_state = True;1056 p->; 1057 1057 return WERR_NOT_SUPPORTED; 1058 1058 } … … 1061 1061 struct svcctl_SCSetServiceBitsA *r) 1062 1062 { 1063 p-> rng_fault_state = True;1063 p->; 1064 1064 return WERR_NOT_SUPPORTED; 1065 1065 } … … 1068 1068 struct svcctl_ChangeServiceConfigA *r) 1069 1069 { 1070 p-> rng_fault_state = True;1070 p->; 1071 1071 return WERR_NOT_SUPPORTED; 1072 1072 } … … 1075 1075 struct svcctl_CreateServiceA *r) 1076 1076 { 1077 p-> rng_fault_state = True;1077 p->; 1078 1078 return WERR_NOT_SUPPORTED; 1079 1079 } … … 1082 1082 struct svcctl_EnumDependentServicesA *r) 1083 1083 { 1084 p-> rng_fault_state = True;1084 p->; 1085 1085 return WERR_NOT_SUPPORTED; 1086 1086 } … … 1089 1089 struct svcctl_EnumServicesStatusA *r) 1090 1090 { 1091 p-> rng_fault_state = True;1091 p->; 1092 1092 return WERR_NOT_SUPPORTED; 1093 1093 } … … 1096 1096 struct svcctl_OpenSCManagerA *r) 1097 1097 { 1098 p-> rng_fault_state = True;1098 p->; 1099 1099 return WERR_NOT_SUPPORTED; 1100 1100 } … … 1103 1103 struct svcctl_OpenServiceA *r) 1104 1104 { 1105 p-> rng_fault_state = True;1105 p->; 1106 1106 return WERR_NOT_SUPPORTED; 1107 1107 } … … 1110 1110 struct svcctl_QueryServiceConfigA *r) 1111 1111 { 1112 p-> rng_fault_state = True;1112 p->; 1113 1113 return WERR_NOT_SUPPORTED; 1114 1114 } … … 1117 1117 struct svcctl_QueryServiceLockStatusA *r) 1118 1118 { 1119 p-> rng_fault_state = True;1119 p->; 1120 1120 return WERR_NOT_SUPPORTED; 1121 1121 } … … 1124 1124 struct svcctl_StartServiceA *r) 1125 1125 { 1126 p-> rng_fault_state = True;1126 p->; 1127 1127 return WERR_NOT_SUPPORTED; 1128 1128 } … … 1131 1131 struct svcctl_GetServiceDisplayNameA *r) 1132 1132 { 1133 p-> rng_fault_state = True;1133 p->; 1134 1134 return WERR_NOT_SUPPORTED; 1135 1135 } … … 1138 1138 struct svcctl_GetServiceKeyNameA *r) 1139 1139 { 1140 p-> rng_fault_state = True;1140 p->; 1141 1141 return WERR_NOT_SUPPORTED; 1142 1142 } … … 1145 1145 struct svcctl_GetCurrentGroupeStateW *r) 1146 1146 { 1147 p-> rng_fault_state = True;1147 p->; 1148 1148 return WERR_NOT_SUPPORTED; 1149 1149 } … … 1152 1152 struct svcctl_EnumServiceGroupW *r) 1153 1153 { 1154 p-> rng_fault_state = True;1154 p->; 1155 1155 return WERR_NOT_SUPPORTED; 1156 1156 } … … 1159 1159 struct svcctl_ChangeServiceConfig2A *r) 1160 1160 { 1161 p-> rng_fault_state = True;1161 p->; 1162 1162 return WERR_NOT_SUPPORTED; 1163 1163 } … … 1166 1166 struct svcctl_ChangeServiceConfig2W *r) 1167 1167 { 1168 p-> rng_fault_state = True;1168 p->; 1169 1169 return WERR_NOT_SUPPORTED; 1170 1170 } … … 1173 1173 struct svcctl_QueryServiceConfig2A *r) 1174 1174 { 1175 p-> rng_fault_state = True;1175 p->; 1176 1176 return WERR_NOT_SUPPORTED; 1177 1177 } … … 1180 1180 struct EnumServicesStatusExA *r) 1181 1181 { 1182 p-> rng_fault_state = True;1182 p->; 1183 1183 return WERR_NOT_SUPPORTED; 1184 1184 } … … 1187 1187 struct EnumServicesStatusExW *r) 1188 1188 { 1189 p-> rng_fault_state = True;1189 p->; 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->; 1197 return WERR_NOT_SUPPORTED; 1198 } -
trunk/server/source3/rpc_server/winreg/srv_winreg_nt.c
r918 r920 761 761 do anything */ 762 762 763 p-> rng_fault_state = True;763 p->; 764 764 return WERR_NOT_SUPPORTED; 765 765 } … … 949 949 do anything */ 950 950 951 p-> rng_fault_state = True;951 p->; 952 952 return WERR_NOT_SUPPORTED; 953 953 } … … 963 963 do anything */ 964 964 965 p-> rng_fault_state = True;965 p->; 966 966 return WERR_NOT_SUPPORTED; 967 967 } … … 977 977 do anything */ 978 978 979 p-> rng_fault_state = True;979 p->; 980 980 return WERR_NOT_SUPPORTED; 981 981 } … … 1140 1140 do anything */ 1141 1141 1142 p-> rng_fault_state = True;1142 p->; 1143 1143 return WERR_NOT_SUPPORTED; 1144 1144 } -
trunk/server/source3/rpc_server/wkssvc/srv_wkssvc_nt.c
r862 r920 406 406 { 407 407 /* FIXME: Add implementation code here */ 408 p-> rng_fault_state = True;408 p->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 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->; 810 810 return WERR_NOT_SUPPORTED; 811 811 } … … 963 963 { 964 964 /* for now just return not supported */ 965 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->; 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->; 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->; 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->; 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->; 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->; 1032 return WERR_NOT_SUPPORTED; 1033 }
Note:
See TracChangeset
for help on using the changeset viewer.
