1
0
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:
Günther Deschner 2008-02-16 13:42:12 +01:00
parent 185842df52
commit b4989afbab
4 changed files with 4 additions and 173 deletions

View File

@ -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 \

View File

@ -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)

View File

@ -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));
}

View File

@ -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 );