namespace Renci.SshNet.Messages.Authentication
{
///
/// Represents SSH_MSG_USERAUTH_PASSWD_CHANGEREQ message.
///
[Message("SSH_MSG_USERAUTH_PASSWD_CHANGEREQ", 60)]
internal class PasswordChangeRequiredMessage : Message
{
///
/// Gets password change request message as UTF-8 encoded byte array.
///
public byte[] Message { get; private set; }
///
/// Gets message language as UTF-8 encoded byte array.
///
public byte[] Language { get; private set; }
///
/// Gets the size of the message in bytes.
///
///
/// The size of the messages in bytes.
///
protected override int BufferCapacity
{
get
{
var capacity = base.BufferCapacity;
capacity += 4; // Message length
capacity += Message.Length; // Message
capacity += 4; // Language length
capacity += Language.Length; // Language
return capacity;
}
}
///
/// Called when type specific data need to be loaded.
///
protected override void LoadData()
{
Message = ReadBinary();
Language = ReadBinary();
}
///
/// Called when type specific data need to be saved.
///
protected override void SaveData()
{
WriteBinaryString(Message);
WriteBinaryString(Language);
}
internal override void Process(Session session)
{
session.OnUserAuthenticationPasswordChangeRequiredReceived(this);
}
}
}