summaryrefslogtreecommitdiff
path: root/source4/libnet/libnet.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-08-16 16:52:57 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:58:00 -0500
commitd3e7a22630aa931d55ed44a695a0b05344bc6098 (patch)
treeab98da2aed7da44ad0a73f26b0f8d73c5081ee34 /source4/libnet/libnet.h
parent644200235a7c8dc7259e13c536f75735674f80de (diff)
downloadsamba-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.h90
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;
};