2 Unix SMB/CIFS implementation.
4 Copyright (C) Stefan Metzmacher 2004
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 /* struct and enum for doing a remote password change */
21 enum libnet_ChangePassword_level
{
22 LIBNET_CHANGE_PASSWORD_GENERIC
,
23 LIBNET_CHANGE_PASSWORD_SAMR
,
24 LIBNET_CHANGE_PASSWORD_KRB5
,
25 LIBNET_CHANGE_PASSWORD_LDAP
,
26 LIBNET_CHANGE_PASSWORD_RAP
29 union libnet_ChangePassword
{
31 enum libnet_ChangePassword_level level
;
33 struct _libnet_ChangePassword_in
{
34 const char *account_name
;
35 const char *domain_name
;
36 const char *oldpassword
;
37 const char *newpassword
;
40 struct _libnet_ChangePassword_out
{
41 const char *error_string
;
46 enum libnet_ChangePassword_level level
;
47 struct _libnet_ChangePassword_in in
;
48 struct _libnet_ChangePassword_out out
;
52 enum libnet_ChangePassword_level level
;
53 struct _libnet_ChangePassword_in in
;
54 struct _libnet_ChangePassword_out out
;
58 enum libnet_ChangePassword_level level
;
59 struct _libnet_ChangePassword_in in
;
60 struct _libnet_ChangePassword_out out
;
64 enum libnet_ChangePassword_level level
;
65 struct _libnet_ChangePassword_in in
;
66 struct _libnet_ChangePassword_out out
;
70 /* struct and enum for doing a remote password set */
71 enum libnet_SetPassword_level
{
72 LIBNET_SET_PASSWORD_GENERIC
,
73 LIBNET_SET_PASSWORD_SAMR
,
74 LIBNET_SET_PASSWORD_SAMR_HANDLE
,
75 LIBNET_SET_PASSWORD_SAMR_HANDLE_26
,
76 LIBNET_SET_PASSWORD_SAMR_HANDLE_25
,
77 LIBNET_SET_PASSWORD_SAMR_HANDLE_24
,
78 LIBNET_SET_PASSWORD_SAMR_HANDLE_23
,
79 LIBNET_SET_PASSWORD_KRB5
,
80 LIBNET_SET_PASSWORD_LDAP
,
81 LIBNET_SET_PASSWORD_RAP
84 union libnet_SetPassword
{
86 enum libnet_SetPassword_level level
;
88 struct _libnet_SetPassword_in
{
89 const char *account_name
;
90 const char *domain_name
;
91 const char *newpassword
;
94 struct _libnet_SetPassword_out
{
95 const char *error_string
;
100 enum libnet_SetPassword_level level
;
101 struct _libnet_SetPassword_samr_handle_in
{
102 const char *account_name
; /* for debug only */
103 struct policy_handle
*user_handle
;
104 struct dcerpc_pipe
*dcerpc_pipe
;
105 const char *newpassword
;
106 struct samr_UserInfo21
*info21
; /* can be NULL,
107 * for level 26,24 it must be NULL
108 * for level 25,23 it must be non-NULL
111 struct _libnet_SetPassword_out out
;
115 enum libnet_SetPassword_level level
;
116 struct _libnet_SetPassword_in in
;
117 struct _libnet_SetPassword_out out
;
121 enum libnet_SetPassword_level level
;
122 struct _libnet_SetPassword_in in
;
123 struct _libnet_SetPassword_out out
;
127 enum libnet_SetPassword_level level
;
128 struct _libnet_SetPassword_in in
;
129 struct _libnet_SetPassword_out out
;
133 enum libnet_ChangePassword_level level
;
134 struct _libnet_SetPassword_in in
;
135 struct _libnet_SetPassword_out out
;