Index: rpc_server/srv_lsa.c =================================================================== RCS file: /cvsroot/samba/source/rpc_server/srv_lsa.c,v retrieving revision 1.78.2.6 diff -u -r1.78.2.6 srv_lsa.c --- rpc_server/srv_lsa.c 28 Apr 2003 17:48:46 -0000 1.78.2.6 +++ rpc_server/srv_lsa.c 22 May 2003 14:38:02 -0000 @@ -670,7 +670,17 @@ { "LSA_QUERYSECOBJ" , LSA_QUERYSECOBJ , api_lsa_query_secobj }, { "LSA_QUERYINFO2" , LSA_QUERYINFO2 , api_lsa_query_info2 } }; +/* + * NOTE: Certain calls can not be enabled if we aren't an ADS DC. Make sure + * these calls are always last and that you decrement by the amount of calls + * to disable. + */ + int funcs = sizeof(api_lsa_cmds) / sizeof(struct api_struct); + + if (!(SEC_ADS == lp_security() && ROLE_DOMAIN_PDC == lp_server_role())) { + funcs -= 1; + } return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "lsarpc", "lsass", api_lsa_cmds, - sizeof(api_lsa_cmds) / sizeof(struct api_struct)); + funcs); }