#ifndef USE_UINT_ENUMS
{
WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN=1,
- WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE=2
+ WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE=2,
+ WINBIND_AUTH_LEVEL_COMPAT_LOGOFF=3,
+ WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN=4,
+ WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_CRYPT=5,
+ WINBIND_AUTH_LEVEL_CCACHE_NTLM_AUTH=6
}
#else
{ __donnot_use_enum_winbind_auth_level=0x7FFFFFFF}
#define WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN ( 1 )
#define WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE ( 2 )
+#define WINBIND_AUTH_LEVEL_COMPAT_LOGOFF ( 3 )
+#define WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN ( 4 )
+#define WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_CRYPT ( 5 )
+#define WINBIND_AUTH_LEVEL_CCACHE_NTLM_AUTH ( 6 )
#endif
;
DATA_BLOB nt_response;
};
+struct winbind_auth_compat_logoff_req {
+ uint32_t flags;
+ const char *account_name;/* [charset(UTF8)] */
+ const char *domain_name;/* [unique,charset(UTF8)] */
+ const char *krb5_cc_name;/* [unique,charset(UTF8)] */
+ uint64_t *uid;/* [unique] */
+};
+
+struct winbind_auth_change_password_plain_req {
+ const char *account_name;/* [charset(UTF8)] */
+ const char *domain_name;/* [unique,charset(UTF8)] */
+ const char *old_password;/* [charset(UTF8)] */
+ const char *new_password;/* [charset(UTF8)] */
+};
+
+struct winbind_auth_change_password_crypt_req {
+ const char *account_name;/* [charset(UTF8)] */
+ const char *domain_name;/* [unique,charset(UTF8)] */
+ struct samr_CryptPassword nt_password;
+ struct samr_Password nt_verifier;
+ struct samr_CryptPassword *lm_password;/* [unique] */
+ struct samr_Password *lm_verifier;/* [unique] */
+};
+
+struct winbind_auth_ccache_ntlm_auth_req {
+ const char *account_name;/* [charset(UTF8)] */
+ const char *domain_name;/* [unique,charset(UTF8)] */
+ uint64_t uid;
+ DATA_BLOB initial_blob;
+ DATA_BLOB challenge_blob;
+};
+
union winbind_auth_req {
struct winbind_auth_compat_auth_plain_req compat_auth_plain;/* [case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN)] */
struct winbind_auth_compat_auth_response_req compat_auth_response;/* [case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE)] */
+ struct winbind_auth_compat_logoff_req compat_logoff;/* [case(WINBIND_AUTH_LEVEL_COMPAT_LOGOFF)] */
+ struct winbind_auth_change_password_plain_req change_password_plain;/* [case(WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN)] */
+ struct winbind_auth_change_password_crypt_req change_password_crypt;/* [case(WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_CRYPT)] */
+ struct winbind_auth_ccache_ntlm_auth_req ccache_ntlm_auth;/* [case(WINBIND_AUTH_LEVEL_CCACHE_NTLM_AUTH)] */
}/* [switch_type(winbind_auth_level)] */;
union winbind_auth_rep {
struct winbind_auth_compat_auth_rep compat_auth;/* [case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN)] */
+ DATA_BLOB ccache_ntlm_auth;/* [case(WINBIND_AUTH_LEVEL_CCACHE_NTLM_AUTH)] */
}/* [switch_type(winbind_auth_level)] */;
enum winbind_trust_level
};
-struct winbind_pam_chauthtok {
- struct {
- enum winbind_status result;
- } out;
-
-};
-
-
-struct winbind_pam_logoff {
- struct {
- enum winbind_status result;
- } out;
-
-};
-
-
-struct winbind_pam_chng_paswd_auth_crap {
- struct {
- enum winbind_status result;
- } out;
-
-};
-
-
struct winbind_list_users {
struct {
enum winbind_status result;
};
-
-struct winbind_dual_userinfo {
- struct {
- enum winbind_status result;
- } out;
-
-};
-
-
-struct winbind_dual_getsidaliases {
- struct {
- enum winbind_status result;
- } out;
-
-};
-
-
-struct winbind_ccache_ntlmauth {
- struct {
- enum winbind_status result;
- } out;
-
-};
-
#endif /* _HEADER_winbind_protocol */