diff options
-rw-r--r-- | librpc/idl/security.idl | 2 | ||||
-rw-r--r-- | source3/Makefile.in | 2 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/dom_sid.h | 15 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_dom_sid.h | 10 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_security.c | 1 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/ndr_security.h | 1 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/security.h | 1 | ||||
-rw-r--r-- | source3/librpc/idl/dom_sid.idl | 29 | ||||
-rw-r--r-- | source3/librpc/idl/notify.idl | 56 | ||||
-rw-r--r-- | source4/cluster/cluster.c | 2 | ||||
-rw-r--r-- | source4/cluster/ctdb/ctdb_cluster.c | 2 | ||||
-rw-r--r-- | source4/cluster/local.c | 2 | ||||
-rw-r--r-- | source4/lib/messaging/irpc.h | 1 | ||||
-rw-r--r-- | source4/librpc/config.mk | 2 | ||||
-rw-r--r-- | source4/librpc/idl/notify.idl (renamed from librpc/idl/notify.idl) | 2 | ||||
-rw-r--r-- | source4/librpc/idl/opendb.idl | 2 | ||||
-rw-r--r-- | source4/librpc/idl/server_id.idl (renamed from source4/librpc/idl/dom_sid.idl) | 2 | ||||
-rw-r--r-- | source4/ntvfs/ntvfs.h | 1 | ||||
-rw-r--r-- | source4/rpc_server/dcerpc_server.h | 2 | ||||
-rw-r--r-- | source4/smbd/service_stream.h | 2 | ||||
-rw-r--r-- | source4/smbd/service_task.h | 2 |
21 files changed, 69 insertions, 70 deletions
diff --git a/librpc/idl/security.idl b/librpc/idl/security.idl index 4c6aa235d7..223a92faad 100644 --- a/librpc/idl/security.idl +++ b/librpc/idl/security.idl @@ -5,7 +5,6 @@ */ import "misc.idl"; -import "dom_sid.idl"; /* use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really @@ -27,7 +26,6 @@ cpp_quote("#define dom_sid28 dom_sid") cpp_quote("#define dom_sid0 dom_sid") [ - helper("librpc/gen_ndr/ndr_dom_sid.h"), pyhelper("librpc/ndr/py_security.c"), pointer_default(unique) ] diff --git a/source3/Makefile.in b/source3/Makefile.in index f53406c39e..33af2c2300 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -1237,7 +1237,7 @@ samba3-idl:: ../librpc/idl/security.idl ../librpc/idl/dssetup.idl ../librpc/idl/krb5pac.idl \ ../librpc/idl/ntsvcs.idl librpc/idl/libnetapi.idl ../librpc/idl/drsuapi.idl \ ../librpc/idl/drsblobs.idl ../librpc/idl/nbt.idl \ - ../librpc/idl/named_pipe_auth.idl librpc/idl/dom_sid.idl + ../librpc/idl/named_pipe_auth.idl @$(MAKE) ndr-tables NDR_TABLES = librpc/gen_ndr/tables.c diff --git a/source3/librpc/gen_ndr/dom_sid.h b/source3/librpc/gen_ndr/dom_sid.h deleted file mode 100644 index 57dd16855a..0000000000 --- a/source3/librpc/gen_ndr/dom_sid.h +++ /dev/null @@ -1,15 +0,0 @@ -/* header auto-generated by pidl */ - -#include <stdint.h> - -#define dom_sid2 dom_sid -#define dom_sid28 dom_sid -#define dom_sid0 dom_sid -#ifndef _HEADER_dom_sid -#define _HEADER_dom_sid - -struct _dummy_domsid { - uint8_t dummy; -}; - -#endif /* _HEADER_dom_sid */ diff --git a/source3/librpc/gen_ndr/ndr_dom_sid.h b/source3/librpc/gen_ndr/ndr_dom_sid.h deleted file mode 100644 index 145ec1db46..0000000000 --- a/source3/librpc/gen_ndr/ndr_dom_sid.h +++ /dev/null @@ -1,10 +0,0 @@ -/* header auto-generated by pidl */ - -#include "librpc/ndr/libndr.h" -#include "librpc/gen_ndr/dom_sid.h" - -#ifndef _HEADER_NDR_dom_sid -#define _HEADER_NDR_dom_sid - -#define NDR_DOM_SID_CALL_COUNT (0) -#endif /* _HEADER_NDR_dom_sid */ diff --git a/source3/librpc/gen_ndr/ndr_security.c b/source3/librpc/gen_ndr/ndr_security.c index 8339a40d40..b4d221ac90 100644 --- a/source3/librpc/gen_ndr/ndr_security.c +++ b/source3/librpc/gen_ndr/ndr_security.c @@ -4,7 +4,6 @@ #include "librpc/gen_ndr/ndr_security.h" #include "librpc/gen_ndr/ndr_misc.h" -#include "librpc/gen_ndr/ndr_dom_sid.h" _PUBLIC_ enum ndr_err_code ndr_push_security_ace_flags(struct ndr_push *ndr, int ndr_flags, uint8_t r) { NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r)); diff --git a/source3/librpc/gen_ndr/ndr_security.h b/source3/librpc/gen_ndr/ndr_security.h index f8cbf4afa8..41c66aa65b 100644 --- a/source3/librpc/gen_ndr/ndr_security.h +++ b/source3/librpc/gen_ndr/ndr_security.h @@ -6,7 +6,6 @@ #ifndef _HEADER_NDR_security #define _HEADER_NDR_security -#include "librpc/gen_ndr/ndr_dom_sid.h" #define NDR_SECURITY_CALL_COUNT (0) enum ndr_err_code ndr_push_dom_sid(struct ndr_push *ndr, int ndr_flags, const struct dom_sid *r); enum ndr_err_code ndr_pull_dom_sid(struct ndr_pull *ndr, int ndr_flags, struct dom_sid *r); diff --git a/source3/librpc/gen_ndr/security.h b/source3/librpc/gen_ndr/security.h index 99e1f4b1c9..2b422608ea 100644 --- a/source3/librpc/gen_ndr/security.h +++ b/source3/librpc/gen_ndr/security.h @@ -3,7 +3,6 @@ #include <stdint.h> #include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/dom_sid.h" #define dom_sid2 dom_sid #define dom_sid28 dom_sid #define dom_sid0 dom_sid diff --git a/source3/librpc/idl/dom_sid.idl b/source3/librpc/idl/dom_sid.idl deleted file mode 100644 index c405c18726..0000000000 --- a/source3/librpc/idl/dom_sid.idl +++ /dev/null @@ -1,29 +0,0 @@ -/* - use the same structure for dom_sid2 as dom_sid. A dom_sid2 is really - just a dom sid, but with the sub_auths represented as a conformant - array. As with all in-structure conformant arrays, the array length - is placed before the start of the structure. That's what gives rise - to the extra num_auths elemenent. We don't want the Samba code to - have to bother with such esoteric NDR details, so its easier to just - define it as a dom_sid and use pidl magic to make it all work. It - just means you need to mark a sid as a "dom_sid2" in the IDL when you - know it is of the conformant array variety -*/ -cpp_quote("#define dom_sid2 dom_sid") - -/* same struct as dom_sid but inside a 28 bytes fixed buffer in NDR */ -cpp_quote("#define dom_sid28 dom_sid") - -/* same struct as dom_sid but in a variable byte buffer, which is maybe empty in NDR */ -cpp_quote("#define dom_sid0 dom_sid") - -[ - pointer_default(unique) -] -interface dom_sid -{ - struct _dummy_domsid { - uint8 dummy; - }; -} - diff --git a/source3/librpc/idl/notify.idl b/source3/librpc/idl/notify.idl new file mode 100644 index 0000000000..c4e633c254 --- /dev/null +++ b/source3/librpc/idl/notify.idl @@ -0,0 +1,56 @@ +#include "idl_types.h" + +/* + IDL structures for notify change code + + this defines the structures used in the notify database code, and + the change notify buffers +*/ + +[ + pointer_default(unique) +] +interface notify +{ + + /* structure used in the notify database */ + typedef [public] struct { + server_id server; + uint32 filter; /* filter to apply in this directory */ + uint32 subdir_filter; /* filter to apply in child directories */ + utf8string path; + uint32 path_len; /* saves some computation on search */ + pointer private_data; + } notify_entry; + + /* + to allow for efficient search for matching entries, we + divide them by the directory depth, with a separate array + per depth. The entries within each depth are sorted by path, + allowing for a bisection search. + + The max_mask and max_mask_subdir at each depth is the + bitwise or of the filters and subdir filters for all entries + at that depth. This allows a depth to be quickly skipped if + no entries will match the target filter + */ + typedef struct { + uint32 max_mask; + uint32 max_mask_subdir; + uint32 num_entries; + notify_entry entries[num_entries]; + } notify_depth; + + typedef [public] struct { + uint32 num_depths; + notify_depth depth[num_depths]; + } notify_array; + + /* structure sent between servers in notify messages */ + typedef [public] struct { + uint32 action; + utf8string path; + pointer private_data; + } notify_event; + +} diff --git a/source4/cluster/cluster.c b/source4/cluster/cluster.c index c09d10900b..b3fc9c2caf 100644 --- a/source4/cluster/cluster.c +++ b/source4/cluster/cluster.c @@ -23,7 +23,7 @@ #include "cluster/cluster.h" #include "cluster/cluster_private.h" #include "librpc/gen_ndr/misc.h" -#include "librpc/gen_ndr/security.h" +#include "librpc/gen_ndr/server_id.h" static struct cluster_ops *ops; diff --git a/source4/cluster/ctdb/ctdb_cluster.c b/source4/cluster/ctdb/ctdb_cluster.c index d0ceef4ad1..1c96319986 100644 --- a/source4/cluster/ctdb/ctdb_cluster.c +++ b/source4/cluster/ctdb/ctdb_cluster.c @@ -29,7 +29,7 @@ #include "tdb_wrap.h" #include "../lib/util/dlinklist.h" #include "param/param.h" -#include "librpc/gen_ndr/security.h" +#include "librpc/gen_ndr/server_id.h" #include "cluster/ctdb/ctdb_cluster.h" /* a linked list of messaging handlers, allowing incoming messages diff --git a/source4/cluster/local.c b/source4/cluster/local.c index 5b872a3e2e..f36a06c9b6 100644 --- a/source4/cluster/local.c +++ b/source4/cluster/local.c @@ -26,7 +26,7 @@ #include "tdb_wrap.h" #include "system/filesys.h" #include "param/param.h" -#include "librpc/gen_ndr/security.h" +#include "librpc/gen_ndr/server_id.h" /* server a server_id for the local node diff --git a/source4/lib/messaging/irpc.h b/source4/lib/messaging/irpc.h index 65e98dce2c..3527f10648 100644 --- a/source4/lib/messaging/irpc.h +++ b/source4/lib/messaging/irpc.h @@ -23,6 +23,7 @@ #define IRPC_H #include "librpc/gen_ndr/irpc.h" +#include "librpc/gen_ndr/server_id.h" /* an incoming irpc message diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 65c473779f..902312542a 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -54,7 +54,7 @@ PUBLIC_DEPENDENCIES = LIBNDR LIBSECURITY NDR_SECURITY_OBJ_FILES = $(gen_ndrsrcdir)/ndr_security.o \ ../librpc/ndr/ndr_sec_helper.o \ - $(gen_ndrsrcdir)/ndr_dom_sid.o + $(gen_ndrsrcdir)/ndr_server_id.o PUBLIC_HEADERS += $(addprefix $(gen_ndrsrcdir)/, security.h) diff --git a/librpc/idl/notify.idl b/source4/librpc/idl/notify.idl index 3ce2f40ed8..a19f737678 100644 --- a/librpc/idl/notify.idl +++ b/source4/librpc/idl/notify.idl @@ -7,7 +7,7 @@ the change notify buffers */ -import "security.idl"; +import "server_id.idl"; [ pointer_default(unique) diff --git a/source4/librpc/idl/opendb.idl b/source4/librpc/idl/opendb.idl index 265cfaf7ad..b76992960a 100644 --- a/source4/librpc/idl/opendb.idl +++ b/source4/librpc/idl/opendb.idl @@ -7,7 +7,7 @@ ntvfs/common/opendb.c */ -import "security.idl"; +import "server_id.idl"; [ pointer_default(unique) diff --git a/source4/librpc/idl/dom_sid.idl b/source4/librpc/idl/server_id.idl index 172dda4fae..486143546b 100644 --- a/source4/librpc/idl/dom_sid.idl +++ b/source4/librpc/idl/server_id.idl @@ -1,7 +1,7 @@ [ pointer_default(unique) ] -interface dom_sid +interface server_id { /* id used to identify a endpoint, possibly in a cluster */ typedef [public] struct { diff --git a/source4/ntvfs/ntvfs.h b/source4/ntvfs/ntvfs.h index fc04d976f4..8433a431b0 100644 --- a/source4/ntvfs/ntvfs.h +++ b/source4/ntvfs/ntvfs.h @@ -24,6 +24,7 @@ #include "libcli/raw/interfaces.h" #include "param/share.h" #include "librpc/gen_ndr/security.h" +#include "librpc/gen_ndr/server_id.h" /* modules can use the following to determine if the interface has changed */ /* version 1 -> 0 - make module stacking easier -- metze */ diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h index bcd3d61f13..28f4308433 100644 --- a/source4/rpc_server/dcerpc_server.h +++ b/source4/rpc_server/dcerpc_server.h @@ -23,7 +23,7 @@ #ifndef SAMBA_DCERPC_SERVER_H #define SAMBA_DCERPC_SERVER_H -#include "librpc/gen_ndr/security.h" +#include "librpc/gen_ndr/server_id.h" #include "librpc/rpc/dcerpc.h" #include "librpc/ndr/libndr.h" diff --git a/source4/smbd/service_stream.h b/source4/smbd/service_stream.h index 7ec2a0538b..805c140a83 100644 --- a/source4/smbd/service_stream.h +++ b/source4/smbd/service_stream.h @@ -23,7 +23,7 @@ #ifndef __SERVICE_STREAM_H__ #define __SERVICE_STREAM_H__ -#include "librpc/gen_ndr/security.h" +#include "librpc/gen_ndr/server_id.h" /* modules can use the following to determine if the interface has changed * please increment the version number after each interface change diff --git a/source4/smbd/service_task.h b/source4/smbd/service_task.h index ddd56bc9c9..c49962f05f 100644 --- a/source4/smbd/service_task.h +++ b/source4/smbd/service_task.h @@ -22,7 +22,7 @@ #ifndef __SERVICE_TASK_H__ #define __SERVICE_TASK_H__ -#include "librpc/gen_ndr/security.h" +#include "librpc/gen_ndr/server_id.h" struct task_server { struct event_context *event_ctx; |