s3-rpc: Avoid including every pipe's client and server stubs everywhere in samba.
[ira/wip.git] / source3 / rpc_server / srv_wkssvc_nt.c
index 8d2e73b5a5061cb53b3c7d3b9ac6d62ff5b84123..1831b79e50f24e605a8bb35ed6dc70d2c8aa2873 100644 (file)
@@ -25,6 +25,7 @@
 #include "includes.h"
 #include "libnet/libnet.h"
 #include "../libcli/auth/libcli_auth.h"
+#include "../librpc/gen_ndr/srv_wkssvc.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_SRV
@@ -54,9 +55,9 @@ static void create_wks_info_100(struct wkssvc_NetWkstaInfo100 *info100)
 WERROR _wkssvc_NetWkstaGetInfo(pipes_struct *p, struct wkssvc_NetWkstaGetInfo *r)
 {
        struct wkssvc_NetWkstaInfo100 *wks100 = NULL;
-       
+
        /* We only support info level 100 currently */
-       
+
        if ( r->in.level != 100 ) {
                return WERR_UNKNOWN_LEVEL;
        }
@@ -66,7 +67,7 @@ WERROR _wkssvc_NetWkstaGetInfo(pipes_struct *p, struct wkssvc_NetWkstaGetInfo *r
        }
 
        create_wks_info_100( wks100 );
-       
+
        r->out.info->info100 = wks100;
 
        return WERR_OK;
@@ -306,7 +307,7 @@ WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p,
 
        if (!user_has_privileges(token, &se_machine_account) &&
            !nt_token_check_domain_rid(token, DOMAIN_GROUP_RID_ADMINS) &&
-           !nt_token_check_domain_rid(token, BUILTIN_ALIAS_RID_ADMINS)) {
+           !nt_token_check_sid(&global_sid_Builtin_Administrators, token)) {
                DEBUG(5,("_wkssvc_NetrJoinDomain2: account doesn't have "
                        "sufficient privileges\n"));
                return WERR_ACCESS_DENIED;
@@ -377,7 +378,7 @@ WERROR _wkssvc_NetrUnjoinDomain2(pipes_struct *p,
 
        if (!user_has_privileges(token, &se_machine_account) &&
            !nt_token_check_domain_rid(token, DOMAIN_GROUP_RID_ADMINS) &&
-           !nt_token_check_domain_rid(token, BUILTIN_ALIAS_RID_ADMINS)) {
+           !nt_token_check_sid(&global_sid_Builtin_Administrators, token)) {
                DEBUG(5,("_wkssvc_NetrUnjoinDomain2: account doesn't have "
                        "sufficient privileges\n"));
                return WERR_ACCESS_DENIED;
@@ -428,8 +429,7 @@ WERROR _wkssvc_NetrUnjoinDomain2(pipes_struct *p,
 
 WERROR _wkssvc_NetrRenameMachineInDomain2(pipes_struct *p, struct wkssvc_NetrRenameMachineInDomain2 *r)
 {
-       /* FIXME: Add implementation code here */
-       p->rng_fault_state = True;
+       /* for now just return not supported */
        return WERR_NOT_SUPPORTED;
 }