s4-lsasrv: make sure only admins can alter privileges
[ira/wip.git] / source4 / libnet / libnet.h
index 293e4e6505a748742a177c46b75e73bc6de6efec..9964a3f526dd2a6ff6020054e610271016c1ccc7 100644 (file)
@@ -6,7 +6,7 @@
    
    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 2 of the License, or
+   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,
    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, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#include "librpc/gen_ndr/misc.h"
+
 struct libnet_context {
        /* here we need:
         * a client env context
@@ -26,24 +27,31 @@ struct libnet_context {
         */
        struct cli_credentials *cred;
 
-       /* pipes */
-       struct dcerpc_pipe *pipe;
-       struct dcerpc_pipe *lsa_pipe;
-       struct dcerpc_pipe *samr_pipe;
-
-       /* opened handles and related properties */
+       /* samr connection parameters - opened handles and related properties */
        struct {
+               struct dcerpc_pipe *pipe;
                const char *name;
+               struct dom_sid *sid;
                uint32_t access_mask;
                struct policy_handle handle;
-       } domain;
+               struct policy_handle connect_handle;
+               int buf_size;
+       } samr;
 
-       struct policy_handle user_handle;
+       /* lsa connection parameters - opened handles and related properties */
+       struct {
+               struct dcerpc_pipe *pipe;
+               const char *name;
+               uint32_t access_mask;
+               struct policy_handle handle;
+       } lsa;
 
        /* name resolution methods */
-       const char **name_res_methods;
+       struct resolve_context *resolve_ctx;
+
+       struct tevent_context *event_ctx;
 
-       struct event_context *event_ctx;
+       struct loadparm_context *lp_ctx;
 };
 
 
@@ -51,14 +59,21 @@ struct libnet_context {
 #include "libnet/composite.h"
 #include "libnet/userman.h"
 #include "libnet/userinfo.h"
+#include "libnet/groupinfo.h"
+#include "libnet/groupman.h"
 #include "libnet/libnet_passwd.h"
 #include "libnet/libnet_time.h"
 #include "libnet/libnet_rpc.h"
 #include "libnet/libnet_join.h"
 #include "libnet/libnet_site.h"
+#include "libnet/libnet_become_dc.h"
+#include "libnet/libnet_unbecome_dc.h"
+#include "libnet/libnet_samsync.h"
 #include "libnet/libnet_vampire.h"
 #include "libnet/libnet_user.h"
+#include "libnet/libnet_group.h"
 #include "libnet/libnet_share.h"
 #include "libnet/libnet_lookup.h"
 #include "libnet/libnet_domain.h"
+#include "libnet/libnet_export_keytab.h"
 #include "libnet/libnet_proto.h"