typedef [v1_enum] enum {
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;
struct winbind_auth_compat_auth_plain_req {
DATA_BLOB nt_response;
};
+ struct winbind_auth_compat_logoff_req {
+ uint32 flags;
+ [string,charset(UTF8)] uint8 account_name[];
+ [string,charset(UTF8)] uint8 *domain_name;
+ [string,charset(UTF8)] uint8 *krb5_cc_name;
+ hyper *uid;
+ };
+
typedef [switch_type(winbind_auth_level)] union {
[case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN)]
struct winbind_auth_compat_auth_plain_req compat_auth_plain;
[case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE)]
struct winbind_auth_compat_auth_response_req compat_auth_response;
+ [case(WINBIND_AUTH_LEVEL_COMPAT_LOGOFF)]
+ struct winbind_auth_compat_logoff_req compat_logoff;
[default];
} winbind_auth_req;
struct winbind_auth_compat_auth_rep compat_auth;
[case(WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE)]
struct winbind_auth_compat_auth_rep compat_auth;
+ [case(WINBIND_AUTH_LEVEL_COMPAT_LOGOFF)];
[default];
} winbind_auth_rep;
);
winbind_status winbind_pam_chauthtok(/*TODO*/);
- winbind_status winbind_pam_logoff(/*TODO*/);
winbind_status winbind_pam_chng_paswd_auth_crap(/*TODO*/);
/*