diff options
author | Günther Deschner <gd@samba.org> | 2010-08-18 18:13:42 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2010-08-26 00:20:29 +0200 |
commit | 2b41f421fd14cb2190b43dbf079c734e7024335c (patch) | |
tree | 7def17821ed402c12e059f96780e835a08c88f87 | |
parent | 3ef531ec34dc709479005b00f50d1daf8e65269a (diff) | |
download | samba-2b41f421fd14cb2190b43dbf079c734e7024335c.tar.gz samba-2b41f421fd14cb2190b43dbf079c734e7024335c.tar.xz samba-2b41f421fd14cb2190b43dbf079c734e7024335c.zip |
s3-idmap: only include idmap headers where needed.
Guenther
33 files changed, 80 insertions, 51 deletions
diff --git a/source3/include/idmap.h b/source3/include/idmap.h index aab41cd7d33..8a1da81e397 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 d409a354a12..e65ea437ed6 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 7728af3ff5e..87b2e275ad3 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 05a02637bdd..74f1eb535ad 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 6377635a656..bf72d91efed 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 00000000000..f511780672c --- /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 a93145330b2..0e2385f43fd 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 ef695f1c1a2..e3dedcd06ed 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 cd3a68db3cf..8bcb79fabf0 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 2a4e2a5a435..102f4ebb7fc 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 a690fb2b366..3d47baadc9f 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 c32bb9179d5..c82407c0f48 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 72643e97da4..c3731064469 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 339234dfaff..56bd9542f66 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 5e55df357e6..0902d554702 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 3e529b427a4..00ccc597bb0 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 999615ca3c2..191f77159ce 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 ed55cd5dd49..f6c86524635 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 5ab1142ffe0..199dded87f2 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 51915002b52..39df489be7b 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 40adef29b85..ac5dd797fac 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 4dcf74416c9..ece1b42122c 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 00000000000..42900a6690e --- /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 6e948025d28..982c4fde69c 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 d00ffbe9011..d04541fc248 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 d30b105ba01..77ebbebc662 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 3afe9f8607b..d743f8ce23f 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 0937590a528..d4416f1a76d 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 4d76d692979..15cf394e2f7 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 86bf5d46418..51c70c57154 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 9e86fd5a014..857066844c1 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 966ebadaea0..4163230a95d 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 706b691da8b..4c6fb97e709 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) { |