mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
YES! NETLOGON rpc server side migration to pidl finished.
Guenther (This used to be commit 7845a0d9a8f938c1be888ab2d9aa6c35d6f1dbad)
This commit is contained in:
parent
185842df52
commit
b4989afbab
@ -482,7 +482,7 @@ REG_API_OBJ = registry/reg_api.o \
|
||||
|
||||
RPC_LSA_OBJ = rpc_server/srv_lsa.o rpc_server/srv_lsa_nt.o librpc/gen_ndr/srv_lsa.o
|
||||
|
||||
RPC_NETLOG_OBJ = rpc_server/srv_netlog.o rpc_server/srv_netlog_nt.o \
|
||||
RPC_NETLOG_OBJ = rpc_server/srv_netlog_nt.o \
|
||||
librpc/gen_ndr/srv_netlogon.o
|
||||
|
||||
RPC_SAMR_OBJ = rpc_server/srv_samr_nt.o \
|
||||
|
@ -745,7 +745,7 @@ AC_SUBST(DYNEXP)
|
||||
|
||||
dnl Add modules that have to be built by default here
|
||||
dnl These have to be built static:
|
||||
default_static_modules="pdb_smbpasswd pdb_tdbsam rpc_lsa rpc_samr rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl2 rpc_ntsvcs rpc_net rpc_netdfs rpc_srvsvc2 rpc_spoolss rpc_eventlog2 auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin vfs_default nss_info_template"
|
||||
default_static_modules="pdb_smbpasswd pdb_tdbsam rpc_lsa rpc_samr rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl2 rpc_ntsvcs rpc_netlogon rpc_netdfs rpc_srvsvc2 rpc_spoolss rpc_eventlog2 auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin vfs_default nss_info_template"
|
||||
|
||||
dnl These are preferably build shared, and static if dlopen() is not available
|
||||
default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850 charset_CP437 auth_script vfs_readahead vfs_syncops vfs_xattr_tdb vfs_streams_xattr"
|
||||
@ -6616,7 +6616,7 @@ SMB_MODULE(rpc_dssetup, \$(RPC_DSSETUP_OBJ), "bin/librpc_dssetup.$SHLIBEXT", RPC
|
||||
SMB_MODULE(rpc_wkssvc, \$(RPC_WKS_OBJ), "bin/librpc_wkssvc.$SHLIBEXT", RPC)
|
||||
SMB_MODULE(rpc_svcctl2, \$(RPC_SVCCTL_OBJ), "bin/librpc_svcctl2.$SHLIBEXT", RPC)
|
||||
SMB_MODULE(rpc_ntsvcs, \$(RPC_NTSVCS_OBJ), "bin/librpc_ntsvcs.$SHLIBEXT", RPC)
|
||||
SMB_MODULE(rpc_net, \$(RPC_NETLOG_OBJ), "bin/librpc_NETLOGON.$SHLIBEXT", RPC)
|
||||
SMB_MODULE(rpc_netlogon, \$(RPC_NETLOG_OBJ), "bin/librpc_NETLOGON.$SHLIBEXT", RPC)
|
||||
SMB_MODULE(rpc_netdfs, \$(RPC_DFS_OBJ), "bin/librpc_netdfs.$SHLIBEXT", RPC)
|
||||
SMB_MODULE(rpc_srvsvc2, \$(RPC_SVC_OBJ), "bin/librpc_svcsvc2.$SHLIBEXT", RPC)
|
||||
SMB_MODULE(rpc_spoolss, \$(RPC_SPOOLSS_OBJ), "bin/librpc_spoolss.$SHLIBEXT", RPC)
|
||||
|
@ -1,169 +0,0 @@
|
||||
/*
|
||||
* Unix SMB/CIFS implementation.
|
||||
* RPC Pipe client / server routines
|
||||
* Copyright (C) Andrew Tridgell 1992-1997,
|
||||
* Copyright (C) Luke Kenneth Casson Leighton 1996-1997,
|
||||
* Copyright (C) Paul Ashton 1997,
|
||||
* Copyright (C) Jeremy Allison 1998-2001,
|
||||
* Copyright (C) Jim McDonough <jmcd@us.ibm.com> 2003.
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* This is the interface to the netlogon pipe. */
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
#undef DBGC_CLASS
|
||||
#define DBGC_CLASS DBGC_RPC_SRV
|
||||
|
||||
/*******************************************************************
|
||||
********************************************************************/
|
||||
|
||||
static bool proxy_netr_call(pipes_struct *p, uint8 opnum)
|
||||
{
|
||||
struct api_struct *fns;
|
||||
int n_fns;
|
||||
|
||||
netlogon_get_pipe_fns(&fns, &n_fns);
|
||||
|
||||
if (opnum >= n_fns) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (fns[opnum].opnum != opnum) {
|
||||
smb_panic("NETLOGON function table not sorted");
|
||||
}
|
||||
|
||||
return fns[opnum].fn(p);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_req_chal:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_req_chal(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_SERVERREQCHALLENGE);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_auth:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_auth(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_SERVERAUTHENTICATE);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_auth_2:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_auth_2(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_SERVERAUTHENTICATE2);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_srv_pwset:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_srv_pwset(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_SERVERPASSWORDSET);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_sam_logoff:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_sam_logoff(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_LOGONSAMLOGOFF);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_sam_logon:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_sam_logon(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_LOGONSAMLOGON);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_trust_dom_list:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_trust_dom_list(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_NETRENUMERATETRUSTEDDOMAINS);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_logon_ctrl2:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_logon_ctrl2(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_LOGONCONTROL2);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_logon_ctrl:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_logon_ctrl(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_LOGONCONTROL);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
api_net_sam_logon_ex:
|
||||
*************************************************************************/
|
||||
|
||||
static bool api_net_sam_logon_ex(pipes_struct *p)
|
||||
{
|
||||
return proxy_netr_call(p, NDR_NETR_LOGONSAMLOGONEX);
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
array of \PIPE\NETLOGON operations
|
||||
********************************************************************/
|
||||
static struct api_struct api_net_cmds [] =
|
||||
{
|
||||
{ "NET_REQCHAL" , NET_REQCHAL , api_net_req_chal },
|
||||
{ "NET_AUTH" , NET_AUTH , api_net_auth },
|
||||
{ "NET_AUTH2" , NET_AUTH2 , api_net_auth_2 },
|
||||
{ "NET_SRVPWSET" , NET_SRVPWSET , api_net_srv_pwset },
|
||||
{ "NET_SAMLOGON" , NET_SAMLOGON , api_net_sam_logon },
|
||||
{ "NET_SAMLOGOFF" , NET_SAMLOGOFF , api_net_sam_logoff },
|
||||
{ "NET_LOGON_CTRL2" , NET_LOGON_CTRL2 , api_net_logon_ctrl2 },
|
||||
{ "NET_TRUST_DOM_LIST", NET_TRUST_DOM_LIST, api_net_trust_dom_list },
|
||||
{ "NET_LOGON_CTRL" , NET_LOGON_CTRL , api_net_logon_ctrl },
|
||||
{ "NET_SAMLOGON_EX" , NET_SAMLOGON_EX , api_net_sam_logon_ex },
|
||||
};
|
||||
|
||||
void netlog_get_pipe_fns( struct api_struct **fns, int *n_fns )
|
||||
{
|
||||
*fns = api_net_cmds;
|
||||
*n_fns = sizeof(api_net_cmds) / sizeof(struct api_struct);
|
||||
}
|
||||
|
||||
NTSTATUS rpc_net_init(void)
|
||||
{
|
||||
return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "NETLOGON", "lsass", api_net_cmds,
|
||||
sizeof(api_net_cmds) / sizeof(struct api_struct));
|
||||
}
|
@ -2385,7 +2385,7 @@ void get_pipe_fns( int idx, struct api_struct **fns, int *n_fns )
|
||||
samr_get_pipe_fns( &cmds, &n_cmds );
|
||||
break;
|
||||
case PI_NETLOGON:
|
||||
netlog_get_pipe_fns( &cmds, &n_cmds );
|
||||
netlogon_get_pipe_fns( &cmds, &n_cmds );
|
||||
break;
|
||||
case PI_SRVSVC:
|
||||
srvsvc2_get_pipe_fns( &cmds, &n_cmds );
|
||||
|
Loading…
x
Reference in New Issue
Block a user