From d8ce8f9b61cdd18d65a27623a537fbcbdf547a59 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 19 Jul 2009 12:41:09 +0200 Subject: Create libndr-standard, which includes the NDR marshalling code for the "standard" set of DCE/RPC interfaces found on Windows. --- librpc/ndr_standard.pc.in | 11 +++++++++++ source4/configure.ac | 1 + source4/librpc/config.mk | 40 +++++++++++++++++++++++++--------------- source4/rpc_server/config.mk | 8 ++++---- 4 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 librpc/ndr_standard.pc.in diff --git a/librpc/ndr_standard.pc.in b/librpc/ndr_standard.pc.in new file mode 100644 index 0000000000..80eace1bef --- /dev/null +++ b/librpc/ndr_standard.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: ndr-standard +Description: NDR marshallers for the standard set of DCE/RPC interfaces +Requires: ndr +Version: 0.0.1 +Libs: -L${libdir} -lndr-standard +Cflags: -I${includedir} -DHAVE_IMMEDIATE_STRUCTURES=1 -D_GNU_SOURCE=1 diff --git a/source4/configure.ac b/source4/configure.ac index 1930f4b6c7..7c5f310aa9 100644 --- a/source4/configure.ac +++ b/source4/configure.ac @@ -37,6 +37,7 @@ m4_include(client/config.m4) AC_CONFIG_FILES(lib/registry/registry.pc) AC_CONFIG_FILES(librpc/dcerpc.pc) AC_CONFIG_FILES(../librpc/ndr.pc) +AC_CONFIG_FILES(../librpc/ndr_standard.pc) AC_CONFIG_FILES(../lib/torture/torture.pc) AC_CONFIG_FILES(auth/gensec/gensec.pc) AC_CONFIG_FILES(param/samba-hostconfig.pc) diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 52c7f3e2d1..308f8cebcb 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -137,7 +137,7 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_FRSAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_frsapi.o [SUBSYSTEM::NDR_DRSUAPI] -PUBLIC_DEPENDENCIES = LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_SAMR ASN1_UTIL +PUBLIC_DEPENDENCIES = LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_STANDARD ASN1_UTIL NDR_DRSUAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_drsuapi.o ../librpc/ndr/ndr_drsuapi.o @@ -162,7 +162,7 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_UNIXINFO_OBJ_FILES = ../librpc/gen_ndr/ndr_unixinfo.o [SUBSYSTEM::NDR_SAMR] -PUBLIC_DEPENDENCIES = LIBNDR NDR_LSA NDR_SECURITY +PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_SAMR_OBJ_FILES = ../librpc/gen_ndr/ndr_samr.o @@ -207,7 +207,7 @@ NDR_ATSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_atsvc.o PUBLIC_HEADERS += $(addprefix ../librpc/gen_ndr/, atsvc.h ndr_atsvc.h) [SUBSYSTEM::NDR_EVENTLOG] -PUBLIC_DEPENDENCIES = LIBNDR NDR_LSA +PUBLIC_DEPENDENCIES = LIBNDR NDR_STANDARD NDR_EVENTLOG_OBJ_FILES = ../librpc/gen_ndr/ndr_eventlog.o @@ -297,7 +297,7 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_NTSVCS_OBJ_FILES = ../librpc/gen_ndr/ndr_ntsvcs.o [SUBSYSTEM::NDR_NETLOGON] -PUBLIC_DEPENDENCIES = LIBNDR NDR_SAMR NDR_LSA NDR_SECURITY +PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_NETLOGON_OBJ_FILES = ../librpc/gen_ndr/ndr_netlogon.o ../librpc/ndr/ndr_netlogon.o @@ -314,7 +314,7 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_KEYSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_keysvc.o [SUBSYSTEM::NDR_KRB5PAC] -PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON NDR_SECURITY +PUBLIC_DEPENDENCIES = LIBNDR NDR_STANDARD NDR_SECURITY NDR_KRB5PAC_OBJ_FILES = ../librpc/gen_ndr/ndr_krb5pac.o ../librpc/ndr/ndr_krb5pac.o @@ -339,7 +339,7 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT NDR_SCHANNEL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_schannel.o [SUBSYSTEM::NDR_NBT] -PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT_BUF NDR_SVCCTL NDR_SECURITY NDR_SAMR LIBCLI_NDR_NETLOGON +PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT_BUF NDR_SVCCTL NDR_SECURITY NDR_STANDARD LIBCLI_NDR_NETLOGON NDR_NBT_OBJ_FILES = ../librpc/gen_ndr/ndr_nbt.o @@ -356,7 +356,7 @@ PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT NDR_WINSREPL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winsrepl.o [SUBSYSTEM::NDR_WINBIND] -PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON +PUBLIC_DEPENDENCIES = LIBNDR NDR_STANDARD NDR_WINBIND_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winbind.o #PUBLIC_HEADERS += $(gen_ndrsrcdir)/winbind.h @@ -374,15 +374,25 @@ $(gen_ndrsrcdir)/tables.c: $(IDL_NDR_PARSE_H_FILES) @$(PERL) ../librpc/tables.pl --output=$@ $^ > $(gen_ndrsrcdir)/tables.x @mv $(gen_ndrsrcdir)/tables.x $@ +[LIBRARY::NDR_STANDARD] +PUBLIC_DEPENDENCIES = LIBNDR +PRIVATE_DEPENDENCIES = NDR_ECHO NDR_LSA NDR_SAMR NDR_NETLOGON + +PC_FILES += $(librpcsrcdir)/ndr_standard.pc + +NDR_STANDARD_VERSION = 0.0.1 +NDR_STANDARD_SOVERSION = 0 + [SUBSYSTEM::NDR_TABLE] PUBLIC_DEPENDENCIES = \ - NDR_AUDIOSRV NDR_ECHO NDR_DCERPC \ - NDR_DSBACKUP NDR_EFS NDR_LSA NDR_DFS NDR_DRSUAPI \ - NDR_POLICYAGENT NDR_UNIXINFO NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \ + NDR_STANDARD \ + NDR_AUDIOSRV \ + NDR_DSBACKUP NDR_EFS NDR_DFS NDR_DRSUAPI \ + NDR_POLICYAGENT NDR_UNIXINFO NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \ NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \ NDR_WINREG NDR_MGMT NDR_PROTECTED_STORAGE NDR_OXIDRESOLVER \ NDR_REMACT NDR_WZCSVC NDR_BROWSER NDR_W32TIME NDR_SCERPC NDR_NTSVCS \ - NDR_NETLOGON NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL \ + NDR_TRKWKS NDR_KEYSVC NDR_KRB5PAC NDR_XATTR NDR_SCHANNEL \ NDR_ROT NDR_DRSBLOBS NDR_SVCCTL NDR_NBT NDR_WINSREPL NDR_SECURITY \ NDR_INITSHUTDOWN NDR_DNSSERVER NDR_WINSTATION NDR_IRPC NDR_OPENDB \ NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI NDR_NFS4ACL NDR_NTP_SIGND \ @@ -401,7 +411,7 @@ PUBLIC_DEPENDENCIES = NDR_AUDIOSRV dcerpc RPC_NDR_AUDIOSRV_OBJ_FILES = ../librpc/gen_ndr/ndr_audiosrv_c.o [SUBSYSTEM::RPC_NDR_ECHO] -PUBLIC_DEPENDENCIES = dcerpc NDR_ECHO +PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD RPC_NDR_ECHO_OBJ_FILES = ../librpc/gen_ndr/ndr_echo_c.o @@ -416,7 +426,7 @@ PUBLIC_DEPENDENCIES = dcerpc NDR_EFS RPC_NDR_EFS_OBJ_FILES = ../librpc/gen_ndr/ndr_efs_c.o [SUBSYSTEM::RPC_NDR_LSA] -PUBLIC_DEPENDENCIES = dcerpc NDR_LSA +PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD RPC_NDR_LSA_OBJ_FILES = ../librpc/gen_ndr/ndr_lsa_c.o @@ -456,7 +466,7 @@ PUBLIC_DEPENDENCIES = dcerpc NDR_IRPC RPC_NDR_IRPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_irpc_c.o [LIBRARY::dcerpc_samr] -PUBLIC_DEPENDENCIES = dcerpc NDR_SAMR +PUBLIC_DEPENDENCIES = dcerpc NDR_STANDARD PC_FILES += $(librpcsrcdir)/dcerpc_samr.pc @@ -578,7 +588,7 @@ PUBLIC_DEPENDENCIES = dcerpc NDR_NTSVCS RPC_NDR_NTSVCS_OBJ_FILES = ../librpc/gen_ndr/ndr_ntsvcs_c.o [SUBSYSTEM::RPC_NDR_NETLOGON] -PUBLIC_DEPENDENCIES = NDR_NETLOGON +PUBLIC_DEPENDENCIES = NDR_STANDARD RPC_NDR_NETLOGON_OBJ_FILES = ../librpc/gen_ndr/ndr_netlogon_c.o diff --git a/source4/rpc_server/config.mk b/source4/rpc_server/config.mk index f3dc074125..4b5b5cf42f 100644 --- a/source4/rpc_server/config.mk +++ b/source4/rpc_server/config.mk @@ -19,7 +19,7 @@ PUBLIC_HEADERS += $(rpc_serversrcdir)/common/common.h [MODULE::dcerpc_rpcecho] INIT_FUNCTION = dcerpc_server_rpcecho_init SUBSYSTEM = dcerpc_server -PRIVATE_DEPENDENCIES = NDR_ECHO LIBEVENTS +PRIVATE_DEPENDENCIES = NDR_STANDARD LIBEVENTS # End MODULE dcerpc_rpcecho ################################################ @@ -99,7 +99,7 @@ SUBSYSTEM = dcerpc_server PRIVATE_DEPENDENCIES = \ SAMDB \ DCERPC_COMMON \ - NDR_SAMR + NDR_STANDARD # End MODULE dcesrv_samr ################################################ @@ -128,7 +128,7 @@ SUBSYSTEM = dcerpc_server PRIVATE_DEPENDENCIES = \ DCERPC_COMMON \ SCHANNELDB \ - NDR_NETLOGON \ + NDR_STANDARD \ auth_sam \ LIBSAMBA-HOSTCONFIG # End MODULE dcerpc_netlogon @@ -144,7 +144,7 @@ SUBSYSTEM = dcerpc_server PRIVATE_DEPENDENCIES = \ SAMDB \ DCERPC_COMMON \ - NDR_LSA \ + NDR_STANDARD \ LIBCLI_AUTH \ NDR_DSSETUP # End MODULE dcerpc_lsa -- cgit