mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
r126: - add first srvsvc and wkssvc server side stuff
- we know can browse the server via the Windows Explorer - some little fixes to the winreg server pipe metze
This commit is contained in:
parent
60aa14d463
commit
6f213a3494
28
source/rpc_server/common/common.h
Normal file
28
source/rpc_server/common/common.h
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
|
||||
common macros for the dcerpc server interfaces
|
||||
|
||||
Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#define WERR_TALLOC_CHECK(x) do {\
|
||||
if (!(x)) {\
|
||||
r->out.result = WERR_NOMEM;\
|
||||
return NT_STATUS_OK;\
|
||||
}\
|
||||
} while (0)
|
55
source/rpc_server/common/server_info.c
Normal file
55
source/rpc_server/common/server_info.c
Normal file
@ -0,0 +1,55 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
|
||||
common server info functions
|
||||
|
||||
Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
/*
|
||||
Here are common server info functions used by some dcerpc server interfaces
|
||||
*/
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_platform_id(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||
{
|
||||
return 500;
|
||||
}
|
||||
|
||||
const char *dcesrv_common_get_server_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||
{
|
||||
return lp_netbios_name();
|
||||
}
|
||||
|
||||
const char *dcesrv_common_get_domain_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||
{
|
||||
return lp_workgroup();
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_version_major(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_version_minor(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||
{
|
||||
return 2;
|
||||
}
|
105
source/rpc_server/common/share_info.c
Normal file
105
source/rpc_server/common/share_info.c
Normal file
@ -0,0 +1,105 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
|
||||
common share info functions
|
||||
|
||||
Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
/*
|
||||
Here are common server info functions used by some dcerpc server interfaces
|
||||
*/
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_count_of_shares(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx)
|
||||
{
|
||||
/* what's about int -> uint32 overflow */
|
||||
return lp_numservices();
|
||||
}
|
||||
|
||||
const char *dcesrv_common_get_share_name(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return lp_servicename(snum);
|
||||
}
|
||||
|
||||
const char *dcesrv_common_get_share_comment(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return lp_comment(snum);
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_share_permissions(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_share_max_users(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_share_current_users(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_share_type(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
/* for disk share 0x00000000
|
||||
* for IPC$ share 0x00000003
|
||||
*
|
||||
* administrative shares:
|
||||
* ADMIN$, C$ and IPC$ are type |= 0x80000000
|
||||
* this ones are hidden in NetShareEnum, but shown in NetShareEnumAll
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
const char *dcesrv_common_get_share_path(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return "C:\\";
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
const char *dcesrv_common_get_share_password(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_share_csc_policy(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
uint32 dcesrv_common_get_share_unknown(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This hardcoded value should go into a ldb database! */
|
||||
struct security_decriptor *dcesrv_common_get_security_descriptor(TALLOC_CTX *mem_ctx, struct dcesrv_context *dce_ctx, int snum)
|
||||
{
|
||||
return NULL;
|
||||
}
|
@ -1,10 +1,15 @@
|
||||
dnl # DCERPC Server subsystem
|
||||
|
||||
SMB_SUBSYSTEM(DCERPC_COMMON,[],
|
||||
[rpc_server/common/server_info.o rpc_server/common/share_info.o])
|
||||
|
||||
SMB_MODULE(dcerpc_rpcecho,DCERPC,STATIC,[rpc_server/echo/rpc_echo.o])
|
||||
SMB_MODULE(dcerpc_epmapper,DCERPC,STATIC,[rpc_server/epmapper/rpc_epmapper.o])
|
||||
SMB_MODULE(dcerpc_remote,DCERPC,STATIC,[rpc_server/remote/dcesrv_remote.o])
|
||||
SMB_MODULE(dcerpc_srvsvc,DCERPC,STATIC,[rpc_server/srvsvc/dcesrv_srvsvc.o])
|
||||
SMB_MODULE(dcerpc_wkssvc,DCERPC,STATIC,[rpc_server/wkssvc/dcesrv_wkssvc.o])
|
||||
SMB_MODULE(dcerpc_winreg,DCERPC,STATIC,[rpc_server/winreg/rpc_winreg.o \$(REG_OBJS)],[],[\$(REG_LIBS)])
|
||||
|
||||
SMB_SUBSYSTEM(DCERPC,rpc_server/dcerpc_server.o,
|
||||
[rpc_server/dcerpc_tcp.o rpc_server/dcesrv_auth.o rpc_server/handles.o],
|
||||
[rpc_server/dcerpc_tcp.o rpc_server/dcesrv_auth.o rpc_server/handles.o \$(DCERPC_COMMON_OBJS)],
|
||||
rpc_server/dcesrv_public_proto.h)
|
||||
|
1210
source/rpc_server/srvsvc/dcesrv_srvsvc.c
Normal file
1210
source/rpc_server/srvsvc/dcesrv_srvsvc.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -33,14 +33,14 @@ struct _privatedata {
|
||||
static void winreg_unbind(struct dcesrv_connection *dc, const struct dcesrv_interface *di)
|
||||
{
|
||||
struct _privatedata *data = dc->private;
|
||||
reg_free(data->registry);
|
||||
if (data) reg_free(data->registry);
|
||||
}
|
||||
|
||||
static NTSTATUS winreg_bind(struct dcesrv_call_state *dc, const struct dcesrv_interface *di)
|
||||
{
|
||||
struct _privatedata *data;
|
||||
data = talloc(dc->mem_ctx, sizeof(struct _privatedata));
|
||||
data->registry = reg_open("nt4", "/home/aurelia/jelmer/NTUSER.DAT", False);
|
||||
data->registry = reg_open(lp_parm_string(-1,"winreg","subsystem"),lp_parm_string(-1,"winreg", "file"), False);
|
||||
if(!data->registry) return NT_STATUS_UNSUCCESSFUL;
|
||||
dc->conn->private = data;
|
||||
return NT_STATUS_OK;
|
||||
|
378
source/rpc_server/wkssvc/dcesrv_wkssvc.c
Normal file
378
source/rpc_server/wkssvc/dcesrv_wkssvc.c
Normal file
@ -0,0 +1,378 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
|
||||
endpoint server for the wkssvc pipe
|
||||
|
||||
Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
#include "rpc_server/common/common.h"
|
||||
|
||||
/*
|
||||
wkssvc_NetWkstaGetInfo
|
||||
*/
|
||||
static NTSTATUS wkssvc_NetWkstaGetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct wkssvc_NetWkstaGetInfo *r)
|
||||
{
|
||||
struct dcesrv_context *dce_ctx = dce_call->conn->dce_ctx;
|
||||
r->out.result = WERR_OK;
|
||||
|
||||
/* NOTE: win2k3 ignores r->in.server_name completly so we do --metze */
|
||||
|
||||
switch(r->in.level) {
|
||||
case 100: {
|
||||
r->out.info.info100 = talloc_p(mem_ctx, struct wkssvc_NetWkstaInfo100);
|
||||
WERR_TALLOC_CHECK(r->out.info.info100);
|
||||
|
||||
r->out.info.info100->platform_id = dcesrv_common_get_platform_id(mem_ctx, dce_ctx);
|
||||
r->out.info.info100->server = dcesrv_common_get_server_name(mem_ctx, dce_ctx);
|
||||
r->out.info.info100->domain = dcesrv_common_get_domain_name(mem_ctx, dce_ctx);
|
||||
r->out.info.info100->ver_major = dcesrv_common_get_version_major(mem_ctx, dce_ctx);
|
||||
r->out.info.info100->ver_minor = dcesrv_common_get_version_minor(mem_ctx, dce_ctx);
|
||||
break;
|
||||
}
|
||||
case 101: {
|
||||
r->out.info.info101 = NULL;
|
||||
|
||||
r->out.result = WERR_NOT_SUPPORTED;
|
||||
break;
|
||||
}
|
||||
case 102: {
|
||||
r->out.info.info102 = NULL;
|
||||
|
||||
r->out.result = WERR_NOT_SUPPORTED;
|
||||
break;
|
||||
}
|
||||
case 502: {
|
||||
r->out.info.info502 = NULL;
|
||||
|
||||
r->out.result = WERR_NOT_SUPPORTED;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
r->out.result = WERR_UNKNOWN_LEVEL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
wkssvc_NetWkstaSetInfo
|
||||
*/
|
||||
static NTSTATUS wkssvc_NetWkstaSetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct wkssvc_NetWkstaSetInfo *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRWKSTAUSERENUM
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRWKSTAUSERENUM(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRWKSTAUSERENUM *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRWKSTAUSERGETINFO
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRWKSTAUSERGETINFO(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRWKSTAUSERGETINFO *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRWKSTAUSERSETINFO
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRWKSTAUSERSETINFO(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRWKSTAUSERSETINFO *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
wkssvc_NetWkstaTransportEnum
|
||||
*/
|
||||
static NTSTATUS wkssvc_NetWkstaTransportEnum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct wkssvc_NetWkstaTransportEnum *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRWKSTATRANSPORTADD
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRWKSTATRANSPORTADD(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRWKSTATRANSPORTADD *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRWKSTATRANSPORTDEL
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRWKSTATRANSPORTDEL(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRWKSTATRANSPORTDEL *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRUSEADD
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRUSEADD(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRUSEADD *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRUSEGETINFO
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRUSEGETINFO(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRUSEGETINFO *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRUSEDEL
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRUSEDEL(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRUSEDEL *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRUSEENUM
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRUSEENUM(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRUSEENUM *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRMESSAGEBUFFERSEND
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRMESSAGEBUFFERSEND(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRMESSAGEBUFFERSEND *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRWORKSTATIONSTATISTICSGET
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRWORKSTATIONSTATISTICSGET(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRWORKSTATIONSTATISTICSGET *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRLOGONDOMAINNAMEADD
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRLOGONDOMAINNAMEADD(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRLOGONDOMAINNAMEADD *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRLOGONDOMAINNAMEDEL
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRLOGONDOMAINNAMEDEL(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRLOGONDOMAINNAMEDEL *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRJOINDOMAIN
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRJOINDOMAIN(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRJOINDOMAIN *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRUNJOINDOMAIN
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRUNJOINDOMAIN(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRUNJOINDOMAIN *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRRENAMEMACHINEINDOMAIN
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRRENAMEMACHINEINDOMAIN(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRRENAMEMACHINEINDOMAIN *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRVALIDATENAME
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRVALIDATENAME(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRVALIDATENAME *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRGETJOININFORMATION
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRGETJOININFORMATION(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRGETJOININFORMATION *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRGETJOINABLEOUS
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRGETJOINABLEOUS(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRGETJOINABLEOUS *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRJOINDOMAIN2
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRJOINDOMAIN2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRJOINDOMAIN2 *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRUNJOINDOMAIN2
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRUNJOINDOMAIN2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRUNJOINDOMAIN2 *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRRENAMEMACHINEINDOMAIN2
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRRENAMEMACHINEINDOMAIN2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRRENAMEMACHINEINDOMAIN2 *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRVALIDATENAME2
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRVALIDATENAME2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRVALIDATENAME2 *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRGETJOINABLEOUS2
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRGETJOINABLEOUS2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRGETJOINABLEOUS2 *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRADDALTERNATECOMPUTERNAME
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRADDALTERNATECOMPUTERNAME(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRADDALTERNATECOMPUTERNAME *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRSETPRIMARYCOMPUTERNAME
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRSETPRIMARYCOMPUTERNAME(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRSETPRIMARYCOMPUTERNAME *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
WKSSVC_NETRENUMERATECOMPUTERNAMES
|
||||
*/
|
||||
static NTSTATUS WKSSVC_NETRENUMERATECOMPUTERNAMES(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct WKSSVC_NETRENUMERATECOMPUTERNAMES *r)
|
||||
{
|
||||
return NT_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/* include the generated boilerplate */
|
||||
#include "librpc/gen_ndr/ndr_wkssvc_s.c"
|
Loading…
Reference in New Issue
Block a user