#include "libcli/libcli.h"
#include "lib/cmdline/popt_common.h"
#include "librpc/gen_ndr/ndr_srvsvc.h"
+#include "librpc/gen_ndr/ndr_srvsvc_c.h"
#include "librpc/gen_ndr/ndr_lsa.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/util/clilsa.h"
*/
#include "includes.h"
-#include "librpc/gen_ndr/ndr_samr.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#include "gtk/common/select.h"
#include "gtk/common/gtk-smb.h"
#include "includes.h"
#include "librpc/gen_ndr/ndr_epmapper.h"
+#include "librpc/gen_ndr/ndr_epmapper_c.h"
#include "librpc/gen_ndr/ndr_mgmt.h"
+#include "librpc/gen_ndr/ndr_mgmt_c.h"
#include "gtk/common/gtk-smb.h"
#include "auth/gensec/gensec.h"
#include "includes.h"
#include "librpc/gen_ndr/ndr_atsvc.h"
+#include "librpc/gen_ndr/ndr_atsvc_c.h"
#include "gtk/common/gtk-smb.h"
#include "auth/credentials/credentials.h"
#include "includes.h"
#include "librpc/gen_ndr/ndr_samr.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#include "gtk/common/select.h"
#include "gtk/common/gtk-smb.h"
#include "auth/credentials/credentials.h"
#include "system/filesys.h"
#include "librpc/gen_ndr/ndr_epmapper.h"
#include "librpc/gen_ndr/ndr_remact.h"
+#include "librpc/gen_ndr/ndr_remact_c.h"
#include "librpc/gen_ndr/com_dcom.h"
#include "lib/com/dcom/dcom.h"
#include "librpc/rpc/dcerpc_table.h"
#include "includes.h"
#include "registry.h"
#include "librpc/gen_ndr/ndr_winreg.h"
+#include "librpc/gen_ndr/ndr_winreg_c.h"
static struct hive_operations reg_backend_rpc;
#include "libcli/libcli.h"
#include "libcli/security/proto.h"
#include "librpc/gen_ndr/ndr_lsa.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
struct smblsa_state {
struct dcerpc_pipe *pipe;
#include "includes.h"
#include "libcli/composite/composite.h"
#include "libnet/composite.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
static void domain_open_handler(struct rpc_request*);
#include "includes.h"
#include "libnet/libnet.h"
#include "librpc/gen_ndr/ndr_drsuapi.h"
+#include "librpc/gen_ndr/ndr_drsuapi_c.h"
#include "lib/ldb/include/ldb.h"
#include "lib/ldb/include/ldb_errors.h"
#include "passdb/secrets.h"
#include "db_wrap.h"
#include "libcli/security/proto.h"
#include "auth/credentials/credentials.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
/*
* complete a domain join, when joining to a AD domain:
#include "libnet/libnet.h"
#include "lib/crypto/crypto.h"
#include "libcli/auth/libcli_auth.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
/*
* do a password change using DCERPC/SAMR calls
#include "includes.h"
#include "libnet/libnet.h"
#include "libcli/libcli.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
/**
* Connects rpc pipe on remote server
#include "includes.h"
#include "libnet/libnet.h"
+#include "librpc/gen_ndr/ndr_srvsvc_c.h"
NTSTATUS libnet_ListShares(struct libnet_context *ctx,
#include "includes.h"
#include "libnet/libnet.h"
#include "system/time.h"
+#include "librpc/gen_ndr/ndr_srvsvc_c.h"
/*
* get the remote time of a server via srvsvc_NetRemoteTOD
#include "libnet/libnet.h"
#include "libcli/auth/libcli_auth.h"
#include "auth/gensec/schannel_proto.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
/**
#include "libcli/security/proto.h"
#include "libnet/composite.h"
#include "libnet/userinfo.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
static void userinfo_handler(struct rpc_request *req);
#include "libnet/composite.h"
#include "libnet/userman.h"
#include "libnet/userinfo.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
/*
* Composite USER ADD functionality
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#ifndef __LIBNDR_H__
+#define __LIBNDR_H__
+
/*
this provides definitions for the libcli/rpc/ MSRPC library
*/
#include "librpc/gen_ndr/misc.h"
#include "librpc/ndr/libndr_proto.h"
+
+#endif /* __LIBNDR_H__ */
#include "auth/auth.h"
#include "libcli/composite/composite.h"
#include "libcli/auth/libcli_auth.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
struct schannel_key_state {
#include "lib/events/events.h"
#include "libcli/composite/composite.h"
#include "librpc/gen_ndr/ndr_epmapper.h"
+#include "librpc/gen_ndr/ndr_epmapper_c.h"
#include "librpc/gen_ndr/ndr_dcerpc.h"
#include "librpc/gen_ndr/ndr_misc.h"
#include "auth/credentials/credentials.h"
use strict;
-my($res);
+my($res,$res_hdr);
#####################################################################
# parse a function
my $name = $fn->{NAME};
my $uname = uc $name;
+ $res_hdr .= "\nstruct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r);
+NTSTATUS dcerpc_$name(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r);
+";
+
$res .= "
struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r)
{
return $res;
}
-sub Parse($$)
+sub Parse($$$$)
{
- my($ndr) = shift;
- my($filename) = shift;
+ my($ndr,$header,$ndr_header,$client_header) = @_;
- my $h_filename = $filename;
$res = "";
-
- if ($h_filename =~ /(.*)\.c/) {
- $h_filename = "$1.h";
- }
+ $res_hdr = "";
$res .= "/* client functions auto-generated by pidl */\n";
$res .= "\n";
$res .= "#include \"includes.h\"\n";
- $res .= "#include \"$h_filename\"\n";
+ $res .= "#include \"$ndr_header\"\n";
+ $res .= "#include \"$client_header\"\n";
$res .= "\n";
+ $res_hdr .= "#include \"librpc/rpc/dcerpc.h\"\n";
+ $res_hdr .= "#include \"$header\"\n";
+
foreach my $x (@{$ndr}) {
($x->{TYPE} eq "INTERFACE") && ParseInterface($x);
}
- return $res;
+ return ($res,$res_hdr);
}
1;
my $count = 0;
+ pidl_hdr "#include \"librpc/ndr/libndr.h\"";
+
if (defined $interface->{PROPERTIES}->{depends}) {
my @d = split / /, $interface->{PROPERTIES}->{depends};
foreach my $i (@d) {
pidl_hdr "#define DCERPC_$u_name ($val)";
- pidl_hdr "NTSTATUS dcerpc_$_->{NAME}(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $_->{NAME} *r);";
- pidl_hdr "struct rpc_request *dcerpc_$_->{NAME}\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $_->{NAME} *r);";
-
pidl_hdr "";
$count++;
}
my $h_filename = "$outputdir/ndr_$basename.h";
if (defined($opt_client)) {
require Parse::Pidl::Samba4::NDR::Client;
- my ($client) = ($opt_client or "$outputdir/ndr_$basename\_c.c");
+ my ($c_client) = ($opt_client or "$outputdir/ndr_$basename\_c.c");
+ my ($c_header) = $c_client;
+ $c_header =~ s/\.c$/.h/;
- FileSave($client, Parse::Pidl::Samba4::NDR::Client::Parse($ndr,$h_filename));
+ my ($srcd,$hdrd) = Parse::Pidl::Samba4::NDR::Client::Parse(
+ $ndr,$gen_header,$h_filename,$c_header);
+
+ FileSave($c_client, $srcd);
+ FileSave($c_header, $hdrd);
}
if (defined($opt_ejs)) {
#include "includes.h"
#include "torture/rpc/rpc.h"
#include "libnet/libnet.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
static BOOL test_domainopen(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
struct lsa_String *domname,
#include "torture/rpc/rpc.h"
#include "libnet/libnet.h"
#include "lib/cmdline/popt_common.h"
+#include "librpc/gen_ndr/ndr_srvsvc_c.h"
#define TEST_SHARENAME "libnetsharetest"
#include "includes.h"
#include "lib/cmdline/popt_common.h"
#include "libnet/libnet.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#define TEST_USERNAME "libnetusertest"
#include "libnet/libnet.h"
#include "libnet/userinfo.h"
#include "libcli/security/proto.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#define TEST_USERNAME "libnetuserinfotest"
#include "torture/rpc/rpc.h"
#include "libnet/userman.h"
#include "libnet/libnet.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#define TEST_USERNAME "libnetusermantest"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_atsvc.h"
+#include "librpc/gen_ndr/ndr_atsvc_c.h"
#include "torture/rpc/rpc.h"
static BOOL test_JobGetInfo(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, uint32_t job_id)
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_drsuapi.h"
+#include "librpc/gen_ndr/ndr_drsuapi_c.h"
#include "librpc/gen_ndr/ndr_misc.h"
#include "librpc/rpc/dcerpc_table.h"
#include "torture/rpc/rpc.h"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_srvsvc.h"
+#include "librpc/gen_ndr/ndr_srvsvc_c.h"
#include "torture/rpc/rpc.h"
/**************************/
#include "torture/torture.h"
#include "torture/rpc/rpc.h"
#include "librpc/gen_ndr/ndr_dfs.h"
+#include "librpc/gen_ndr/ndr_dfs_c.h"
static BOOL test_GetManagerVersion(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_drsuapi.h"
+#include "librpc/gen_ndr/ndr_drsuapi_c.h"
#include "torture/rpc/rpc.h"
BOOL test_DsBind(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_drsuapi.h"
+#include "librpc/gen_ndr/ndr_drsuapi_c.h"
#include "torture/rpc/rpc.h"
#include "ldb/include/ldb.h"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_dssetup.h"
+#include "librpc/gen_ndr/ndr_dssetup_c.h"
#include "torture/rpc/rpc.h"
#include "includes.h"
#include "lib/cmdline/popt_common.h"
#include "librpc/gen_ndr/ndr_drsuapi.h"
+#include "librpc/gen_ndr/ndr_drsuapi_c.h"
#include "libcli/cldap/cldap.h"
#include "libcli/ldap/ldap_client.h"
#include "torture/ldap/proto.h"
#include "torture/rpc/rpc.h"
#include "lib/events/events.h"
#include "librpc/gen_ndr/ndr_echo.h"
+#include "librpc/gen_ndr/ndr_echo_c.h"
/*
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_epmapper.h"
+#include "librpc/gen_ndr/ndr_epmapper_c.h"
#include "librpc/rpc/dcerpc_table.h"
#include "torture/rpc/rpc.h"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_eventlog.h"
+#include "librpc/gen_ndr/ndr_eventlog_c.h"
#include "librpc/gen_ndr/ndr_lsa.h"
#include "torture/rpc/rpc.h"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_initshutdown.h"
+#include "librpc/gen_ndr/ndr_initshutdown_c.h"
#include "torture/rpc/rpc.h"
static void init_initshutdown_String(TALLOC_CTX *mem_ctx, struct initshutdown_String *name, const char *s)
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_lsa.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
#include "lib/events/events.h"
#include "libcli/security/proto.h"
#include "libcli/auth/libcli_auth.h"
#include "libcli/security/proto.h"
#include "libnet/libnet_join.h"
#include "torture/rpc/rpc.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
static BOOL open_policy(TALLOC_CTX *mem_ctx, struct dcerpc_pipe *p,
struct policy_handle **handle)
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_mgmt.h"
+#include "librpc/gen_ndr/ndr_mgmt_c.h"
#include "auth/gensec/gensec.h"
#include "librpc/rpc/dcerpc_table.h"
#include "torture/rpc/rpc.h"
#include "lib/cmdline/popt_common.h"
#include "torture/rpc/rpc.h"
#include "libcli/auth/libcli_auth.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
static const char *machine_password;
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_oxidresolver.h"
+#include "librpc/gen_ndr/ndr_oxidresolver_c.h"
#include "librpc/gen_ndr/ndr_remact.h"
+#include "librpc/gen_ndr/ndr_remact_c.h"
#include "librpc/gen_ndr/ndr_epmapper.h"
#include "torture/rpc/rpc.h"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_remact.h"
+#include "librpc/gen_ndr/ndr_remact_c.h"
#include "librpc/gen_ndr/ndr_epmapper.h"
+#include "librpc/gen_ndr/ndr_epmapper_c.h"
#include "torture/rpc/rpc.h"
#define CLSID_IMAGEDOC "02B01C80-E03D-101A-B294-00DD010F2BF9"
#include "includes.h"
#include "librpc/gen_ndr/ndr_netlogon.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
#include "auth/auth.h"
#include "lib/crypto/crypto.h"
#include "lib/cmdline/popt_common.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_lsa.h"
#include "librpc/gen_ndr/ndr_samr.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#include "smb.h"
#include "lib/crypto/crypto.h"
#include "libcli/auth/libcli_auth.h"
#include "auth/gensec/schannel_proto.h"
#include "libcli/auth/libcli_auth.h"
#include "libcli/security/proto.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#define TEST_MACHINE_NAME "samsynctest"
#define TEST_WKSTA_MACHINE_NAME "samsynctest2"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_mgmt.h"
+#include "librpc/gen_ndr/ndr_mgmt_c.h"
#include "librpc/rpc/dcerpc_table.h"
#include "torture/rpc/rpc.h"
#include "includes.h"
#include "librpc/gen_ndr/ndr_netlogon.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#include "auth/credentials/credentials.h"
#include "torture/rpc/rpc.h"
#include "lib/cmdline/popt_common.h"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_lsa.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
#include "libcli/auth/libcli_auth.h"
#include "torture/rpc/rpc.h"
#include "torture/torture.h"
#include "torture/rpc/rpc.h"
#include "librpc/gen_ndr/ndr_spoolss.h"
+#include "librpc/gen_ndr/ndr_spoolss_c.h"
struct test_spoolss_context {
struct dcerpc_pipe *p;
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_srvsvc.h"
+#include "librpc/gen_ndr/ndr_srvsvc_c.h"
#include "torture/rpc/rpc.h"
/**************************/
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_svcctl.h"
+#include "librpc/gen_ndr/ndr_svcctl_c.h"
#include "torture/rpc/rpc.h"
static BOOL test_EnumServicesStatus(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct policy_handle *h)
#include "lib/cmdline/popt_common.h"
#include "smb.h"
#include "lib/ldb/include/ldb.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#include "libcli/auth/libcli_auth.h"
#include "torture/rpc/rpc.h"
#include "torture/torture.h"
#include "torture/rpc/rpc.h"
#include "librpc/gen_ndr/ndr_unixinfo.h"
+#include "librpc/gen_ndr/ndr_unixinfo_c.h"
/*
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_winreg.h"
+#include "librpc/gen_ndr/ndr_winreg_c.h"
#include "libcli/security/proto.h"
#include "torture/rpc/rpc.h"
#include "includes.h"
#include "torture/torture.h"
#include "librpc/gen_ndr/ndr_wkssvc.h"
+#include "librpc/gen_ndr/ndr_wkssvc_c.h"
#include "torture/rpc/rpc.h"
#include "libcli/auth/credentials.h"
#include "libcli/security/proto.h"
#include "libcli/auth/libcli_auth.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#include "winbind/wb_helper.h"
#include "smbd/service_task.h"
#include "librpc/gen_ndr/ndr_netlogon.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
struct cmd_getdcname_state {
struct composite_context *ctx;
#include "winbind/wb_server.h"
#include "smbd/service_task.h"
#include "librpc/gen_ndr/ndr_lsa.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
/* List trusted domains. To avoid the trouble with having to wait for other
* conflicting requests waiting for the lsa pipe we're opening our own lsa
#include "winbind/wb_server.h"
#include "smbd/service_task.h"
#include "librpc/gen_ndr/ndr_samr.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
#include "libcli/security/proto.h"
/* Calculate the token in two steps: Go the user's originating domain, ask for
#include "libcli/raw/libcliraw.h"
#include "librpc/gen_ndr/ndr_lsa.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
/* Helper to initialize LSA with a specific auth methods. Verify by opening
* the LSA policy. */
#include "libcli/raw/libcliraw.h"
#include "libcli/security/proto.h"
#include "librpc/gen_ndr/ndr_samr.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
/* Helper to initialize SAMR with a specific auth methods. Verify by opening
#include "winbind/wb_server.h"
#include "smbd/service_task.h"
#include "librpc/gen_ndr/ndr_netlogon.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
struct trusted_dom_info_state {
struct composite_context *ctx;
#include "winbind/wb_async_helpers.h"
#include "winbind/wb_helper.h"
#include "smbd/service_task.h"
+#include "librpc/gen_ndr/ndr_lsa_c.h"
#include "libcli/auth/credentials.h"
#include "libcli/security/proto.h"
#include "smbd/service_task.h"
#include "libcli/auth/credentials.h"
#include "libcli/auth/libcli_auth.h"
+#include "librpc/gen_ndr/ndr_netlogon_c.h"
/* Oh, there is so much to keep an eye on when authenticating a user. Oh my! */
struct pam_auth_crap_state {