/*
Unix SMB/CIFS implementation.
- Copyright (C) Stefan Metzmacher 2004
+ Copyright (C) Stefan Metzmacher 2004
+ Copyright (C) Rafal Szczesniak 2005-2006
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/>.
*/
-struct libnet_context {
- TALLOC_CTX *mem_ctx;
-};
-
-/* struct for doing a remote password change */
+#include "librpc/gen_ndr/misc.h"
-enum libnet_ChangePassword_level {
- LIBNET_CHANGE_PASSWORD_GENERIC,
- LIBNET_CHANGE_PASSWORD_RPC,
- LIBNET_CHANGE_PASSWORD_ADS,
- LIBNET_CHANGE_PASSWORD_RAP
-};
+struct libnet_context {
+ /* here we need:
+ * a client env context
+ * a user env context
+ */
+ struct cli_credentials *cred;
-union libnet_ChangePassword {
+ /* samr connection parameters - opened handles and related properties */
struct {
- enum libnet_ChangePassword_level level;
-
- struct _libnet_ChangePassword_in {
- const char *account_name;
- const char *domain_name;
- const char *oldpassword;
- const char *newpassword;
- } in;
-
- struct _libnet_ChangePassword_out {
- const char *error_string;
- } out;
- } generic;
+ struct dcerpc_pipe *pipe;
+ char *name;
+ struct dom_sid *sid;
+ uint32_t access_mask;
+ struct policy_handle handle;
+ struct policy_handle connect_handle;
+ int buf_size;
+ } samr;
+ /* lsa connection parameters - opened handles and related properties */
struct {
- enum libnet_ChangePassword_level level;
- struct _libnet_ChangePassword_in in;
- struct _libnet_ChangePassword_out out;
- } rpc;
+ struct dcerpc_pipe *pipe;
+ char *name;
+ uint32_t access_mask;
+ struct policy_handle handle;
+ } lsa;
- struct {
- enum libnet_ChangePassword_level level;
- struct _libnet_ChangePassword_in in;
- struct _libnet_ChangePassword_out out;
- } ads;
+ /* name resolution methods */
+ const char **name_res_methods;
- struct {
- enum libnet_ChangePassword_level level;
- struct _libnet_ChangePassword_in in;
- struct _libnet_ChangePassword_out out;
- } rap;
+ struct event_context *event_ctx;
};
+
+
+#include "lib/ldb/include/ldb.h"
+#include "libnet/composite.h"
+#include "libnet/userman.h"
+#include "libnet/userinfo.h"
+#include "libnet/groupinfo.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_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_proto.h"