diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-08-16 16:52:57 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:58:00 -0500 |
commit | d3e7a22630aa931d55ed44a695a0b05344bc6098 (patch) | |
tree | ab98da2aed7da44ad0a73f26b0f8d73c5081ee34 /source4/libnet/libnet.h | |
parent | 644200235a7c8dc7259e13c536f75735674f80de (diff) | |
download | samba-d3e7a22630aa931d55ed44a695a0b05344bc6098.tar.gz samba-d3e7a22630aa931d55ed44a695a0b05344bc6098.tar.bz2 samba-d3e7a22630aa931d55ed44a695a0b05344bc6098.zip |
r1836: - as abartlet said to me, we need to contact the users domain pdcfor doing a
password change
- add start of libnet_SetPassword
- use KRB5 and LDAP instead of ADS as ADS isn't a protocol
- add start of lib_rpc_connect()
metze
(This used to be commit 05c40dca8ad1ab020aa75282da046f1dbce2a52a)
Diffstat (limited to 'source4/libnet/libnet.h')
-rw-r--r-- | source4/libnet/libnet.h | 90 |
1 files changed, 87 insertions, 3 deletions
diff --git a/source4/libnet/libnet.h b/source4/libnet/libnet.h index f1ea6f4b02..65dba4ff78 100644 --- a/source4/libnet/libnet.h +++ b/source4/libnet/libnet.h @@ -20,14 +20,43 @@ struct libnet_context { TALLOC_CTX *mem_ctx; + + /* here we need: + * a client env context + * a user env context + */ +}; + +/* struct and enum for connecting to a dcerpc inferface */ +enum libnet_rpc_connect_level { + LIBNET_RPC_CONNECT_PDC +}; + +union libnet_rpc_connect { + /* connect to a domains PDC */ + struct { + enum libnet_rpc_connect_level level; + + struct { + const char *domain_name; + const char *dcerpc_iface_name; + const char *dcerpc_iface_uuid; + uint32 dcerpc_iface_version; + } in; + + struct { + struct dcerpc_pipe *dcerpc_pipe; + } out; + } pdc; }; -/* struct for doing a remote password change */ +/* struct and enum for doing a remote password change */ enum libnet_ChangePassword_level { LIBNET_CHANGE_PASSWORD_GENERIC, LIBNET_CHANGE_PASSWORD_RPC, - LIBNET_CHANGE_PASSWORD_ADS, + LIBNET_CHANGE_PASSWORD_KRB5, + LIBNET_CHANGE_PASSWORD_LDAP, LIBNET_CHANGE_PASSWORD_RAP }; @@ -57,11 +86,66 @@ union libnet_ChangePassword { enum libnet_ChangePassword_level level; struct _libnet_ChangePassword_in in; struct _libnet_ChangePassword_out out; - } ads; + } krb5; struct { enum libnet_ChangePassword_level level; struct _libnet_ChangePassword_in in; struct _libnet_ChangePassword_out out; + } ldap; + + struct { + enum libnet_ChangePassword_level level; + struct _libnet_ChangePassword_in in; + struct _libnet_ChangePassword_out out; + } rap; +}; + +/* struct and enum for doing a remote password set */ +enum libnet_SetPassword_level { + LIBNET_SET_PASSWORD_GENERIC, + LIBNET_SET_PASSWORD_RPC, + LIBNET_SET_PASSWORD_KRB5, + LIBNET_SET_PASSWORD_LDAP, + LIBNET_SET_PASSWORD_RAP +}; + +union libnet_SetPassword { + struct { + enum libnet_SetPassword_level level; + + struct _libnet_SetPassword_in { + const char *account_name; + const char *domain_name; + const char *newpassword; + } in; + + struct _libnet_SetPassword_out { + const char *error_string; + } out; + } generic; + + struct { + enum libnet_SetPassword_level level; + struct _libnet_SetPassword_in in; + struct _libnet_SetPassword_out out; + } rpc; + + struct { + enum libnet_SetPassword_level level; + struct _libnet_SetPassword_in in; + struct _libnet_SetPassword_out out; + } krb5; + + struct { + enum libnet_SetPassword_level level; + struct _libnet_SetPassword_in in; + struct _libnet_SetPassword_out out; + } ldap; + + struct { + enum libnet_ChangePassword_level level; + struct _libnet_SetPassword_in in; + struct _libnet_SetPassword_out out; } rap; }; |