s4-libcli/security Use seperate subsystem for session related functions
authorAndrew Bartlett <abartlet@samba.org>
Mon, 20 Sep 2010 04:49:39 +0000 (14:49 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 12 Oct 2010 02:54:16 +0000 (02:54 +0000)
The merged I plan in this area require spliting security.h into
two header files, a common header and a session.h for the
remaining source4-specific code.

Andrew Bartlett

16 files changed:
source4/dsdb/samdb/ldb_modules/repl_meta_data.c
source4/dsdb/samdb/ldb_modules/rootdse.c
source4/dsdb/samdb/ldb_modules/util.c
source4/dsdb/samdb/ldb_modules/wscript_build
source4/libcli/security/security.h
source4/libcli/security/session.c
source4/libcli/security/session.h [new file with mode: 0644]
source4/libcli/security/wscript_build
source4/rpc_server/drsuapi/addentry.c
source4/rpc_server/drsuapi/dcesrv_drsuapi.c
source4/rpc_server/drsuapi/drsutil.c
source4/rpc_server/drsuapi/getncchanges.c
source4/rpc_server/drsuapi/updaterefs.c
source4/rpc_server/lsa/dcesrv_lsa.c
source4/rpc_server/winreg/rpc_winreg.c
source4/rpc_server/wscript_build

index fdb194104fc434f6e53e13406163d229945eb51c..3361a1c0301cf797b91861dea045760fe01eee92 100644 (file)
@@ -49,6 +49,7 @@
 #include "dsdb/samdb/ldb_modules/util.h"
 #include "lib/util/binsearch.h"
 #include "libcli/security/security.h"
+#include "libcli/security/session.h"
 #include "lib/util/tsort.h"
 
 struct replmd_private {
index 6c2a1e630d6e695d523080ffd41c131de024c3f6..7334bf3bc506c3360b6e1e7ca8b71d5827e92e00 100644 (file)
@@ -28,6 +28,7 @@
 #include "version.h"
 #include "dsdb/samdb/ldb_modules/util.h"
 #include "libcli/security/security.h"
+#include "libcli/security/session.h"
 #include "librpc/ndr/libndr.h"
 #include "auth/auth.h"
 #include "param/param.h"
index d7bf807c24e65188188e02314c0ee1c0ab36c868..2380e02ac21fddd075bf282084ff38bb3714fc6c 100644 (file)
@@ -28,6 +28,7 @@
 #include "util.h"
 #include "libcli/security/security.h"
 #include "lib/ldb/include/ldb_private.h"
+#include "libcli/security/session.h"
 
 /*
   search for attrs on one DN, in the modules below
index 95c327364c78046de4dc62408d82c4c257abd18d..dc143f5a4c3819b5af3f6f4c83895bed0b83513e 100644 (file)
@@ -3,7 +3,7 @@
 bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPERS',
        source='util.c acl_util.c',
        autoproto='util_proto.h',
-       deps='ldb LIBNDR SAMDB_COMMON'
+       deps='ldb LIBNDR SAMDB_COMMON LIBSECURITY_SESSION'
        )
 
 bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPER_RIDALLOC',
@@ -50,7 +50,7 @@ bld.SAMBA_MODULE('ldb_repl_meta_data',
        subsystem='ldb',
        init_function='LDB_MODULE(repl_meta_data)',
        internal_module=False,
-       deps='SAMDB talloc LIBEVENTS LIBNDR NDR_DRSUAPI NDR_DRSBLOBS LIBNDR DSDB_MODULE_HELPERS'
+       deps='SAMDB talloc LIBEVENTS LIBNDR NDR_DRSUAPI NDR_DRSBLOBS LIBNDR DSDB_MODULE_HELPERS LIBSECURITY_SESSION'
        )
 
 
@@ -141,7 +141,7 @@ bld.SAMBA_MODULE('ldb_rootdse',
        subsystem='ldb',
        init_function='LDB_MODULE(rootdse)',
        internal_module=False,
-       deps='talloc LIBEVENTS SAMDB MESSAGING'
+       deps='talloc LIBEVENTS SAMDB MESSAGING LIBSECURITY_SESSION'
        )
 
 
index 12c95f1d83df79f52effa072626b2f6d895d26cc..009ad64959da8fb55340ddf10adef0bb1089edff 100644 (file)
 #define PRIMARY_USER_SID_INDEX 0
 #define PRIMARY_GROUP_SID_INDEX 1
 
-enum security_user_level {
-       SECURITY_ANONYMOUS            = 0,
-       SECURITY_USER                 = 10,
-       SECURITY_RO_DOMAIN_CONTROLLER = 20,
-       SECURITY_DOMAIN_CONTROLLER    = 30,
-       SECURITY_ADMINISTRATOR        = 40,
-       SECURITY_SYSTEM               = 50
-};
-
-struct auth_session_info;
-
 struct object_tree {
        uint32_t remaining_access;
        struct GUID guid;
index cd09b6d403a7f8f7861d2d836aff77052b9c2176..401e11c489f535c886073c918d9a9affb3342e61 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "includes.h"
 #include "auth/session.h"
+#include "libcli/security/session.h"
 #include "libcli/security/security.h"
 
 enum security_user_level security_session_user_level(struct auth_session_info *session_info,
diff --git a/source4/libcli/security/session.h b/source4/libcli/security/session.h
new file mode 100644 (file)
index 0000000..851a37d
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+   Unix SMB/CIFS implementation.
+
+   session_info utility functions
+
+   Copyright (C) Andrew Bartlett 2008-2010
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "libcli/security/session_proto.h"
+
+enum security_user_level {
+       SECURITY_ANONYMOUS            = 0,
+       SECURITY_USER                 = 10,
+       SECURITY_RO_DOMAIN_CONTROLLER = 20,
+       SECURITY_DOMAIN_CONTROLLER    = 30,
+       SECURITY_ADMINISTRATOR        = 40,
+       SECURITY_SYSTEM               = 50
+};
+
+struct auth_session_info;
index 4187bcbebe02b5a3a5202d115d5c672f1328c556..02d79428d09ef282c46f974f25f606f8d15c7d63 100644 (file)
@@ -1,7 +1,13 @@
 #!/usr/bin/env python
 
+bld.SAMBA_SUBSYSTEM('LIBSECURITY_SESSION',
+       source='session.c',
+       autoproto='session_proto.h',
+       public_deps='LIBSECURITY_COMMON'
+       )
+
 bld.SAMBA_SUBSYSTEM('LIBSECURITY',
-       source='access_check.c create_descriptor.c object_tree.c session.c',
+       source='access_check.c create_descriptor.c object_tree.c',
        autoproto='proto.h',
        public_deps='LIBNDR LIBSECURITY_COMMON'
        )
index bb254cb3ee4106f9e94e559b1dde48a39b858b46..c4f33d7d4f8798aa4428bba8bb240a038cc99da9 100644 (file)
@@ -28,6 +28,7 @@
 #include "rpc_server/drsuapi/dcesrv_drsuapi.h"
 #include "librpc/gen_ndr/ndr_drsuapi.h"
 #include "libcli/security/security.h"
+#include "libcli/security/session.h"
 
 /*
   add special SPNs needed for DRS replication to machine accounts when
index 7b48521a6d425c154f5add5fadef6fd49657ead7..c6faf75ad55c267765c4dde2d85a79f1679a7486 100644 (file)
@@ -27,6 +27,7 @@
 #include "dsdb/samdb/samdb.h"
 #include "rpc_server/drsuapi/dcesrv_drsuapi.h"
 #include "libcli/security/security.h"
+#include "libcli/security/session.h"
 #include "auth/auth.h"
 #include "param/param.h"
 #include "lib/messaging/irpc.h"
index 0a4bd1ffcc01a79dbcf4ecf2b392fca9c3eddb21..41f300bbed38e74cd7d8b813c0db627a3b2ed1ab 100644 (file)
@@ -23,6 +23,7 @@
 #include "rpc_server/dcerpc_server.h"
 #include "dsdb/samdb/samdb.h"
 #include "libcli/security/security.h"
+#include "libcli/security/session.h"
 #include "param/param.h"
 #include "auth/session.h"
 
index 453247279ad76d24ae0135e56dcf0067f70dd3dd..0f6c08d6e28b598d3876e8d0e4d4f73740b41ec1 100644 (file)
@@ -31,6 +31,7 @@
 #include "rpc_server/dcerpc_server_proto.h"
 #include "../libcli/drsuapi/drsuapi.h"
 #include "libcli/security/security.h"
+#include "libcli/security/session.h"
 #include "lib/util/binsearch.h"
 #include "lib/util/tsort.h"
 #include "auth/session.h"
index a089586d24f20866941aeef83497372c6ab01559..649980763ea3427104348fa5764006b19cf8285e 100644 (file)
@@ -23,6 +23,7 @@
 #include "rpc_server/dcerpc_server.h"
 #include "dsdb/samdb/samdb.h"
 #include "rpc_server/drsuapi/dcesrv_drsuapi.h"
+#include "libcli/security/session.h"
 #include "libcli/security/security.h"
 #include "auth/session.h"
 #include "librpc/gen_ndr/ndr_drsuapi.h"
index 8a50588f58d0ee34e6a47b136be2a47d9cf9a10c..2e4373471c9deb37c78b732341761d870e8a78da 100644 (file)
@@ -30,6 +30,7 @@
 #include "../lib/crypto/crypto.h"
 #include "lib/util/tsort.h"
 #include "dsdb/common/util.h"
+#include "libcli/security/session.h"
 
 /*
   this type allows us to distinguish handle types
index a39a7d14831223e5d54fbc04983852daddf55a67..6007686a5618959d08c245796839d7918d76881b 100644 (file)
@@ -25,7 +25,7 @@
 #include "lib/registry/registry.h"
 #include "librpc/gen_ndr/ndr_winreg.h"
 #include "librpc/gen_ndr/ndr_security.h"
-#include "libcli/security/security.h"
+#include "libcli/security/session.h"
 
 enum handle_types { HTYPE_REGVAL, HTYPE_REGKEY };
 
index 0d630a302a426ffee8b959ce50a02a8df39cc042..a041003f5e3d410ded7407b9ba3350ce06c7fc38 100644 (file)
@@ -71,7 +71,7 @@ bld.SAMBA_MODULE('dcerpc_winreg',
        source='winreg/rpc_winreg.c',
        subsystem='dcerpc_server',
        init_function='dcerpc_server_winreg_init',
-       deps='registry NDR_STANDARD',
+       deps='registry NDR_STANDARD LIBSECURITY_SESSION',
        internal_module=True
        )
 
@@ -89,7 +89,7 @@ bld.SAMBA_MODULE('dcerpc_lsarpc',
        autoproto='lsa/proto.h',
        subsystem='dcerpc_server',
        init_function='dcerpc_server_lsa_init',
-       deps='SAMDB DCERPC_COMMON NDR_STANDARD LIBCLI_AUTH NDR_DSSETUP com_err'
+       deps='SAMDB DCERPC_COMMON NDR_STANDARD LIBCLI_AUTH NDR_DSSETUP com_err LIBSECURITY_SESSION'
        )
 
 
@@ -106,7 +106,7 @@ bld.SAMBA_MODULE('dcerpc_drsuapi',
        source='drsuapi/dcesrv_drsuapi.c drsuapi/updaterefs.c drsuapi/getncchanges.c drsuapi/addentry.c drsuapi/writespn.c drsuapi/drsutil.c',
        subsystem='dcerpc_server',
        init_function='dcerpc_server_drsuapi_init',
-       deps='SAMDB DCERPC_COMMON NDR_DRSUAPI'
+       deps='SAMDB DCERPC_COMMON NDR_DRSUAPI LIBSECURITY_SESSION'
        )