summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/idmap.h4
-rw-r--r--source3/include/includes.h1
-rw-r--r--source3/include/proto.h49
-rw-r--r--source3/include/smb.h1
-rw-r--r--source3/lib/idmap_cache.c1
-rw-r--r--source3/lib/idmap_cache.h10
-rw-r--r--source3/passdb/lookup_sid.c1
-rw-r--r--source3/passdb/pdb_ldap.c1
-rw-r--r--source3/utils/net_idmap.c1
-rw-r--r--source3/winbindd/idmap.c1
-rw-r--r--source3/winbindd/idmap_ad.c1
-rw-r--r--source3/winbindd/idmap_adex/cell_util.c1
-rw-r--r--source3/winbindd/idmap_adex/domain_util.c1
-rw-r--r--source3/winbindd/idmap_adex/gc_util.c1
-rw-r--r--source3/winbindd/idmap_adex/idmap_adex.c1
-rw-r--r--source3/winbindd/idmap_adex/likewise_cell.c1
-rw-r--r--source3/winbindd/idmap_adex/provider_unified.c1
-rw-r--r--source3/winbindd/idmap_hash/idmap_hash.c1
-rw-r--r--source3/winbindd/idmap_hash/mapfile.c1
-rw-r--r--source3/winbindd/idmap_ldap.c1
-rw-r--r--source3/winbindd/idmap_nss.c1
-rw-r--r--source3/winbindd/idmap_passdb.c1
-rw-r--r--source3/winbindd/idmap_proto.h36
-rw-r--r--source3/winbindd/idmap_rid.c1
-rw-r--r--source3/winbindd/idmap_tdb.c1
-rw-r--r--source3/winbindd/idmap_tdb2.c1
-rw-r--r--source3/winbindd/idmap_util.c2
-rw-r--r--source3/winbindd/wb_gid2sid.c2
-rw-r--r--source3/winbindd/wb_sid2gid.c1
-rw-r--r--source3/winbindd/wb_sid2uid.c1
-rw-r--r--source3/winbindd/wb_uid2sid.c2
-rw-r--r--source3/winbindd/winbindd.c1
-rw-r--r--source3/winbindd/winbindd_dual_srv.c1
33 files changed, 80 insertions, 51 deletions
diff --git a/source3/include/idmap.h b/source3/include/idmap.h
index aab41cd7d3..8a1da81e39 100644
--- a/source3/include/idmap.h
+++ b/source3/include/idmap.h
@@ -30,6 +30,8 @@
#define SMB_IDMAP_INTERFACE_VERSION 5
+#include "librpc/gen_ndr/idmap.h"
+
struct idmap_domain {
const char *name;
struct idmap_methods *methods;
@@ -60,4 +62,6 @@ struct idmap_methods {
NTSTATUS (*close_fn)(struct idmap_domain *dom);
};
+#include "winbindd/idmap_proto.h"
+
#endif /* _IDMAP_H_ */
diff --git a/source3/include/includes.h b/source3/include/includes.h
index d409a354a1..e65ea437ed 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -653,7 +653,6 @@ struct ntlmssp_state;
#include "auth.h"
#include "ntdomain.h"
#include "librpc/rpc/dcerpc.h"
-#include "idmap.h"
#include "client.h"
#include "session.h"
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 7728af3ff5..87b2e275ad 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5653,55 +5653,6 @@ NTSTATUS vfs_stat_fsp(files_struct *fsp);
char *stdin_new_passwd( void);
char *get_pass( const char *prompt, bool stdin_get);
-/* The following definitions come from winbindd/idmap.c */
-
-bool idmap_is_offline(void);
-bool idmap_is_online(void);
-NTSTATUS smb_register_idmap(int version, const char *name,
- struct idmap_methods *methods);
-void idmap_close(void);
-NTSTATUS idmap_init_cache(void);
-NTSTATUS idmap_allocate_uid(struct unixid *id);
-NTSTATUS idmap_allocate_gid(struct unixid *id);
-NTSTATUS idmap_backends_unixid_to_sid(const char *domname,
- struct id_map *id);
-NTSTATUS idmap_backends_sid_to_unixid(const char *domname,
- struct id_map *id);
-NTSTATUS idmap_new_mapping(const struct dom_sid *psid, enum id_type type,
- struct unixid *pxid);
-
-/* The following definitions come from winbindd/idmap_cache.c */
-
-bool idmap_cache_find_sid2uid(const struct dom_sid *sid, uid_t *puid,
- bool *expired);
-bool idmap_cache_find_uid2sid(uid_t uid, struct dom_sid *sid, bool *expired);
-void idmap_cache_set_sid2uid(const struct dom_sid *sid, uid_t uid);
-bool idmap_cache_find_sid2gid(const struct dom_sid *sid, gid_t *pgid,
- bool *expired);
-bool idmap_cache_find_gid2sid(gid_t gid, struct dom_sid *sid, bool *expired);
-void idmap_cache_set_sid2gid(const struct dom_sid *sid, gid_t gid);
-
-
-/* The following definitions come from winbindd/idmap_nss.c */
-
-NTSTATUS idmap_nss_init(void);
-
-/* The following definitions come from winbindd/idmap_passdb.c */
-
-NTSTATUS idmap_passdb_init(void);
-
-/* The following definitions come from winbindd/idmap_tdb.c */
-
-NTSTATUS idmap_tdb_init(void);
-
-/* The following definitions come from winbindd/idmap_util.c */
-
-NTSTATUS idmap_uid_to_sid(const char *domname, struct dom_sid *sid, uid_t uid);
-NTSTATUS idmap_gid_to_sid(const char *domname, struct dom_sid *sid, gid_t gid);
-NTSTATUS idmap_sid_to_uid(const char *dom_name, struct dom_sid *sid, uid_t *uid);
-NTSTATUS idmap_sid_to_gid(const char *domname, struct dom_sid *sid, gid_t *gid);
-bool idmap_unix_id_is_in_range(uint32_t id, struct idmap_domain *dom);
-
/* The following definitions come from winbindd/nss_info.c */
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 05a02637bd..74f1eb535a 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -174,7 +174,6 @@ typedef union unid_t {
|LOOKUP_NAME_WKN\
|LOOKUP_NAME_DOMAIN)
-#include "librpc/gen_ndr/idmap.h"
#include "librpc/gen_ndr/epmapper.h"
#include "librpc/gen_ndr/dcerpc.h"
diff --git a/source3/lib/idmap_cache.c b/source3/lib/idmap_cache.c
index 6377635a65..bf72d91efe 100644
--- a/source3/lib/idmap_cache.c
+++ b/source3/lib/idmap_cache.c
@@ -18,6 +18,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.*/
#include "includes.h"
+#include "idmap_cache.h"
/**
* Find a sid2uid mapping
diff --git a/source3/lib/idmap_cache.h b/source3/lib/idmap_cache.h
new file mode 100644
index 0000000000..f511780672
--- /dev/null
+++ b/source3/lib/idmap_cache.h
@@ -0,0 +1,10 @@
+/* The following definitions come from lib/idmap_cache.c */
+
+bool idmap_cache_find_sid2uid(const struct dom_sid *sid, uid_t *puid,
+ bool *expired);
+bool idmap_cache_find_uid2sid(uid_t uid, struct dom_sid *sid, bool *expired);
+void idmap_cache_set_sid2uid(const struct dom_sid *sid, uid_t uid);
+bool idmap_cache_find_sid2gid(const struct dom_sid *sid, gid_t *pgid,
+ bool *expired);
+bool idmap_cache_find_gid2sid(gid_t gid, struct dom_sid *sid, bool *expired);
+void idmap_cache_set_sid2gid(const struct dom_sid *sid, gid_t gid);
diff --git a/source3/passdb/lookup_sid.c b/source3/passdb/lookup_sid.c
index a93145330b..0e2385f43f 100644
--- a/source3/passdb/lookup_sid.c
+++ b/source3/passdb/lookup_sid.c
@@ -23,6 +23,7 @@
#include "../librpc/gen_ndr/ndr_security.h"
#include "secrets.h"
#include "memcache.h"
+#include "idmap_cache.h"
/*****************************************************************
Dissect a user-provided name into domain, name, sid and type.
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
index ef695f1c1a..e3dedcd06e 100644
--- a/source3/passdb/pdb_ldap.c
+++ b/source3/passdb/pdb_ldap.c
@@ -46,6 +46,7 @@
#include "includes.h"
#include "../libcli/auth/libcli_auth.h"
#include "secrets.h"
+#include "idmap_cache.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_PASSDB
diff --git a/source3/utils/net_idmap.c b/source3/utils/net_idmap.c
index cd3a68db3c..8bcb79fabf 100644
--- a/source3/utils/net_idmap.c
+++ b/source3/utils/net_idmap.c
@@ -21,6 +21,7 @@
#include "includes.h"
#include "utils/net.h"
#include "secrets.h"
+#include "idmap.h"
#define ALLOC_CHECK(mem) do { \
if (!mem) { \
diff --git a/source3/winbindd/idmap.c b/source3/winbindd/idmap.c
index 2a4e2a5a43..102f4ebb7f 100644
--- a/source3/winbindd/idmap.c
+++ b/source3/winbindd/idmap.c
@@ -22,6 +22,7 @@
#include "includes.h"
#include "winbindd.h"
+#include "idmap.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
diff --git a/source3/winbindd/idmap_ad.c b/source3/winbindd/idmap_ad.c
index a690fb2b36..3d47baadc9 100644
--- a/source3/winbindd/idmap_ad.c
+++ b/source3/winbindd/idmap_ad.c
@@ -32,6 +32,7 @@
#include "libads/ldap_schema.h"
#include "nss_info.h"
#include "secrets.h"
+#include "idmap.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
diff --git a/source3/winbindd/idmap_adex/cell_util.c b/source3/winbindd/idmap_adex/cell_util.c
index c32bb9179d..c82407c0f4 100644
--- a/source3/winbindd/idmap_adex/cell_util.c
+++ b/source3/winbindd/idmap_adex/cell_util.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "ads.h"
+#include "idmap.h"
#include "idmap_adex.h"
#include "../libds/common/flags.h"
diff --git a/source3/winbindd/idmap_adex/domain_util.c b/source3/winbindd/idmap_adex/domain_util.c
index 72643e97da..c373106446 100644
--- a/source3/winbindd/idmap_adex/domain_util.c
+++ b/source3/winbindd/idmap_adex/domain_util.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "ads.h"
+#include "idmap.h"
#include "idmap_adex.h"
#undef DBGC_CLASS
diff --git a/source3/winbindd/idmap_adex/gc_util.c b/source3/winbindd/idmap_adex/gc_util.c
index 339234dfaf..56bd9542f6 100644
--- a/source3/winbindd/idmap_adex/gc_util.c
+++ b/source3/winbindd/idmap_adex/gc_util.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "ads.h"
+#include "idmap.h"
#include "idmap_adex.h"
#include "libads/cldap.h"
diff --git a/source3/winbindd/idmap_adex/idmap_adex.c b/source3/winbindd/idmap_adex/idmap_adex.c
index 5e55df357e..0902d55470 100644
--- a/source3/winbindd/idmap_adex/idmap_adex.c
+++ b/source3/winbindd/idmap_adex/idmap_adex.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "ads.h"
+#include "idmap.h"
#include "idmap_adex.h"
#include "nss_info.h"
#include "secrets.h"
diff --git a/source3/winbindd/idmap_adex/likewise_cell.c b/source3/winbindd/idmap_adex/likewise_cell.c
index 3e529b427a..00ccc597bb 100644
--- a/source3/winbindd/idmap_adex/likewise_cell.c
+++ b/source3/winbindd/idmap_adex/likewise_cell.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "ads.h"
+#include "idmap.h"
#include "idmap_adex.h"
#include "secrets.h"
diff --git a/source3/winbindd/idmap_adex/provider_unified.c b/source3/winbindd/idmap_adex/provider_unified.c
index 999615ca3c..191f77159c 100644
--- a/source3/winbindd/idmap_adex/provider_unified.c
+++ b/source3/winbindd/idmap_adex/provider_unified.c
@@ -22,6 +22,7 @@
#include "includes.h"
#include "ads.h"
+#include "idmap.h"
#include "idmap_adex.h"
#undef DBGC_CLASS
diff --git a/source3/winbindd/idmap_hash/idmap_hash.c b/source3/winbindd/idmap_hash/idmap_hash.c
index ed55cd5dd4..f6c8652463 100644
--- a/source3/winbindd/idmap_hash/idmap_hash.c
+++ b/source3/winbindd/idmap_hash/idmap_hash.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "winbindd/winbindd.h"
+#include "idmap.h"
#include "idmap_hash.h"
#include "ads.h"
#include "nss_info.h"
diff --git a/source3/winbindd/idmap_hash/mapfile.c b/source3/winbindd/idmap_hash/mapfile.c
index 5ab1142ffe..199dded87f 100644
--- a/source3/winbindd/idmap_hash/mapfile.c
+++ b/source3/winbindd/idmap_hash/mapfile.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "winbindd/winbindd.h"
+#include "idmap.h"
#include "idmap_hash.h"
#include <stdio.h>
diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c
index 51915002b5..39df489be7 100644
--- a/source3/winbindd/idmap_ldap.c
+++ b/source3/winbindd/idmap_ldap.c
@@ -26,6 +26,7 @@
#include "includes.h"
#include "winbindd.h"
#include "secrets.h"
+#include "idmap.h"
#include "idmap_rw.h"
#undef DBGC_CLASS
diff --git a/source3/winbindd/idmap_nss.c b/source3/winbindd/idmap_nss.c
index 40adef29b8..ac5dd797fa 100644
--- a/source3/winbindd/idmap_nss.c
+++ b/source3/winbindd/idmap_nss.c
@@ -22,6 +22,7 @@
#include "includes.h"
#include "winbindd.h"
#include "nsswitch/winbind_client.h"
+#include "idmap.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
diff --git a/source3/winbindd/idmap_passdb.c b/source3/winbindd/idmap_passdb.c
index 4dcf74416c..ece1b42122 100644
--- a/source3/winbindd/idmap_passdb.c
+++ b/source3/winbindd/idmap_passdb.c
@@ -20,6 +20,7 @@
*/
#include "includes.h"
+#include "idmap.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
diff --git a/source3/winbindd/idmap_proto.h b/source3/winbindd/idmap_proto.h
new file mode 100644
index 0000000000..42900a6690
--- /dev/null
+++ b/source3/winbindd/idmap_proto.h
@@ -0,0 +1,36 @@
+/* The following definitions come from winbindd/idmap.c */
+
+bool idmap_is_offline(void);
+bool idmap_is_online(void);
+NTSTATUS smb_register_idmap(int version, const char *name,
+ struct idmap_methods *methods);
+void idmap_close(void);
+NTSTATUS idmap_init_cache(void);
+NTSTATUS idmap_allocate_uid(struct unixid *id);
+NTSTATUS idmap_allocate_gid(struct unixid *id);
+NTSTATUS idmap_backends_unixid_to_sid(const char *domname,
+ struct id_map *id);
+NTSTATUS idmap_backends_sid_to_unixid(const char *domname,
+ struct id_map *id);
+NTSTATUS idmap_new_mapping(const struct dom_sid *psid, enum id_type type,
+ struct unixid *pxid);
+
+/* The following definitions come from winbindd/idmap_nss.c */
+
+NTSTATUS idmap_nss_init(void);
+
+/* The following definitions come from winbindd/idmap_passdb.c */
+
+NTSTATUS idmap_passdb_init(void);
+
+/* The following definitions come from winbindd/idmap_tdb.c */
+
+NTSTATUS idmap_tdb_init(void);
+
+/* The following definitions come from winbindd/idmap_util.c */
+
+NTSTATUS idmap_uid_to_sid(const char *domname, struct dom_sid *sid, uid_t uid);
+NTSTATUS idmap_gid_to_sid(const char *domname, struct dom_sid *sid, gid_t gid);
+NTSTATUS idmap_sid_to_uid(const char *dom_name, struct dom_sid *sid, uid_t *uid);
+NTSTATUS idmap_sid_to_gid(const char *domname, struct dom_sid *sid, gid_t *gid);
+bool idmap_unix_id_is_in_range(uint32_t id, struct idmap_domain *dom);
diff --git a/source3/winbindd/idmap_rid.c b/source3/winbindd/idmap_rid.c
index 6e948025d2..982c4fde69 100644
--- a/source3/winbindd/idmap_rid.c
+++ b/source3/winbindd/idmap_rid.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "winbindd.h"
+#include "idmap.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
diff --git a/source3/winbindd/idmap_tdb.c b/source3/winbindd/idmap_tdb.c
index d00ffbe901..d04541fc24 100644
--- a/source3/winbindd/idmap_tdb.c
+++ b/source3/winbindd/idmap_tdb.c
@@ -25,6 +25,7 @@
#include "includes.h"
#include "winbindd.h"
+#include "idmap.h"
#include "idmap_rw.h"
#undef DBGC_CLASS
diff --git a/source3/winbindd/idmap_tdb2.c b/source3/winbindd/idmap_tdb2.c
index d30b105ba0..77ebbebc66 100644
--- a/source3/winbindd/idmap_tdb2.c
+++ b/source3/winbindd/idmap_tdb2.c
@@ -33,6 +33,7 @@
#include "includes.h"
#include "winbindd.h"
+#include "idmap.h"
#include "idmap_rw.h"
#undef DBGC_CLASS
diff --git a/source3/winbindd/idmap_util.c b/source3/winbindd/idmap_util.c
index 3afe9f8607..d743f8ce23 100644
--- a/source3/winbindd/idmap_util.c
+++ b/source3/winbindd/idmap_util.c
@@ -20,6 +20,8 @@
#include "includes.h"
#include "winbindd.h"
#include "winbindd_proto.h"
+#include "idmap.h"
+#include "idmap_cache.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
diff --git a/source3/winbindd/wb_gid2sid.c b/source3/winbindd/wb_gid2sid.c
index 0937590a52..d4416f1a76 100644
--- a/source3/winbindd/wb_gid2sid.c
+++ b/source3/winbindd/wb_gid2sid.c
@@ -20,6 +20,8 @@
#include "includes.h"
#include "winbindd.h"
#include "librpc/gen_ndr/cli_wbint.h"
+#include "idmap_cache.h"
+#include "idmap.h"
struct wb_gid2sid_state {
struct tevent_context *ev;
diff --git a/source3/winbindd/wb_sid2gid.c b/source3/winbindd/wb_sid2gid.c
index 4d76d69297..15cf394e2f 100644
--- a/source3/winbindd/wb_sid2gid.c
+++ b/source3/winbindd/wb_sid2gid.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "winbindd.h"
#include "librpc/gen_ndr/cli_wbint.h"
+#include "idmap_cache.h"
struct wb_sid2gid_state {
struct tevent_context *ev;
diff --git a/source3/winbindd/wb_sid2uid.c b/source3/winbindd/wb_sid2uid.c
index 86bf5d4641..51c70c5715 100644
--- a/source3/winbindd/wb_sid2uid.c
+++ b/source3/winbindd/wb_sid2uid.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "winbindd.h"
#include "librpc/gen_ndr/cli_wbint.h"
+#include "idmap_cache.h"
struct wb_sid2uid_state {
struct tevent_context *ev;
diff --git a/source3/winbindd/wb_uid2sid.c b/source3/winbindd/wb_uid2sid.c
index 9e86fd5a01..857066844c 100644
--- a/source3/winbindd/wb_uid2sid.c
+++ b/source3/winbindd/wb_uid2sid.c
@@ -20,6 +20,8 @@
#include "includes.h"
#include "winbindd.h"
#include "librpc/gen_ndr/cli_wbint.h"
+#include "idmap_cache.h"
+#include "idmap.h"
struct wb_uid2sid_state {
struct tevent_context *ev;
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 966ebadaea..4163230a95 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -31,6 +31,7 @@
#include "../librpc/gen_ndr/srv_lsa.h"
#include "../librpc/gen_ndr/srv_samr.h"
#include "secrets.h"
+#include "idmap.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c
index 706b691da8..4c6fb97e70 100644
--- a/source3/winbindd/winbindd_dual_srv.c
+++ b/source3/winbindd/winbindd_dual_srv.c
@@ -25,6 +25,7 @@
#include "winbindd/winbindd_proto.h"
#include "librpc/gen_ndr/srv_wbint.h"
#include "../librpc/gen_ndr/cli_netlogon.h"
+#include "idmap.h"
void _wbint_Ping(struct pipes_struct *p, struct wbint_Ping *r)
{